Para hacer los análisis nos podemos apoyar en los laboratorios vulnerables del Temario 2: Hacking Web y en las maquinas Vulnerables Metasploiteable 2 y 3.
Nikto, también conocido como Nikto2, es un escáner de servidor web de código abierto (GPL) y de uso gratuito que realiza un escaneo de vulnerabilidades en servidores web en busca de múltiples elementos, incluidos archivos y programas peligrosos, y busca versiones desactualizadas del software del servidor web.
Para usar la herramienta haremos el siguiente comando:
Script: <- Ponemos a punto la herramienta para que enumere todo lo posible.
nikto -h example.com
Script: <- Ponemos a punto la herramienta para que enumere todo lo posible junto con todos los directorios posibles.
nikto -h example.com -C all
Script: <- Ponemos a punto la herramienta para que enumere todo lo posible pero esta vez con ssl si se llega a dar el caso.
nikto -h example.com -ssl
Script: <- Ponemos a punto la herramienta para que enumere todo lo posible con credenciales validas.
nikto -h example.com -id <Usuario>:<Password>
También podemos pasarle un archivo donde hayan un montón de enlaces
Script: <- Ponemos a punto la herramienta para que enumere todo lo posible junto con todos los directorios posibles.
nikto -h archivo_con_enlaces.txt <Parametros que queramos vistos anteriormente>
Nuclei se utiliza para enviar solicitudes entre objetivos según una plantilla, lo que genera cero falsos positivos y proporciona un escaneo rápido en una gran cantidad de hosts. Nuclei ofrece escaneo para una variedad de protocolos, incluidos TCP, DNS, HTTP, SSL, Archivo, Whois, Websocket, Headless, Código, etc. Con plantillas potentes y flexibles, Nuclei se puede utilizar para modelar todo tipo de controles de seguridad.
Para usar la herramienta haremos el siguiente comando:
Script: <- Analizaremos un target.
nuclei -u example.com
Script: <- Analizaremos una lista de targets.
nuclei -l <Lista de targets>.txt
Nmap enfocado en Análisis de Vulnerabilidades usa scripts del Nmap Scripting Engine (NSE) que puede buscar vulnerabilidades específicas, como configuraciones inseguras o fallos conocidos en software, aplicativos y servicios.
Comando:
Script: <- Analizaremos un target en busca de vulnerabilidades con Nmap.
nmap --stats-every=5s -p 0-65535 --open --min-rate=5000 -T5 --script=vuln -A -sT -Pn -n -v <IP victima>
Comando:
Script: <- Analizaremos un target en busca de vulnerabilidades con Nmap.
nmap --stats-every=5s -p 0-65535 --open --min-rate=5000 -T5 --script=vuln -A -sS -Pn -n -v <IP victima>
Comando:
Script: <- Analizaremos un target en busca de vulnerabilidades con Nmap.
nmap --stats-every=5s -p 0-65535 --open --min-rate=5000 -T5 --script=vuln -O --traceroute -sU -Pn -n -v <IP victima>
Comando:
Script: <- Analizaremos un target en busca de vulnerabilidades con Nmap.
nmap --stats-every=5s -p 0-65535 --open --min-rate=5000 -T5 --script=vuln -O --traceroute -sY -Pn -n -v <IP victima>
Comando:
Script: <- Analizaremos un target en busca de vulnerabilidades con Nmap.
nmap --stats-every=5s -p 0-65535 --open --min-rate=5000 -T5 -A --script=vuln -sT -Pn -n -v <IP victima> -oX nmap_TCP.xml && xsltproc nmap_TCP.xml -o nmap_TCP.html && open nmap_TCP.html &>/dev/null & disown
Comando:
Script: <- Analizaremos un target en busca de vulnerabilidades con Nmap.
nmap --stats-every=5s -p 0-65535 --open --min-rate=5000 -T5 -A --script=vuln -sS -Pn -n -v <IP victima> -oX nmap_TCP.xml && xsltproc nmap_TCP.xml -o nmap_TCP.html && open nmap_TCP.html &>/dev/null & disown
Comando:
Script: <- Analizaremos un target en busca de vulnerabilidades con Nmap.
nmap --stats-every=5s -p 0-65535 --open --min-rate=5000 -T5 --script=vuln -O --traceroute -sU -Pn -n -v <IP victima> -oX nmap_UDP.xml && xsltproc nmap_UDP.xml -o nmap_UDP.html && open nmap_UDP.html &>/dev/null & disown
Comando:
Script: <- Analizaremos un target en busca de vulnerabilidades con Nmap.
nmap --stats-every=5s -p 0-65535 --open --min-rate=5000 -T5 --script=vuln -O --traceroute -sY -Pn -n -v <IP victima> -oX nmap_SCTP.xml && xsltproc nmap_SCTP.xml -o nmap_SCTP.html && open nmap_SCTP.html &>/dev/null & disown
XRay permite escanear Vulnerabilidades y generar un archivo HTML con información detallada.
Para descargar la herramienta haremos el siguiente comando:
Script: <- Descargamos y preparamos la herramienta.
wget https://github.com/chaitin/xray/releases/download/1.9.11/xray_linux_amd64.zip && unzip xray_linux_amd64.zip && rm -r xray_linux_amd64.zip && mv ./xray_linux_amd64 ./xray
Para usar la herramienta haremos el siguiente comando:
Script: <- Usamos la herramienta.
./xray webscan --basic-crawler http://example.com:<Puerto> --html-output vuln.html && chmod 777 vuln.html && open vuln.html &>/dev/null & disown
OWASP ZAP es un escáner de seguridad web de código abierto. Pretende ser utilizado como una aplicación de seguridad y como una herramienta profesional para pruebas de penetración. Es uno de los proyectos más activos de OWASP. y se le ha dado un estatus de desarrollo insignia.
Los conceptos de como usar la herramienta se verán en las clases del Master.
La inteligencia artificial en el análisis de vulnerabilidades utiliza algoritmos avanzados como machine learning y deep learning para detectar amenazas más rápido, priorizar riesgos reales según el contexto del entorno, reducir drásticamente los falsos positivos, automatizar la generación de informes claros y predecir posibles ataques futuros basándose en patrones.
Tenemos varios modelos de Inteligencia Artificial que podemos usar para este trabajo.
ChatGPT: https://chatgpt.com/
DeepSeek: https://chat.deepseek.com/
Grok: https://grok.com/
Qwen: https://chat.qwen.ai/
HackTricks: https://www.hacktricks.ai/
Script: <- Prompt para realizar un Análisis de Vulnerabilidades con Inteligencia Artificial.
¿Podrías darme un resumen detallado de los siguientes archivos que te voy a proporcionar?
Por favor, incluye la siguiente información en tu análisis:
1. Dominios: Identifica cualquier dominio mencionado.
2. Subdominios: Indica si hay subdominios relevantes.
3. Nombres: Extrae los nombres de títulos, etiquetas o elementos importantes.
4. Passwords: Extrae datos que pueda parecer credenciales, un ejemplo puede ser: "admin:msfadmin".
5. Hashes: Menciona cualquier hash que aparezca en el código.
6. Codificadores: Enumera los codificadores o lenguajes utilizados.
7. Enlaces: Proporciona todos los enlaces que existan dentro de la web.
8. Frameworks o Librerías: Menciona si se utilizan frameworks o librerías (como Bootstrap, jQuery entre otros) y su versión.
9. Anomalías: Señala cualquier anomalía o comentario extraño que aparezca en el código.
10. Errores: Identifica posibles errores o problemas en la estructura del código.
11. Comentarios: Revisa todos los comentarios que muestre la web por si esta expuesto a información confidencial.
12. Vulnerabilidades: Inspecciona cualquier vulnerabilidad que se pueda acontecer la web.
13. Resumen general: Ofrece un resumen del propósito y la funcionalidad del código.
Siempre valida legalmente tu autorización antes de realizar estas pruebas.
Usa diccionarios personalizados si sabes datos del entorno.
Nunca ejecutes exploits en producción sin un entorno controlado.
Documenta todo: IPs, usuarios válidos, resultados de escaneos.
Practica diariamente tus habilidades de Pentesting con maquinas CTF.
Utiliza los diferentes navegadores para investigar nuevos servicios.