Skip to content

Instantly share code, notes, and snippets.

View joswr1ght's full-sized avatar

Joshua Wright joswr1ght

View GitHub Profile
@joswr1ght
joswr1ght / test_badattributes.py
Created March 18, 2022 13:53
Test one or more Asciidoc .adoc files for missing document attribute definitions
#!/usr/bin/env python3
# Using one or more adoc files, build a list of all document attributes,
# then search for typo'd or undefined references to the attributes.
#
# 2022-03-18
# Copyright (c) 2022 Joshua Wright <[email protected]>
# LICENSE: GPL 3.0
import sys
import os
@joswr1ght
joswr1ght / extract-nessus-report-data.py
Created April 14, 2022 21:32
Read Nessus CSV report, extract records of interest
#!/usr/bin/env python3
import csv
import sys
import os
if (len(sys.argv) == 1):
sys.stderr.write(
f"Usage: {os.path.basename(sys.argv[0])} <nessus-csv-file>\n")
sys.exit(1)
#!/usr/bin/env python3
# MLA Style: Capitalization
#
# ref: https://libguides.pvcc.edu/citationstyles/mla9-capitalization
#
# In a title or a subtitle, capitalize the first word, the last word, and all
# principal words, including those that follow hyphens in compound terms.
# Therefore, capitalize the following parts of speech:
#
# Nouns (e.g., flowers, as in The Flowers of Europe)
@joswr1ght
joswr1ght / nmap-top-tcpport-commadsep-list.sh
Created July 24, 2022 12:23
Create a list of top Nmap TCP ports, converted to comma-separated format
grep -v '^#' /usr/local/Cellar/nmap/7.92/share/nmap/nmap-services | grep '/tcp' | sort -r -k3 | awk '{print $2}' | sed 's,/tcp,,' | head -40 | sort -n | gsed -z 's/\n/,/g;s/,$/\n/'
@joswr1ght
joswr1ght / asciidoctor-vimrc
Created September 9, 2022 14:47
VIM settings for Asciidoctor ease-of-use and quality-of-life
" Insert the template file for an Asciidoc listing. This file is essentially
" this text:
" .Caption
" [[listing-]]
" [subs="+quotes,+replacements"]
" ----
"
" ----
" Customize the file and the file path as needed.
function! InsertAsciidocListing()
@joswr1ght
joswr1ght / awsUserPrivs.sh
Created October 1, 2022 12:14
Enumerate AWS User/Identity Privileges with AWS CLI and Bash
#!/bin/bash
# https://stackoverflow.com/a/69728383/5089189 CC-BY-SA 4.0
function getUserIamPermissions() {
export AWS_PAGER="";
local _user="${1}";
local outputManagedPolicies="";
local outputUserPolicies="";
local outputManagedGroupPolicies="";
@joswr1ght
joswr1ght / profile.ps1
Created November 12, 2022 12:24
Add newline to PowerShell prompt between present directory and the PS > indicator
function prompt {
"$pwd`nPS > "
}
@joswr1ght
joswr1ght / apacheanon.py
Created November 16, 2022 11:10
Consistently replace the IP addresses in the first column of a log file with a random IP
#!/usr/bin/env python3
# Anonymize the first column (delimited by space) IPv4 address in an ASCII file with a
# consistent IP address that excludes RFC1918 and other internal network IP addresses.
# You can use this to take an Apache (or Nginx or probably other log files as well) file
# and change each of the source IP addresses to another value that is preserved consistently
# throughout the output log file.
# Changes to the log file are written to STDOUT, so run this as
# `apacheanon.py access.log > new-access.log`.
#
# 2022-11-16 Joshua Wright
@joswr1ght
joswr1ght / debugrequests.py
Created January 4, 2023 13:58
Add this code to Python scripts to debug HTTP requests activity and see request/response data
import logging
import requests
import http.client
http.client.HTTPConnection.debuglevel = 1
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
@joswr1ght
joswr1ght / summarizelinks.js
Created April 22, 2023 18:22
summarizelinks.js - JavaScript to get a summary of links from an open webpage using the browser inspector console