BlogRecon

Hackear como un Nmap Pro avanzado para reconocimiento

¡Bienvenidos de nuevo, mis hackers novatos!

El reconocimiento es uno de los pasos preparatorios más importantes para la piratería. Como he enfatizado muchas veces antes aquí en Null Byte, debes conocer el sistema operativo, los puertos, los servicios, las aplicaciones y, a veces, incluso el idioma del objetivo para que sea efectivo. Si no se ha tomado el tiempo de recopilar esta información, es probable que esté perdiendo el tiempo.

En una publicación anterior, les había mostrado la herramienta de reconocimiento más utilizada y valiosa en la caja de herramientas del hacker, nmap. Hay una serie de otras herramientas de reconocimiento que también son útiles, como hping y xprobe, pero nmap es el estándar por el cual se juzga a todos los demás. Te recomiendo ENCARECIDAMENTE que domines nmap si realmente quieres llamarte hacker.

Ya le he mostrado algunos de los conceptos básicos de nmap, como realizar escaneos de puertos utilizando los escaneos TCP (-sT) y SYN (-sS), así como realizar la detección del sistema operativo (-O). Además, les mostré cómo cambiar la velocidad de los escaneos para evadir los sistemas de detección de intrusos.

Esta publicación lo llevará a través de algunas funciones más avanzadas para que pueda ser una herramienta aún más útil para usted. Para empezar, iniciemos Kali Linux y abramos nmap.

Paso 1: Abra Nmap en Kali

Abra una terminal en Kali y escriba nmap.

kali> nmap

Cuando lo haga, nmap mostrará la pantalla de ayuda como la que se muestra a continuación.

En la parte inferior de la primera pantalla, verá una sección llamada TÉCNICAS DE ESCANEO. En mi publicación anterior, usamos los escaneos -sS y -sT.

Usando la sintaxis básica de nmap:

nmap dirección IP

Obtenemos resultados como el siguiente que muestra todos los puertos TCP que están abiertos en nuestra máquina de destino y el servicio predeterminado para ese puerto.

Paso 2: busque un puerto o un rango de puertos específicos

A veces buscamos un puerto específico o un rango de puertos. Nmap usa el conmutador -p para designar un puerto o rango de puertos. Entonces, si solo estuviéramos buscando los puertos 25-150, podríamos usar:

kali> nmap 192.168.89.191 -p25-150

Como puede ver, este comando escanea y revela solo los puertos en ese rango de puertos.

Paso 3: escaneo de una subred

A menudo, queremos escanear más de una dirección IP. Nmap nos permite usar la notación CIDR para designar una subred completa. Entonces, por ejemplo, si quisiéramos escanear en toda la subred Clase C (256 hosts) para el puerto 80 abierto, podríamos escribir:

kali> nmap 192.168.89.0/24 -p80

Como puede ver en la última línea de este resultado de nmap, escaneó las 256 direcciones en la subred y encontró “2 hosts arriba”. Un host tenía el puerto 80 abierto y el otro no.

Paso 4: Escaneo de suplantación de identidad y señuelo

Cuando escaneamos máquinas que no son nuestras, a menudo queremos ocultar nuestra IP (nuestra identidad). Obviamente, cada paquete debe contener nuestra dirección de origen o, de lo contrario, la respuesta del sistema de destino no sabrá a dónde regresar.

Lo mismo se aplica a la suplantación de nuestra IP cuando se usa nmap. PODEMOS falsificar nuestra dirección IP (-S) en nmap, pero como resultado, cualquier respuesta y cualquier información que intentemos recopilar volverá a la IP falsificada. No es muy útil, si estamos escaneando para recopilar información.

Una mejor solución es ocultar nuestra dirección IP. En otras palabras, entierre nuestra dirección IP entre muchas direcciones IP para que el administrador de red / seguridad no pueda identificar el origen del escaneo. Nmap nos permite usar direcciones IP señuelo para que parezca que muchas direcciones IP están escaneando el objetivo.

Podemos hacer esto usando el modificador -D, como:

nmap -sS 192.168.89.191 -D 10.0.0.1,10.0.0.2,10.0.0.4

Este escaneo usará tres direcciones IP señuelo, pero también usará nuestra propia dirección. De esta manera, obtenemos respuestas e información sobre el objetivo Y el administrador del sistema ve escaneos provenientes de cuatro sistemas simultáneamente. De esta manera, no puede identificar fácilmente la verdadera fuente del escaneo.

Paso 5: Evadir los cortafuegos

Muchos firewalls y enrutadores bloquean o eliminan el ping ICMP (solicitud de eco, respuesta de eco). Esto está destinado a ocultar la presencia de los hosts detrás del firewall y proteger contra un posible DoS usando el paquete de ping.

Cuando usa nmap para escanear un sistema o una red, de forma predeterminada, envía un ping para ver si el host está activo y si obtiene una respuesta, luego envía los paquetes especificados para escanear el sistema. Si el ping se bloquea o se cae, nmap se da por vencido y dice “el host está inactivo”.

Para sortear los firewalls y enrutadores que bloquean o eliminan el ping, debemos suprimir el comportamiento predeterminado de nmap de enviar ese ping inicial y superar el firewall que nos bloquea. Podemos hacer esto usando el interruptor -P0:

