Nmap es uno de los mapeadores de redes más populares del mundo de la seguridad de la información. Tanto los profesionales de la ciberseguridad como los novatos lo utilizan para auditar y descubrir puertos abiertos locales y remotos, así como hosts e información de red.

Algunas de las mejores características de esta herramienta son que es de código abierto, gratuito, multiplataforma y recibe actualizaciones constantes cada año. También tiene una gran ventaja: es uno de los escáneres de red y de host más completos disponibles. Incluye un amplio conjunto de opciones para mejorar sus tareas de escaneo y mapeo, y trae consigo una comunidad increíble y documentación completa para ayudarlo a comprender esta herramienta desde el principio. Nmap se puede utilizar para:

15 ejemplos de comandos de Nmap

Conozcamos algunos análisis útiles basados ​​en la línea de comandos que se pueden realizar con Nmap.

1. Escaneo básico de Nmap contra IP o host

nmap 1.1.1.1

Ahora, si desea escanear un nombre de host, simplemente reemplace la IP del host, como puede ver a continuación:

nmap cuc.edu.co

Este tipo de escaneos básicos son perfectos para sus primeros pasos al comenzar con Nmap.

2. Escanee puertos específicos o escanee rangos de puertos completos en un servidor local o remoto

nmap -p 1-65535 localhost

En este ejemplo, escaneamos todos los puertos 65535 para nuestra computadora localhost.

Nmap puede escanear todos los puertos posibles, pero también puede escanear puertos específicos, que reportarán resultados más rápidos. Vea abajo:

nmap -p 80,443 8.8.8.8

3. Escanee varias direcciones IP

Intentemos escanear varias direcciones IP. Para ello, necesita utilizar esta sintaxis:

nmap -p 80,443 8.8.8.8

También puede escanear direcciones IP consecutivas:

nmap 1.1.1.1,2,3,4

Esto va a escanear 1.1.1.11.1.1.21.1.1.3 1.1.1.4.

4. Escanear rangos de IP

También puede usar Nmap para escanear rangos de IP CIDR completos, por ejemplo:

nmap 8.8.8.0/28

Esto escaneará 14 rangos de IP consecutivos, desde 8.8.8.1 hasta 8.8.8.14.

Una alternativa es simplemente usar este tipo de rango:

nmap 8.8.8.1-14

Incluso puede usar comodines para escanear todo el rango de IP de clase C, por ejemplo:

nmap 8.8.8.*

Esto escaneará 256 direcciones IP desde 8.8.8.1 hasta 8.8.8.256.

Si alguna vez necesita excluir ciertas IP del escaneo de rango de IP, puede usar la opción «–exclude», como puede ver a continuación:

nmap -p 8.8.8.* --exclude 8.8.8.1

El uso del parámetro «–top-ports» junto con un número específico le permite escanear los X puertos más comunes para ese host, como podemos ver:

nmap --top-ports 20 cuc.edu.co

Reemplace «20» con el número deseado. Ejemplo de salida:

[root@dsantana:~]nmap --top-ports 20 localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2018-10-01 10:02 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000016s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT     STATE    SERVICE
21/tcp   closed   ftp
22/tcp   closed   ssh
23/tcp   closed   telnet
25/tcp   closed   smtp
53/tcp   closed   domain
80/tcp   filtered http
110/tcp  closed   pop3
111/tcp  closed   rpcbind
135/tcp  closed   msrpc
139/tcp  closed   netbios-ssn
143/tcp  closed   imap
443/tcp  filtered https
445/tcp  closed   microsoft-ds
993/tcp  closed   imaps
995/tcp  closed   pop3s
1723/tcp closed   pptp
3306/tcp closed   mysql
3389/tcp closed   ms-wbt-server
5900/tcp closed   vnc
8080/tcp closed   http-proxy

6. Escanee los hosts y las direcciones IP que se leen desde un archivo de texto

En este caso, Nmap también es útil para leer archivos que contienen hosts e IP en su interior.

Supongamos que crea un archivo lista.txt que contiene estas líneas dentro:

192.168.1.106
cuc.edu.co
dsantana.uas.edu.mx
microsoft.com

