# Taller NMAP **Nmap en el Contexto del Hacking Ético** *Nmap*, abreviatura de "Network Mapper", es una herramienta de código abierto ampliamente utilizada en el ámbito de la seguridad informática y el hacking ético. Su principal función es escanear redes y sistemas para identificar servicios y puertos abiertos, detectar vulnerabilidades y realizar un mapeo de la topología de la red. En el contexto del hacking ético, Nmap se utiliza para: 1. **Descubrimiento de activos:** Ayuda a identificar los dispositivos en una red, como servidores, routers, impresoras y estaciones de trabajo. Esto es fundamental para comprender la superficie de ataque. 2. **Escaneo de puertos:** Nmap puede escanear los puertos de los dispositivos en busca de servicios y aplicaciones que estén en funcionamiento. Esto es crucial para determinar posibles puntos de entrada. 3. **Detección de servicios y versiones:** Nmap puede identificar los servicios específicos que se están ejecutando en los puertos abiertos y, en muchos casos, determinar la versión del software. Esto ayuda a los hackers éticos a evaluar las vulnerabilidades conocidas asociadas a esos servicios y aplicaciones. 4. **Análisis de seguridad:** Permite identificar posibles vulnerabilidades, configuraciones inseguras o errores de seguridad en los sistemas escaneados, lo que ayuda a los profesionales de la seguridad a tomar medidas preventivas y corregir problemas. 5. **Mapeo de la red:** Nmap puede generar un mapa de la topología de la red, lo que facilita la visualización de cómo están interconectados los dispositivos y cómo se puede acceder a ellos. 6. **Pruebas de seguridad:** Los profesionales de seguridad y los hackers éticos utilizan Nmap para realizar pruebas de penetración, que implican la identificación de puntos débiles en la seguridad de una red o sistema y la aplicación de medidas de seguridad adecuadas. ## Ejemplos de uso Estamos suponiendo que estamos haciendo un ejercicio de pentesting en una empresa y que siempre vamos a limitarnos a probar y a realizar las pruebas según el acuerdo con la empresa. En este supuesto, la empresa nos ha dado acceso a la red y en ese contexto podemos buscar las vulnerabilidades de sus sistemas. ### Escaneo de puertos de una máquina objetivo - Barrido de todos los puertos para todos los dispositivos de una red: **nmap 192.168.0.0/24** Esto además de ser invasivo seguramente tardará muchísimo en realizarse, dispararía todas las posibles alarmas y controles a ataques de los objetivos en caso de tenerlos activos. - Barrido ping de los dispositivos de la red **nmap -sP 192.168.0.0/24** Este barrido se hace realizando pings a las direcciones dentro del rango. Los pings se hacen siguiendo el protocolo ICMP (INTERNET CONTROL MESSAGE PROTOCOL) - Sobre una web Podemos averiguar la IP de una web con, por ejemplo y usando una dirección que provee nmap para pruebas: **ping scanme.nmap.org ** ![](https://hackmd.io/_uploads/r1QwJiRZ6.png) Y luego hacer el NMAP sobre dicha dirección: **nmap 45.33.32.156** ![](https://hackmd.io/_uploads/ryJtkjAbT.png) Esta es la clásica respuesta del nmap pero de nuevo, acabamos de scanear todos sus puertos. Saltarían todas las alarmas! Veamos cómo escanear sólo un rango de puertos, normalmente los más usados son los 1000 primeros así que se suelen limitar a esos. Lo malo los Blue Team lo saben y por eso pueden poner servicios en puertos altos para obligarte a hacer scans que hagan saltar alarmas! - Nmap en un rango de puertos **nmap -p 1-1000 45.33.32.156** ![](https://hackmd.io/_uploads/SyDYWiA-a.png) Cómo ves la máquina está hecha para listos y tiene servicios abiertos en puertos altos que nos pasarían por alto en esta prueba. - Detectando el sistema operativo ![](https://hackmd.io/_uploads/HJhNfjAbp.png) Cómo ves la máquina del scanme es por ahora más lista que nosotros! Así que vamos a probar con nuestra metasplotaible: ![](https://hackmd.io/_uploads/BJjzXsCW6.png) Cómo ves aquí sí que da muchísima información sobre el sistema operativo de nuestra máquina objetivo, puertos, servicios y el sistema operativo utilizado. Prueba tanto en scanme como en tu metasploitable prueba estas dos instrucciones, mira en la información y describe qué tipo de consulta estás haciendo. Analiza la información devuelta: nmap -v 45.33.32.156 nmap -sV 45.33.32.156 nmap -sV 45.33.32.156 -p 80 -T4 Investiga por cierto qué es el -T4 y qué otras opciones hay. ## Cómo detectar un Firewall o IDS y evadirlo con NMAP Habrá veces que la máquina que queremos analizar está detrás un firewall y no recibimos respuestas, no hay que rendirse, podemos intentar varias cosas: nmap -sn -v 45.33.32.156 nping -c 3 45.33.32.156 Investiga qué diferencias hay entre estas dos instrucciones sobre todo a nivel protocolo usado. Una vez comprobado esto probemos el siguiente formato tanto de nuevo para metasploitable y . nmap -sn --packet-trace --send-ip -v 10.0.2.15 Interpreta los resultados y repasa el vocabulario y los protocolos que aparecen. En estos casos seguramente aún no hemos visto claro si hay algún firewall instalado, para ellos usamos el scanme de nmap: nmap -Pn -n -v nmap.scanme.org ![](https://hackmd.io/_uploads/HJqK3oC-6.png) En principio en las máquinas que tenemos ahora mismo todos los puertos aparecen como abiertos, no hay ninguno detrás de un firewall, momento de tomar el papel del Blue team e intentar proteger alguno de los servicios, por ejemplo, el ssh. Utiliza las técnicas dadas en bastionado para intentar poner un firewall y luego intentar saltarlo! La vida es dura. Ejemplo: https://www.zonasystem.com/2022/08/port-knocking-ocultar-y-mejorar-la-seguridad-en-conexiones-ssh.html Para ver técnicas de nmap para evadir firewalls puedes ir directamente al help y para más información puedes usar el libro que ha creado el mismo nmap: https://nmap.org/book/ ## Introducción a los scripts del nmap: descubrir vulnerabilidades. Ataca tu metasploitable con nmap --script vuln \[ipmetasploit\] Analiza los resultados.