kali> nmap -sS -P0 192.168.89.191

Paso 6: recopilación de información sobre la versión

Cuando nmap ejecuta un escaneo de puertos, recupera la información del puerto (abierto / cerrado / filtrado) y luego nos da la defecto servicio que se ejecuta en ese puerto. Como se puede ejecutar CUALQUIER servicio en cualquier puerto, esa puede no ser información adecuada. Si nuestro ataque requiere un servicio en particular en un puerto en particular, recopilar la información predeterminada puede no ser suficiente.

Necesitamos saber qué servicio se está ejecutando realmente en ese puerto, no el servicio predeterminado. Por ejemplo, es bueno saber que el puerto 80 está abierto y ejecutando http, pero si nuestro ataque es específico de Apache, entonces si el objetivo tiene el IIS de Microsoft ejecutándose en ese puerto, no funcionará. A menudo necesitamos el servicio en el puerto.

Nmap tiene una función que interroga al servicio que se ejecuta en cada puerto escaneado. Se puede usar con el interruptor -V, como:

kali> nmap -V 192.168.89.191

Observe en el resultado anterior que el servidor está ejecutando una versión anterior de IIS en el puerto 80. ¡Eso lo convierte en un objetivo tentador!

Paso 7: Escaneo UDP

Hasta este momento, todos nuestros análisis se han realizado en busca de puertos TCP. Algunos servicios y puertos utilizan UDP para comunicarse con el mundo exterior. Nuestros tipos de escaneo anteriores (-sS y -sT) no encontrarán puertos UDP ya que solo buscan puertos TCP. Algunos servicios solo se ejecutan en UDP, como NTP (puerto 123) y SNMP (puerto 161). Para encontrar estos puertos y servicios, necesitamos hacer un escaneo UDP. Podemos hacer esto con el modificador -sU:

kali> nmap -sU 192.168.89.191

Como puede ver, el escaneo UDP revela puertos y servicios que no se encuentran con nuestros escaneos TCP.

Paso 8: Razón

Tenga en cuenta en el resultado del escaneo UDP anterior que algunos puertos se informan como abiertos / filtrados. Esto indica que nmap no puede determinar si el puerto está abierto o si está filtrado por un dispositivo como un firewall.

A diferencia de los puertos TCP que responden con un paquete RST cuando están cerrados, los puertos UDP responden con un paquete ICMP cuando están cerrados. Esto puede hacer que los escaneos sean mucho menos confiables, ya que a menudo la respuesta ICMP es bloqueada o descartada por dispositivos intermedios (firewalls o enrutadores).

Nmap tiene un conmutador que devolverá la razón por la que ha colocado un puerto en particular en un estado en particular. Por ejemplo, podemos ejecutar el mismo escaneo UDP que el anterior con el –razón switch y nmap devolverán los mismos resultados, pero esta vez nos dará la razón por la que ha determinado el estado particular del puerto.

kali> nmap -sU –razón 192.168.89.191

Observe en la captura de pantalla anterior que he resaltado la “razón” por la que nmap ha encontrado que el puerto 123 está abierto o filtrado. Nmap nos dice que no recibió “respuesta”, por lo que no sabe si ese puerto está abierto o filtrado.

Paso 9: usar una lista

Muchas veces queremos escanear una lista de direcciones IP y no una subred completa. Podemos usar cualquier editor de texto y crear una lista de direcciones IP y “alimentarla” a nmap. Aquí, estoy usando Leafpad, que está integrado en Kali (cualquier editor de texto funcionará), para armar una lista de direcciones IP que quiero escanear.

Entonces puedo usar esta lista de direcciones IP en nmap en lugar de tener que volver a escribir estas direcciones IP cada vez que escaneo.

kali> nmap -iL scanlist.txt

Como puede ver, nmap escaneó las cinco direcciones IP que enumeré en mi documento de texto, pero solo encontró dos.

Paso 10: Salida a un archivo

Si estamos escaneando varias direcciones IP, probablemente queramos guardar la salida en un archivo para referencia posterior. Aunque nmap tiene muchas formas y formatos para guardar la salida, prefiero el conmutador -oN (salida normal).

Simplemente agregue el modificador -oN al final del comando con el nombre del archivo en el que desea guardar la salida. Aquí, he usado un archivo llamado “portscan.txt”:

kali> nmap -sS 192.168.89.191 -oN escaneo de puertos

Cuando ejecuto el comando, obtengo mi mismo resultado en la pantalla, pero también lo guardo en un archivo. Puedo ver el contenido de ese archivo usando los comandos cat, more, less. Aquí he usado el comando cat.

kali> cat portscan.txt

Como puede ver, la salida que siempre aparece en la pantalla con un escaneo de nmap ahora se guarda en un archivo para referencia posterior y cierta permanencia.

Nmap es una de esas herramientas que TODOS los piratas informáticos deben dominar para dominar este oficio. Con esta publicación, hemos avanzado un paso más en sus habilidades de nmap, pero todavía tenemos mucho que aprender, ¡así que sigan regresando, mis hackers novatos!

Imagen de portada a través de nmap

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar