Escaneando con Nmap

Escaneando con Nmap

Escaneando con Nmap, desde hace muchos años Nmap es la herramienta por excelencia para diversos menesteres, es una herramienta que podemos usar en una fase de fingerprinting o de auditoría y exploiting.

 

Si queremos tener la última versión de la herramienta solo debemos bajarla de su repositorio oficial:

svn co https://svn.nmap.org/nmap
cd nmap
./configure
make
make install

Vamos a ver algunos ejemplos de uso de la herramienta, la sintaxis es muy sencilla de usar.

Índice

    Escaneando con Nmap un puerto

    darkmac:~ marc$ nmap -p 80 www.dragonjar.org
    
    Starting Nmap 6.25 ( http://nmap.org ) at 2013-06-12 22:33 CEST
    Nmap scan report for www.dragonjar.org (108.162.207.118)
    Host is up (0.076s latency).
    Other addresses for www.dragonjar.org (not scanned): 141.101.124.118
    PORT   STATE SERVICE
    80/tcp open  http
    
    Nmap done: 1 IP address (1 host up) scanned in 0.30 seconds
    darkmac:~ marc$
    

    Como véis sale el puerto 80 abierto. La sintaxis es muy sencilla, ¿Y si necesitamos escanear dos puertos?

    darkmac:~ marc$ nmap -p 80,443 www.dragonjar.org
    
    Starting Nmap 6.25 ( http://nmap.org ) at 2013-06-12 23:16 CEST
    Nmap scan report for www.dragonjar.org (141.101.124.118)
    Host is up (0.077s latency).
    Other addresses for www.dragonjar.org (not scanned): 108.162.207.118
    PORT    STATE SERVICE
    80/tcp  open  http
    443/tcp open  https
    
    Nmap done: 1 IP address (1 host up) scanned in 0.26 seconds
    

    Es muy sencillo ¿No? Pero que pasaría si necesitamos escanear de un rango a otro?

    Como véis el hacer el escaneo de puertos con nmap es muy trivial.

    darkmac:~ marc$ nmap -p 80-85 www.securitybydefault.com
    
    Starting Nmap 6.25 ( http://nmap.org ) at 2013-06-12 23:15 CEST
    Nmap scan report for www.securitybydefault.com (74.125.132.121)
    Host is up (0.092s latency).
    rDNS record for 74.125.132.121: wb-in-f121.1e100.net
    PORT   STATE    SERVICE
    80/tcp open     http
    81/tcp filtered hosts2-ns
    82/tcp filtered xfer
    83/tcp filtered mit-ml-dev
    84/tcp filtered ctf
    85/tcp filtered mit-ml-dev
    
    Nmap done: 1 IP address (1 host up) scanned in 2.15 seconds
    

    Nmap por defecto nos permite hacer sacar los servicios, además lleva opciones para escanear una serie de puertos determinados.

     darkmac:~ marc$ sudo nmap www.securiza.me Starting Nmap 6.25 ( http://nmap.org ) at 2013-06-12 23:07 CEST Nmap scan report for www.securiza.me (88.12.11.36) Host is up (0.13s latency). rDNS record for 88.12.11.36: 36.Red-88-12-11.staticIP.rima-tde.net Not shown: 987 filtered ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http 110/tcp open pop3 443/tcp open https 993/tcp open imaps 2601/tcp open zebra 2602/tcp open ripd 4242/tcp closed vrml-multi-use 4662/tcp open edonkey 5222/tcp open xmpp-client 6881/tcp open bittorrent-tracker 8088/tcp open radan-http Nmap done: 1 IP address (1 host up) scanned in 14.96 seconds 

    Opciones de Nmap

    Las opciones en nmap son muy variables y pueden ser combinadas, aquí veremos un pequeño listado de ellas:

    • Escaneo por defecto : “nmap direccionip”
    • Escaneo utilizando ping : “nmap -sP direccionip”
    • Escaneo ignorando el ping : “nmap -Pn direccionip”
    • Modo silencioso : “nmap -sS direccionip”
    • Descubrir servicios y versiones : “nmap -sV direccionip”
    • Detectar el Sistema operativo : “nmap -O direccionip”
    • Detectar el SO Forzado : “nmap -O –osscan-guess direccionip”
    • Escanear solo puerto X : “nmap -pX direccionip”
    • Escanear varios puertos X : “nmap -pX,Y,Z direccionip”
    • Escanear los 100 (f) 1000 (F) puertos más comunes : “nmap -F direccionip”
    • Escanear todos los puertos “*” : “nmap -p* direccionip” //tambien sirve “-p-”
    • Escanear Rango de puertos : “nmap -p[1-65535] ip”
    • Definir protocolo de escaneo : “nmap -pT:80,U:53 direccionip”
    • Buscar puerto 80 abierto : “nmap -sT -p 80 -oG – 192.168.1.1/24”
    • Escanear IP-A haciéndose pasar por IP-B : “nmap -sS direccionipA -D direccionipB”

    Los Scripts en NMap

    Desde que NMap integrara un motor de scripting a su funcionamiento, las características y funcionalidades de la herramienta han crecido en gran medida, dejando de ser solo un escáner de puertos y pasar a ser un completo escáner de vulnerabilidades, un detector de incidencias, una herramienta de ataque y un escáner de aplicaciones web entre otras muchas funciones.

    Los scripts en nmap son simples de desarrollar, utilizan lenguaje lúa y podemos tomar cualquier parámetro o componente de salida de nmap como parte del mismo, por tanto su flexibilidad esta garantizada.

    Los scripts oficiales integrados con nmap se encuentran por lo general en la carpeta /usr/local/share/nmap/scripts y para llamar cualquiera de ellos solo debemos ejecutar

    nmap --script=nombredescript

    Algunos de los scripts oficiales mas utilizados son los siguientes

    • Script para mostrar el titulo de una web : “nmap --script=http-title direccionip”
    • Mostrar titulo y cabeceras de un sitio web : “nmap --script=http-title,http-headers ip”
    • Enumerando directorios : “ nmap --script http-enum direccionip”
    • Haciendo Whois con Nmap : “ nmap --script whois direccionip”
    • Geo localización de IPS desde nmap : “ nmap --script ip-geolocation-* direccionip”
    • Detectar si un sitio web tiene un WAF : nmap -p80 --script=http-waf-fingerprint,http-waf-detect --script-args="http-waf-detect.detectBodyChanges" direccionip

    Escaneando con Nmap y las categorías de los Scripts

    Ya que los scripts han crecido rápidamente ha sido necesario agruparlos en categorías, actualmente tenemos las siguientes:

    Cada una de ellas agrupan una serie de scripts que cumplen funciones de enumeración ataques de fuerza bruta, detección de malware, etc..., si queremos ejecutar una categoría entera contra una dirección ip o un rango de ellas, solo debemos realizar lo siguiente:

    nmap --script CATEGORIA ip/o/rangodeips

    Tambien podemos utilizar comodines o excluir ciertos scripts de una categoría especifica que queramos ejecutar.

    • Ejecutando categorías : “ nmap --script CATEGORIA direccionip”
    • Ejecutando con comodines : “ nmap --script http-* direccionip”
    • Todos los http- menos enum : “ nmap --script=”http-* and not http-enum”

    Espero que disfrutaran de esta entrega, pronto profundizaremos un poco mas en algunos aspectos de esta gran herramienta.

    También puede ser de tu interés - https://www.dragonjar.org/nueva-version-de-nmap-mira-sus-nuevas-funcionalidades.xhtml

    Subir