[[hack_roadmap-0|Up]]
====== Nmap para Escaneo de Redes ======
Nmap (Network Mapper) es una herramienta gratuita y de código abierto utilizada
para el descubrimiento de redes y auditorías de seguridad. Nmap es muy popular
entre los administradores de redes y los profesionales de la seguridad debido a
su capacidad para detectar dispositivos en una red, identificar servicios y
sistemas operativos en ejecución, y mapear la topología de una red.
===== Introducción a Nmap =====
==== Conceptos Clave: ====
* **Descubrimiento de Hosts:** Identificación de dispositivos activos en una red.
* **Detección de Servicios:** Identificación de servicios y aplicaciones que se ejecutan en los dispositivos.
* **Fingerprinting del SO:** Determinación del sistema operativo que se ejecuta en un dispositivo.
* **Evasión de Firewalls/IDS:** Técnicas para evitar la detección por sistemas de seguridad.
==== Recursos: ====
* [[https://nmap.org|Nmap - Sitio Oficial]]
* [[https://github.com/nmap/nmap|Nmap - GitHub]]
===== Instalación de Nmap =====
==== Instalación en Linux: ====
Nmap suele estar disponible en los repositorios de las principales
distribuciones de Linux.
sudo apt update
sudo apt install nmap
==== Instalación en macOS: ====
Usar Homebrew para instalar Nmap.
brew install nmap
==== Instalación en Windows: ====
Descargar el instalador desde el
[[https://nmap.org/download.html|sitio oficial de Nmap]] y seguir las
instrucciones de instalación.
==== Recursos: ====
* [[https://nmap.org/book/inst-nmap.html|Nmap Install Guide]]
===== Comandos Básicos de Nmap =====
==== Escaneo de Host Único: ====
nmap 192.168.1.1
Este comando escanea el host en la dirección IP 192.168.1.1 para ver qué puertos
están abiertos.
==== Escaneo de un Rango de IP: ====
nmap 192.168.1.1-254
Este comando escanea todas las direcciones IP del rango 192.168.1.1 al
192.168.1.254.
==== Escaneo de una Subred: ====
nmap 192.168.1.0/24
Este comando escanea todas las direcciones IP en la subred 192.168.1.0/24.
==== Recursos: ====
* [[https://nmap.org/book/man-beginner.html|Nmap Network Scanning Basics]]
===== Opciones Avanzadas de Escaneo =====
==== Detección de Sistema Operativo: ====
sudo nmap -O 192.168.1.1
Este comando intenta identificar el sistema operativo que se está ejecutando en
el host.
==== Detección de Servicios y Versiones: ====
nmap -sV 192.168.1.1
Este comando detecta los servicios en ejecución y sus versiones en el host.
==== Escaneo de Puertos Específicos: ====
nmap -p 22,80,443 192.168.1.1
Este comando escanea únicamente los puertos 22, 80 y 443 en el host.
==== Escaneo Sigiloso: ====
sudo nmap -sS 192.168.1.1
Este comando realiza un escaneo sigiloso (SYN scan) que es menos probable que
sea detectado por el host objetivo.
==== Recursos: ====
* [[https://nmap.org/book/man-advanced-techniques.html|Nmap Advanced Scanning Techniques]]
===== Uso de Scripts de Nmap (NSE) =====
El Nmap Scripting Engine (NSE) permite la automatización de tareas de escaneo
con scripts personalizados. Estos scripts pueden realizar desde la detección de
vulnerabilidades hasta la ejecución de ataques de fuerza bruta.
==== Escaneo con Scripts Predefinidos: ====
nmap --script vuln 192.168.1.1
Este comando utiliza scripts de detección de vulnerabilidades predefinidos en el
host.
==== Ejemplo de Uso de un Script Específico: ====
nmap --script http-enum 192.168.1.1
Este comando utiliza el script ''http-enum'' para enumerar los directorios y
archivos en un servidor web.
==== Recursos: ====
* [[https://nmap.org/book/nse.html|Nmap Scripting Engine (NSE)]]
* [[https://nmap.org/nsedoc/|NSE Script Repository]]
===== Análisis y Reporte de Resultados =====
Nmap permite la salida de resultados en varios formatos, incluyendo XML, para
facilitar el análisis y la integración con otras herramientas.
==== Guardar Resultados en un Archivo: ====
nmap -oN output.txt 192.168.1.1
Este comando guarda los resultados del escaneo en un archivo de texto plano.
==== Guardar Resultados en Formato XML: ====
nmap -oX output.xml 192.168.1.1
Este comando guarda los resultados del escaneo en un archivo XML.
==== Convertir Resultados XML a HTML: ====
Usar la herramienta ''xsltproc'' para convertir el archivo XML a HTML.
xsltproc output.xml -o output.html
==== Recursos: ====
* [[https://nmap.org/book/man-output.html|Nmap Output Options]]
* [[https://nmap.org/book/output-formats-xml-output.html|Nmap XML Output Documentation]]
===== Ejemplos Prácticos de Uso =====
==== Ejemplo 1: Escaneo de Red Completa con Detección de SO y Servicios ====
sudo nmap -O -sV 192.168.1.0/24
Este comando escanea toda la red 192.168.1.0/24, detecta los sistemas operativos
y los servicios en ejecución en cada host.
==== Ejemplo 2: Escaneo de Puertos Abiertos y Guardado de Resultados ====
nmap -p 1-65535 -oN full_scan.txt 192.168.1.1
Este comando escanea todos los puertos (1-65535) en el host 192.168.1.1 y guarda
los resultados en un archivo de texto.
==== Ejemplo 3: Escaneo de Vulnerabilidades en un Servidor Web ====
nmap --script http-vuln* -p 80 192.168.1.1
Este comando utiliza scripts de detección de vulnerabilidades específicas de
HTTP para escanear el puerto 80 en el host 192.168.1.1.
==== Recursos: ====
* [[https://nmap.org/book/examples.html|Nmap Examples - Nmap Official Guide]]
===== Conclusión =====
Nmap es una herramienta esencial para la auditoría de seguridad y el
descubrimiento de redes. Su capacidad para realizar escaneos detallados y su
extensibilidad a través de scripts la convierten en una opción preferida para
administradores de redes y profesionales de la seguridad. Con un buen
entendimiento de sus comandos y opciones, Nmap puede proporcionar una visión
profunda de la infraestructura de una red, ayudando a identificar y mitigar
posibles vulnerabilidades.
===== Recursos Adicionales =====
[[https://nmap.org/book/man.html|Nmap Guide]] (Nmap)