El parámetro «-iL» le permite leer de ese archivo y escanear todos esos hosts por usted:

nmap -iL lista.txt

7. Guarde los resultados del escaneo de Nmap en un archivo

Por otro lado, en el siguiente ejemplo no estaremos leyendo de un archivo, sino exportando / guardando nuestros resultados en un archivo de texto:

nmap -oN output.txt cuc.edu.co

Nmap también tiene la capacidad de exportar archivos en formato XML, vea el siguiente ejemplo:

nmap -oX output.xml cuc.edu.co

8. Desactivación de la resolución de nombres DNS

Si necesita acelerar un poco sus escaneos, siempre puede optar por desactivar la resolución DNS inversa para todos sus escaneos. Simplemente agregue el parámetro «-n».

[root@dsantana:~]nmap -p 80 -n 8.8.8.8
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:15 -03
Nmap scan report for 8.8.8.8
Host is up (0.014s latency).
PORT   STATE    SERVICE
80/tcp filtered http

Vea la diferencia con un escaneo normal habilitado con resolución DNS:

[root@dsantana:~]nmap -p 80 8.8.8.8
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:15 -03
Nmap scan report for google-public-dns-a.google.com (8.8.8.8)
Host is up (0.014s latency).
PORT   STATE    SERVICE
80/tcp filtered http

9. Scan + OS y detección de servicios con ejecución rápida

El uso del parámetro «-A» le permite realizar la detección del sistema operativo y del servicio, y al mismo tiempo lo combinamos con «-T4» para una ejecución más rápida. Vea el ejemplo a continuación:

nmap -A -T4 cuc.edu.co

Este es el resultado que obtuvimos para esta prueba:

# Nmap 7.80 scan initiated Thu Sep 17 18:18:25 2020 as: nmap -A -T4 -oN cuc.edu.co.txt cuc.edu.co
Nmap scan report for cuc.edu.co (104.27.143.174)
Host is up (0.067s latency).
Other addresses for cuc.edu.co (not scanned): 2606:4700:3036::ac43:b513 2606:4700:3033::681b:8fae 2606:4700:3030::681b:8eae 172.67.181.19 104.27.142.174
Not shown: 996 filtered ports
PORT     STATE SERVICE       VERSION
80/tcp   open  http          cloudflare
| fingerprint-strings: 
|   FourOhFourRequest: 
|     HTTP/1.1 400 Bad Request
|     Date: Thu, 17 Sep 2020 18:57:16 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     Server: cloudflare
|     CF-RAY: 5d450d4d6ccde3c2-ATL
|     cf-request-id: 053f06a4630000e3c276854200000001
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   GetRequest: 
|     HTTP/1.1 400 Bad Request
|     Date: Thu, 17 Sep 2020 18:57:15 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     Server: cloudflare
|     CF-RAY: 5d450d49ebb4b9f8-ATL
|     cf-request-id: 053f06a22e0000b9f8f10c7200000001
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   HTTPOptions: 
|     HTTP/1.1 400 Bad Request
|     Date: Thu, 17 Sep 2020 18:57:15 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     Server: cloudflare
|     CF-RAY: 5d450d4acb8cf1b6-ATL
|     cf-request-id: 053f06a2bc0000f1b624b48200000001
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   RTSPRequest: 
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   X11Probe: 
|     HTTP/1.1 400 Bad Request
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:16 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     CF-RAY: -
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|_    </html>
| http-robots.txt: 23 disallowed entries (15 shown)
| /joomla/administrator/ /administrator/ /cache/ /cli/ 
| /components/ /images/ /includes/ /installation/ /language/ 
|_/libraries/ /logs/ /media/ /modules/ /plugins/ /templates/
|_http-server-header: cloudflare
|_http-title: Did not follow redirect to https://cuc.edu.co/
443/tcp  open  ssl/https     cloudflare
| fingerprint-strings: 
|   FourOhFourRequest: 
|     HTTP/1.1 403 Forbidden
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:22 GMT
|     Content-Type: text/html
|     Content-Length: 151
|     Connection: close
|     CF-RAY: 5d450d74a8e907c2-ATL
|     cf-request-id: 053f06bce9000007c2133b7200000001
|     <html>
|     <head><title>403 Forbidden</title></head>
|     <body>
|     <center><h1>403 Forbidden</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   GetRequest: 
|     HTTP/1.1 403 Forbidden
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:22 GMT
|     Content-Type: text/html
|     Content-Length: 151
|     Connection: close
|     CF-RAY: 5d450d70ebdee4d8-ATL
|     cf-request-id: 053f06ba8f0000e4d8a2b05200000001
|     <html>
|     <head><title>403 Forbidden</title></head>
|     <body>
|     <center><h1>403 Forbidden</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   HTTPOptions: 
|     HTTP/1.1 403 Forbidden
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:22 GMT
|     Content-Type: text/html
|     Content-Length: 151
|     Connection: close
|     CF-RAY: 5d450d72eb59f345-ATL
|     cf-request-id: 053f06bbcc0000f34583321200000001
|     <html>
|     <head><title>403 Forbidden</title></head>
|     <body>
|     <center><h1>403 Forbidden</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   RTSPRequest: 
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   tor-versions: 
|     HTTP/1.1 400 Bad Request
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:22 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     CF-RAY: -
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|_    </html>
| http-robots.txt: 23 disallowed entries (15 shown)
| /joomla/administrator/ /administrator/ /cache/ /cli/ 
| /components/ /images/ /includes/ /installation/ /language/ 
|_/libraries/ /logs/ /media/ /modules/ /plugins/ /templates/
|_http-server-header: cloudflare
|_http-title: Universidad de la Costa CUC
| ssl-cert: Subject: commonName=cuc.edu.co/organizationName=Cloudflare, Inc./stateOrProvinceName=CA/countryName=US
| Subject Alternative Name: DNS:*.cuc.edu.co, DNS:cuc.edu.co
| Not valid before: 2020-07-02T00:00:00
|_Not valid after:  2021-07-02T12:00:00
8080/tcp open  http-proxy    cloudflare
| fingerprint-strings: 
|   FourOhFourRequest: 
|     HTTP/1.1 400 Bad Request
|     Date: Thu, 17 Sep 2020 18:57:16 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     Server: cloudflare
|     CF-RAY: 5d450d4cae9c180f-ATL
|     cf-request-id: 053f06a3e80000180f5b1e1200000001
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   GetRequest: 
|     HTTP/1.1 400 Bad Request
|     Date: Thu, 17 Sep 2020 18:57:15 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     Server: cloudflare
|     CF-RAY: 5d450d49e88a187b-ATL
|     cf-request-id: 053f06a22d0000187b50a68200000001
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   HTTPOptions: 
|     HTTP/1.1 400 Bad Request
|     Date: Thu, 17 Sep 2020 18:57:15 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     Server: cloudflare
|     CF-RAY: 5d450d4aefeb07ba-ATL
|     cf-request-id: 053f06a2cf000007ba6c1fa200000001
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   RTSPRequest: 
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   Socks5: 
|     HTTP/1.1 400 Bad Request
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:16 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     CF-RAY: -
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|_    </html>
|_http-server-header: cloudflare
8443/tcp open  ssl/https-alt cloudflare
| fingerprint-strings: 
|   FourOhFourRequest: 
|     HTTP/1.1 403 Forbidden
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:22 GMT
|     Content-Type: text/html
|     Content-Length: 151
|     Connection: close
|     CF-RAY: 5d450d745988ecdb-ATL
|     cf-request-id: 053f06bcbb0000ecdb0f897200000001
|     <html>
|     <head><title>403 Forbidden</title></head>
|     <body>
|     <center><h1>403 Forbidden</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   GetRequest: 
|     HTTP/1.1 403 Forbidden
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:22 GMT
|     Content-Type: text/html
|     Content-Length: 151
|     Connection: close
|     CF-RAY: 5d450d70e905ec11-ATL
|     cf-request-id: 053f06ba8e0000ec118110e200000001
|     <html>
|     <head><title>403 Forbidden</title></head>
|     <body>
|     <center><h1>403 Forbidden</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   HTTPOptions: 
|     HTTP/1.1 403 Forbidden
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:22 GMT
|     Content-Type: text/html
|     Content-Length: 151
|     Connection: close
|     CF-RAY: 5d450d729cebec29-ATL
|     cf-request-id: 053f06bba30000ec29e5865200000001
|     <html>
|     <head><title>403 Forbidden</title></head>
|     <body>
|     <center><h1>403 Forbidden</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   RPCCheck: 
|     HTTP/1.1 400 Bad Request
|     Server: cloudflare
|     Date: Thu, 17 Sep 2020 18:57:28 GMT
|     Content-Type: text/html
|     Content-Length: 155
|     Connection: close
|     CF-RAY: -
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|     </html>
|   RTSPRequest: 
|     <html>
|     <head><title>400 Bad Request</title></head>
|     <body>
|     <center><h1>400 Bad Request</h1></center>
|     <hr><center>cloudflare</center>
|     </body>
|_    </html>
|_http-server-header: cloudflare
|_http-title: 400 The plain HTTP request was sent to HTTPS port
| ssl-cert: Subject: commonName=cuc.edu.co/organizationName=Cloudflare, Inc./stateOrProvinceName=CA/countryName=US
| Subject Alternative Name: DNS:*.cuc.edu.co, DNS:cuc.edu.co
| Not valid before: 2020-07-02T00:00:00
|_Not valid after:  2021-07-02T12:00:00
4 services unrecognized despite returning data. If you know the service/version, please submit the following fingerprints at https://nmap.org/cgi-bin/submit.cgi?new-service :
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port80-TCP:V=7.80%I=7%D=9/17%Time=5F63A87F%P=x86_64-pc-linux-gnu%r(GetR
SF:equest,180,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nDate:\x20Thu,\x2017\x
SF:20Sep\x202020\x2018:57:15\x20GMT\r\nContent-Type:\x20text/html\r\nConte
SF:nt-Length:\x20155\r\nConnection:\x20close\r\nServer:\x20cloudflare\r\nC
SF:F-RAY:\x205d450d49ebb4b9f8-ATL\r\ncf-request-id:\x20053f06a22e0000b9f8f
SF:10c7200000001\r\n\r\n<html>\r\n<head><title>400\x20Bad\x20Request</titl
SF:e></head>\r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\
SF:r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n")%r(HTTPOp
SF:tions,180,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nDate:\x20Thu,\x2017\x2
SF:0Sep\x202020\x2018:57:15\x20GMT\r\nContent-Type:\x20text/html\r\nConten
SF:t-Length:\x20155\r\nConnection:\x20close\r\nServer:\x20cloudflare\r\nCF
SF:-RAY:\x205d450d4acb8cf1b6-ATL\r\ncf-request-id:\x20053f06a2bc0000f1b624
SF:b48200000001\r\n\r\n<html>\r\n<head><title>400\x20Bad\x20Request</title
SF:></head>\r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r
SF:\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n")%r(RTSPReq
SF:uest,9B,"<html>\r\n<head><title>400\x20Bad\x20Request</title></head>\r\
SF:n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<hr><cent
SF:er>cloudflare</center>\r\n</body>\r\n</html>\r\n")%r(X11Probe,13C,"HTTP
SF:/1\.1\x20400\x20Bad\x20Request\r\nServer:\x20cloudflare\r\nDate:\x20Thu
SF:,\x2017\x20Sep\x202020\x2018:57:16\x20GMT\r\nContent-Type:\x20text/html
SF:\r\nContent-Length:\x20155\r\nConnection:\x20close\r\nCF-RAY:\x20-\r\n\
SF:r\n<html>\r\n<head><title>400\x20Bad\x20Request</title></head>\r\n<body
SF:>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<hr><center>clo
SF:udflare</center>\r\n</body>\r\n</html>\r\n")%r(FourOhFourRequest,180,"H
SF:TTP/1\.1\x20400\x20Bad\x20Request\r\nDate:\x20Thu,\x2017\x20Sep\x202020
SF:\x2018:57:16\x20GMT\r\nContent-Type:\x20text/html\r\nContent-Length:\x2
SF:0155\r\nConnection:\x20close\r\nServer:\x20cloudflare\r\nCF-RAY:\x205d4
SF:50d4d6ccde3c2-ATL\r\ncf-request-id:\x20053f06a4630000e3c276854200000001
SF:\r\n\r\n<html>\r\n<head><title>400\x20Bad\x20Request</title></head>\r\n
SF:<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<hr><cente
SF:r>cloudflare</center>\r\n</body>\r\n</html>\r\n");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port443-TCP:V=7.80%T=SSL%I=7%D=9/17%Time=5F63A885%P=x86_64-pc-linux-gnu
SF:%r(GetRequest,17A,"HTTP/1\.1\x20403\x20Forbidden\r\nServer:\x20cloudfla
SF:re\r\nDate:\x20Thu,\x2017\x20Sep\x202020\x2018:57:22\x20GMT\r\nContent-
SF:Type:\x20text/html\r\nContent-Length:\x20151\r\nConnection:\x20close\r\
SF:nCF-RAY:\x205d450d70ebdee4d8-ATL\r\ncf-request-id:\x20053f06ba8f0000e4d
SF:8a2b05200000001\r\n\r\n<html>\r\n<head><title>403\x20Forbidden</title><
SF:/head>\r\n<body>\r\n<center><h1>403\x20Forbidden</h1></center>\r\n<hr><
SF:center>cloudflare</center>\r\n</body>\r\n</html>\r\n")%r(HTTPOptions,17
SF:A,"HTTP/1\.1\x20403\x20Forbidden\r\nServer:\x20cloudflare\r\nDate:\x20T
SF:hu,\x2017\x20Sep\x202020\x2018:57:22\x20GMT\r\nContent-Type:\x20text/ht
SF:ml\r\nContent-Length:\x20151\r\nConnection:\x20close\r\nCF-RAY:\x205d45
SF:0d72eb59f345-ATL\r\ncf-request-id:\x20053f06bbcc0000f34583321200000001\
SF:r\n\r\n<html>\r\n<head><title>403\x20Forbidden</title></head>\r\n<body>
SF:\r\n<center><h1>403\x20Forbidden</h1></center>\r\n<hr><center>cloudflar
SF:e</center>\r\n</body>\r\n</html>\r\n")%r(FourOhFourRequest,17A,"HTTP/1\
SF:.1\x20403\x20Forbidden\r\nServer:\x20cloudflare\r\nDate:\x20Thu,\x2017\
SF:x20Sep\x202020\x2018:57:22\x20GMT\r\nContent-Type:\x20text/html\r\nCont
SF:ent-Length:\x20151\r\nConnection:\x20close\r\nCF-RAY:\x205d450d74a8e907
SF:c2-ATL\r\ncf-request-id:\x20053f06bce9000007c2133b7200000001\r\n\r\n<ht
SF:ml>\r\n<head><title>403\x20Forbidden</title></head>\r\n<body>\r\n<cente
SF:r><h1>403\x20Forbidden</h1></center>\r\n<hr><center>cloudflare</center>
SF:\r\n</body>\r\n</html>\r\n")%r(tor-versions,13C,"HTTP/1\.1\x20400\x20Ba
SF:d\x20Request\r\nServer:\x20cloudflare\r\nDate:\x20Thu,\x2017\x20Sep\x20
SF:2020\x2018:57:22\x20GMT\r\nContent-Type:\x20text/html\r\nContent-Length
SF::\x20155\r\nConnection:\x20close\r\nCF-RAY:\x20-\r\n\r\n<html>\r\n<head
SF:><title>400\x20Bad\x20Request</title></head>\r\n<body>\r\n<center><h1>4
SF:00\x20Bad\x20Request</h1></center>\r\n<hr><center>cloudflare</center>\r
SF:\n</body>\r\n</html>\r\n")%r(RTSPRequest,9B,"<html>\r\n<head><title>400
SF:\x20Bad\x20Request</title></head>\r\n<body>\r\n<center><h1>400\x20Bad\x
SF:20Request</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r
SF:\n</html>\r\n");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port8080-TCP:V=7.80%I=7%D=9/17%Time=5F63A87F%P=x86_64-pc-linux-gnu%r(Ge
SF:tRequest,180,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nDate:\x20Thu,\x2017
SF:\x20Sep\x202020\x2018:57:15\x20GMT\r\nContent-Type:\x20text/html\r\nCon
SF:tent-Length:\x20155\r\nConnection:\x20close\r\nServer:\x20cloudflare\r\
SF:nCF-RAY:\x205d450d49e88a187b-ATL\r\ncf-request-id:\x20053f06a22d0000187
SF:b50a68200000001\r\n\r\n<html>\r\n<head><title>400\x20Bad\x20Request</ti
SF:tle></head>\r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center
SF:>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n")%r(HTTP
SF:Options,180,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nDate:\x20Thu,\x2017\
SF:x20Sep\x202020\x2018:57:15\x20GMT\r\nContent-Type:\x20text/html\r\nCont
SF:ent-Length:\x20155\r\nConnection:\x20close\r\nServer:\x20cloudflare\r\n
SF:CF-RAY:\x205d450d4aefeb07ba-ATL\r\ncf-request-id:\x20053f06a2cf000007ba
SF:6c1fa200000001\r\n\r\n<html>\r\n<head><title>400\x20Bad\x20Request</tit
SF:le></head>\r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>
SF:\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n")%r(RTSPR
SF:equest,9B,"<html>\r\n<head><title>400\x20Bad\x20Request</title></head>\
SF:r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<hr><ce
SF:nter>cloudflare</center>\r\n</body>\r\n</html>\r\n")%r(FourOhFourReques
SF:t,180,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nDate:\x20Thu,\x2017\x20Sep
SF:\x202020\x2018:57:16\x20GMT\r\nContent-Type:\x20text/html\r\nContent-Le
SF:ngth:\x20155\r\nConnection:\x20close\r\nServer:\x20cloudflare\r\nCF-RAY
SF::\x205d450d4cae9c180f-ATL\r\ncf-request-id:\x20053f06a3e80000180f5b1e12
SF:00000001\r\n\r\n<html>\r\n<head><title>400\x20Bad\x20Request</title></h
SF:ead>\r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<h
SF:r><center>cloudflare</center>\r\n</body>\r\n</html>\r\n")%r(Socks5,13C,
SF:"HTTP/1\.1\x20400\x20Bad\x20Request\r\nServer:\x20cloudflare\r\nDate:\x
SF:20Thu,\x2017\x20Sep\x202020\x2018:57:16\x20GMT\r\nContent-Type:\x20text
SF:/html\r\nContent-Length:\x20155\r\nConnection:\x20close\r\nCF-RAY:\x20-
SF:\r\n\r\n<html>\r\n<head><title>400\x20Bad\x20Request</title></head>\r\n
SF:<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<hr><cente
SF:r>cloudflare</center>\r\n</body>\r\n</html>\r\n");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port8443-TCP:V=7.80%T=SSL%I=7%D=9/17%Time=5F63A885%P=x86_64-pc-linux-gn
SF:u%r(GetRequest,17A,"HTTP/1\.1\x20403\x20Forbidden\r\nServer:\x20cloudfl
SF:are\r\nDate:\x20Thu,\x2017\x20Sep\x202020\x2018:57:22\x20GMT\r\nContent
SF:-Type:\x20text/html\r\nContent-Length:\x20151\r\nConnection:\x20close\r
SF:\nCF-RAY:\x205d450d70e905ec11-ATL\r\ncf-request-id:\x20053f06ba8e0000ec
SF:118110e200000001\r\n\r\n<html>\r\n<head><title>403\x20Forbidden</title>
SF:</head>\r\n<body>\r\n<center><h1>403\x20Forbidden</h1></center>\r\n<hr>
SF:<center>cloudflare</center>\r\n</body>\r\n</html>\r\n")%r(HTTPOptions,1
SF:7A,"HTTP/1\.1\x20403\x20Forbidden\r\nServer:\x20cloudflare\r\nDate:\x20
SF:Thu,\x2017\x20Sep\x202020\x2018:57:22\x20GMT\r\nContent-Type:\x20text/h
SF:tml\r\nContent-Length:\x20151\r\nConnection:\x20close\r\nCF-RAY:\x205d4
SF:50d729cebec29-ATL\r\ncf-request-id:\x20053f06bba30000ec29e5865200000001
SF:\r\n\r\n<html>\r\n<head><title>403\x20Forbidden</title></head>\r\n<body
SF:>\r\n<center><h1>403\x20Forbidden</h1></center>\r\n<hr><center>cloudfla
SF:re</center>\r\n</body>\r\n</html>\r\n")%r(FourOhFourRequest,17A,"HTTP/1
SF:\.1\x20403\x20Forbidden\r\nServer:\x20cloudflare\r\nDate:\x20Thu,\x2017
SF:\x20Sep\x202020\x2018:57:22\x20GMT\r\nContent-Type:\x20text/html\r\nCon
SF:tent-Length:\x20151\r\nConnection:\x20close\r\nCF-RAY:\x205d450d745988e
SF:cdb-ATL\r\ncf-request-id:\x20053f06bcbb0000ecdb0f897200000001\r\n\r\n<h
SF:tml>\r\n<head><title>403\x20Forbidden</title></head>\r\n<body>\r\n<cent
SF:er><h1>403\x20Forbidden</h1></center>\r\n<hr><center>cloudflare</center
SF:>\r\n</body>\r\n</html>\r\n")%r(RTSPRequest,9B,"<html>\r\n<head><title>
SF:400\x20Bad\x20Request</title></head>\r\n<body>\r\n<center><h1>400\x20Ba
SF:d\x20Request</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body
SF:>\r\n</html>\r\n")%r(RPCCheck,13C,"HTTP/1\.1\x20400\x20Bad\x20Request\r
SF:\nServer:\x20cloudflare\r\nDate:\x20Thu,\x2017\x20Sep\x202020\x2018:57:
SF:28\x20GMT\r\nContent-Type:\x20text/html\r\nContent-Length:\x20155\r\nCo
SF:nnection:\x20close\r\nCF-RAY:\x20-\r\n\r\n<html>\r\n<head><title>400\x2
SF:0Bad\x20Request</title></head>\r\n<body>\r\n<center><h1>400\x20Bad\x20R
SF:equest</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n<
SF:/html>\r\n");

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Thu Sep 17 18:20:20 2020 -- 1 IP address (1 host up) scanned in 115.58 seconds

10. Detectar versiones de servicio / demonio

Esto se puede hacer usando los parámetros -sV

nmap -sV localhost

Como puede ver aquí:

[root@dsantana:~]nmap -sV localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:28 -03
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000020s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
111/tcp open rpcbind 2-4 (RPC #100000)
631/tcp open ipp CUPS 2.2
902/tcp open ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.96 seconds

11. Escanee usando protocolos TCP o UDP

Una de las cosas que más nos gustan de Nmap es el hecho de que funciona con los protocolos TCP y UDP. Y aunque la mayoría de los servicios se ejecutan en TCP, también puede obtener una gran ventaja al escanear servicios basados ​​en UDP. Veamos algunos ejemplos.

Salida de escaneo TCP estándar:

nmap -sT 192.168.1.1
[root@dsantana:~]nmap -sT 192.168.1.1
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:33 -03
Nmap scan report for 192.168.1.1
Host is up (0.58s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
80/tcp open http
1900/tcp open upnp
20005/tcp open btx
49152/tcp open unknown
49153/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 1.43 seconds

Resultados de la exploración UDP mediante el parámetro «-sU»:

sudo nmap -sU localhost
[root@dsantana:~]sudo nmap -sU localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:37 -03
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000021s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 997 closed ports
PORT STATE SERVICE
68/udp open|filtered dhcpc
111/udp open rpcbind
5353/udp open|filtered zeroconf

12. Detección de CVE usando Nmap

Una de las características más importantes de Nmap que no todos los administradores de redes y sistemas conocen es algo llamado “Nmap Scripting Engine” (conocido como NSE ). Este motor de secuencias de comandos permite a los usuarios utilizar un conjunto predefinido de secuencias de comandos o escribir las suyas propias utilizando el lenguaje de programación Lua.

El uso de NSE es fundamental para automatizar los análisis de vulnerabilidades y del sistema. Por ejemplo, si desea ejecutar una prueba de vulnerabilidad completa contra su objetivo, puede usar estos parámetros:

nmap -Pn --script vuln 192.168.1.105

Ejemplo de salida:

[root@dsantana:~]nmap -Pn --script vuln 192.168.1.105
Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:46 -03
Pre-scan script results:
| broadcast-avahi-dos:
| Discovered hosts:
| 224.0.0.251
| After NULL UDP avahi packet DoS (CVE-2011-1002).
|_ Hosts are all up (not vulnerable).
Nmap scan report for 192.168.1.105
Host is up (0.00032s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
80/tcp open http
|_http-csrf: Couldn't find any CSRF vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
| http-slowloris-check:
| VULNERABLE:
| Slowloris DOS attack
| State: LIKELY VULNERABLE
| IDs: CVE:CVE-2007-6750
| Slowloris tries to keep many connections to the target web server open and hold
| them open as long as possible. It accomplishes this by opening connections to
| the target web server and sending a partial request. By doing so, it starves
| the http server's resources causing Denial Of Service.
|
| Disclosure date: 2009-09-17
| References:
| http://ha.ckers.org/slowloris/
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-vuln-cve2014-3704: ERROR: Script execution failed (use -d to debug)
1900/tcp open upnp
20005/tcp open btx
49152/tcp open unknown
49153/tcp open unknown

Como puede ver, en esta prueba de vulnerabilidad pudimos detectar un CVE (ataque DOS Slowloris).

13. Lanzamiento de DOS con Nmap

Las características de Nmap nunca parecen terminar, y gracias al NSE, eso incluso nos permite lanzar ataques DOS contra nuestras pruebas de red.

En nuestro ejemplo anterior (# 12) encontramos que el host era vulnerable al ataque de Slowloris, y ahora intentaremos explotar esa vulnerabilidad lanzando un ataque de DOS en un ciclo indefinido:

nmap 192.168.1.105 -max-parallelism 800 -Pn --script http-slowloris --script-args http-slowloris.runforever=true

14. Lanzar ataques de fuerza bruta

NSE es realmente fascinante: contiene secuencias de comandos para todo lo que puedas imaginar. Vea los siguientes tres ejemplos de BFA contra WordPress, MSSQL y servidor FTP:

Ataque de fuerza bruta de WordPress:

nmap -sV --script http-wordpress-brute --script-args 'userdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=domain.com, http-wordpress-brute.threads=3,brute.firstonly=true' 192.168.1.105

Ataque de fuerza bruta contra MS-SQL:

nmap -p 1433 --script ms-sql-brute --script-args userdb=customuser.txt,passdb=custompass.txt 192.168.1.105

Ataque de fuerza bruta FTP:

nmap --script ftp-brute -p 21 192.168.1.105

15. Detectar infecciones de malware en hosts remotos

Nmap puede detectar malware y puertas traseras mediante la ejecución de pruebas exhaustivas en algunos servicios de sistemas operativos populares, como Identd, Proftpd, Vsftpd, IRC, SMB y SMTP. También tiene un módulo para buscar señales de malware populares dentro de servidores remotos y también integra las bases de datos de Navegación Segura y VirusTotal de Google.

Se puede realizar un escaneo de malware común usando:

nmap -sV --script=http-malware-host 192.168.1.105

O usando la comprobación de malware de Google:

nmap -p80 --script http-google-malware infectedsite.com

Ejemplo de salida:

80/tcp open  http
|_http-google-malware.nse: Host is known for distributing malware.

Nmap es uno de los escáneres de puertos más completos y precisos que utilizan los profesionales de la seguridad de la información en la actualidad. Con él, puede realizar tareas simples de escaneo de puertos o usar su poderoso motor de scripting para lanzar ataques DOS, detectar malware o pruebas de fuerza bruta en servidores remotos y locales.

Hoy cubrimos los quince principales comandos de Nmap para escanear hosts remotos, pero hay mucho más por descubrir si está comenzando a usar Nmap en su estrategia OSINT.