Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Manual de Nmap

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 18

MANUAL DE NMAP

Introducción: .................................................................................................................... 2
1. Nmap ............................................................................................................................ 3
1 .1 Nmap ejemplos .......................................................................................................... 3
1.2. Usando Nmap desde un fichero ................................................................................ 4
1.3. Formatos de salida de Nmap ..................................................................................... 4
1.4 Ejemplos de Nmap Netbios ........................................................................................ 5
1.5 Usando Nikto desde Nmap ......................................................................................... 5
1.6 Especificación del objetivo ......................................................................................... 6
1.7 Descubriendo Host ..................................................................................................... 6
1.8 Técnicas de escaneo ................................................................................................... 7
1.9 Especificación de puertos y ordenación ..................................................................... 8
1.10 Detección de version de servicio .............................................................................. 8
1.11 Escaneo usando scripts............................................................................................. 9
1.12 Detección de SO ....................................................................................................... 9
1.13 Tiempos y mejora de rendimiento ......................................................................... 10
1.14 Evasión de Firewalls IDS y Spoofing ....................................................................... 11
1.15 Opciones de salida de Nmap .................................................................................. 12
1.16 Opciones Miscelaneas de Nmap ............................................................................ 13
1.17 Ejemplos de enumeración con Nmap .................................................................... 14
1.17.1 Enumerando Netbios ........................................................................................... 14
2. Uso de scripts NSE ...................................................................................................... 16
2.1 Uso de scripts NSE para mejorar los escaneos de Nmap ......................................... 16
2.2 Usando el nombre del script .................................................................................... 16
2.3 Usando categorías .................................................................................................... 17
2.4 Usando comodines ................................................................................................... 17
2.5 Usando expresiones booleanas ................................................................................ 17
2.6 Pasando argumentos a los scripts NSE ..................................................................... 18

www.thesecuritysentinel.es Página 1 de 18
Introducción:
Nmap es un programa de código abierto que sirve para efectuar rastreo de puertos
escrito originalmente por Gordon Lyon y cuyo desarrollo se encuentra hoy a cargo de
una comunidad. Fue creado originalmente para Linux aunque actualmente es
multiplataforma. Se usa para evaluar la seguridad de sistemas informáticos, así como
para descubrir servicios o servidores en una red informática, para ello Nmap envía
unos paquetes definidos a otros equipos y analiza sus respuestas.
La web oficial de Nmap es:
https://nmap.org/

www.thesecuritysentinel.es Página 2 de 18
1. Nmap

1 .1 Nmap ejemplos

Ejemplos básicos de escaneo Nmap, frecuentemente utilizados en la fase de


enumeración.

COMANDO DESCRIPCIÓN

nmap -sP Ping scans the network, listing machines


10.0.0.0/24 that respond to ping.

Full TCP port scan using with service


nmap -p 1-65535 - version detection - usually my first
sV -sS -T4 target scan, I find T4 more accurate than T5 and
still "pretty quick".

Prints verbose output, runs stealth syn


nmap -v -sS -A - scan, T4 timing, OS and version detection
T4 target + traceroute and scripts against target
services.

Prints verbose output, runs stealth syn


nmap -v -sS -A - scan, T5 timing, OS and version detection
T5 target + traceroute and scripts against target
services.

Prints verbose output, runs stealth syn


nmap -v -sV -O -
scan, T5 timing, OS and version
sS -T5 target
detection.

nmap -v -p 1- Prints verbose output, runs stealth syn


65535 -sV -O -sS scan, T4 timing, OS and version detection
-T4 target + full port range scan.

nmap -v -p 1- Prints verbose output, runs stealth syn


65535 -sV -O -sS scan, T5 timing, OS and version detection
-T5 target + full port range scan.

www.thesecuritysentinel.es Página 3 de 18
Los escaneos agresivos son más rápidos, pero se pueden perder resultados!

T5 usa escaneos más agresivos y puede perder algún Puerto comprometido, T4 es


major si necesitas un escaneo rápido pero buenos resultados.

1.2. Usando Nmap desde un fichero

COMANDO DESCRIPCIÓN

nmap -iL ip- Scans a list of IP addresses, you can


addresses.txt add options before / after.

1.3. Formatos de salida de Nmap

COMANDO DESCRIPCIÓN

Outputs "grepable" output to a


nmap -sV -p 139,445 -oG file, in this example Netbios
grep-output.txt servers.
10.0.1.0/24 E.g, The output file could be
grepped for "Open".

nmap -sS -sV -T5 10.0.1.99


--webxml -oX - Export nmap output to HTML
| xsltproc --output report.
file.html -

www.thesecuritysentinel.es Página 4 de 18
1.4 Ejemplos de Nmap Netbios

COMANDO DESCRIPCIÓN

nmap -sV -v -p 139,445 Find all Netbios servers on


10.0.0.1/24 subnet

nmap -sU --script


Nmap display Netbios name
nbstat.nse -p 137 target

nmap --script-
args=unsafe=1 --script Nmap check if Netbios servers
smb-check-vulns.nse -p are vulnerable to MS08-067
445 target

--script-args=unsafe=1 potencialmente puede parar servicios/servidores

Cuidado cuando se ejecute este comando.

1.5 Usando Nikto desde Nmap

COMANDO DESCRIPCIÓN

nmap -p80 10.0.1.0/24 - Scans for http servers on port 80


oG - | nikto.pl -h - and pipes into Nikto for scanning.

nmap -p80,443 Scans for http/https servers on


10.0.1.0/24 -oG - | port 80, 443 and pipes into Nikto
nikto.pl -h - for scanning.

www.thesecuritysentinel.es Página 5 de 18
1.6 Especificación del objetivo

Nmap admite hostnames, direcciones IP , subredes.

Ejemplo blah.highon.coffee, nmap.org/24, 192.168.0.1; 10.0.0-255.1-254

COMANDO DESCRIPCIÓN

inputfilename: Input from list of


-iL
hosts/networks

-iR num hosts: Choose random targets

host1[,host2][,host3],... : Exclude
--exclude
hosts/networks

--
exclude_file: Exclude list from file
excludefile

1.7 Descubriendo Host

COMANDO DESCRIPCIÓN

List Scan - simply list targets to


-sL
scan

-sn Ping Scan - disable port scan

Treat all hosts as online -- skip


-Pn
host Discovery

- TCP SYN/ACK, UDP or SCTP discovery to


PS/PA/PU/PY[portlist] given ports

ICMP echo, timestamp, and netmask


-PE/PP/PM
request discovery probes

-PO[protocol list] IP Protocol Ping

www.thesecuritysentinel.es Página 6 de 18
COMANDO DESCRIPCIÓN

Never do DNS resolution/Always


-n/-R
resolve [default: sometimes]

1.8 Técnicas de escaneo

COMANDO DESCRIPCIÓN

-sS TCP SYN scan


-sT Connect scan
-sA ACK scan
-sW Window scan
-sM Maimon scan

-sU UDP Scan

-sN TCP Null scan


-sF FIN scan
-sX Xmas scan

--scanflags Customize TCP scan flags

-sI zombie host[:probeport] Idle scan

-sY SCTP INIT scan


-sZ COOKIE-ECHO scan

-sO IP protocol scan

-b "FTP relay host" FTP bounce scan

www.thesecuritysentinel.es Página 7 de 18
1.9 Especificación de puertos y ordenación

COMANDO DESCRIPCIÓN

-p Specify ports, e.g. -p80,443 or -p1-65535

-p U:PORT Scan UDP ports with Nmap, e.g. -p U:53

Fast mode, scans fewer ports than the


-F
default scan

Scan ports consecutively - don't


-r
randomize

--top-ports
Scan "number" most common ports
"number"

--port-ratio
Scan ports more common than "ratio"
"ratio"

1.10 Detección de version de servicio

COMANDO DESCRIPCIÓN

Probe open ports to determine


-sV
service/version info

--version-intensity Set from 0 (light) to 9 (try all


"level" probes)

Limit to most likely probes (intensity


--version-light
2)

--version-all Try every single probe (intensity 9)

Show detailed version scan activity


--version-trace
(for debugging)

www.thesecuritysentinel.es Página 8 de 18
1.11 Escaneo usando scripts

COMANDO DESCRIPCIÓN

-sC equivalent to --script=default

"Lua scripts" is a comma separated


--script="Lua scripts" list of directories, script-files
or script-categories

--script-
provide arguments to scripts
args=n1=v1,[n2=v2,...]

-script-args-
provide NSE script args in a file
file=filename

--script-trace Show all data sent and received

--script-updatedb Update script database

--script-help="Lua
Show help about scripts
scripts"

1.12 Detección de SO

COMANDO DESCRIPCIÓN

-O Enable OS Detection

--osscan-limit Limit OS detection to promising targets

--osscan-guess Guess OS more aggressively

www.thesecuritysentinel.es Página 9 de 18
1.13 Tiempos y mejora de rendimiento

COMANDO DESCRIPCIÓN

Set timing template - higher is faster


-T 0-5
(less accurate)

--min-hostgroup SIZE
Parallel host scan group sizes
--max-hostgroup SIZE

--min-parallelism
NUMPROBES
Probe parallelization
--max-parallelism
NUMPROBES

--min-rtt-timeout
TIME
--max-rtt-timeout
Specifies probe round trip time
TIME
--initial-rtt-
timeout TIME

Caps number of port scan probe


--max-retries TRIES
retransmissions

--host-timeout TIME Give up on target after this long

--scan-delay TIME
--max-scan-delay Adjust delay between probes
TIME

Send packets no slower than NUMBER per


--min-rate NUMBER
second

Send packets no faster than NUMBER per


--max-rate NUMBER
second

www.thesecuritysentinel.es Página 10 de 18
1.14 Evasión de Firewalls IDS y Spoofing

COMANDO DESCRIPCIÓN

Fragment packets (optionally


-f; --mtu VALUE
w/given MTU)

-D decoy1,decoy2,ME Cloak a scan with decoys

-S IP-ADDRESS Spoof source address

-e IFACE Use specified interface

-g PORTNUM
Use given port number
--source-port PORTNUM

Relay connections through HTTP /


--proxies url1,[url2],...
SOCKS4 proxies

Append random data to sent


--data-length NUM
packets

Send packets with specified ip


--ip-options OPTIONS
options

--ttl VALUE Set IP time to live field

--spoof-mac
Spoof NMAP MAC address
ADDR/PREFIX/VENDOR

Send packets with a bogus


--badsum
TCP/UDP/SCTP checksum

www.thesecuritysentinel.es Página 11 de 18
1.15 Opciones de salida de Nmap

COMANDO DESCRIPCIÓN

-oN Output Normal

-oX Output to XML

-oS Script Kiddie / 1337 speak... sigh

Output greppable - easy to grep nmap


-oG
output

-oA BASENAME Output in the three major formats at once

Increase verbosity level use -vv or more


-v
for greater effect

Increase debugging level use -dd or more


-d
for greater effect

Display the reason a port is in a


--reason
particular state

--open Only show open or possibly open ports

--packet-trace Show all packets sent / received

Print host interfaces and routes for


--iflist
debugging

Log errors/warnings to the normal-format


--log-errors
output file

Append to rather than clobber specified


--append-output
output files

--resume
Resume an aborted scan
FILENAME

www.thesecuritysentinel.es Página 12 de 18
COMANDO DESCRIPCIÓN

--stylesheet XSL stylesheet to transform XML output to


PATH/URL HTML

Reference stylesheet from Nmap.Org for


--webxml
more portable XML

Prevent associating of XSL stylesheet


--no-stylesheet
w/XML output

1.16 Opciones Miscelaneas de Nmap

COMANDO DESCRIPCIÓN

-6 Enable IPv6 scanning

Enable OS detection, version detection,


-A
script scanning, and traceroute

--datedir
Specify custom Nmap data file location
DIRNAME

--send-eth
Send using raw ethernet frames or IP packets
--send-ip

--privileged Assume that the user is fully privileged

--unprivileged Assume the user lacks raw socket privileges

-V Show nmap version number

-h Show nmap help screen

www.thesecuritysentinel.es Página 13 de 18
1.17 Ejemplos de enumeración con Nmap

Los siguientes ejemplos son ejemplos de la vida real de enumeración con Nmap.

1.17.1 Enumerando Netbios

Los siguientes ejemplos enumeran objetivos de red, el mismo proceso puede ser
aplicado modificando los puertos o usando scripts NSE.

Búsqueda de servidores Netbios expuestos mediante Nmap

root:~# nmap -sV -v -p 139,445 10.0.1.0/24

Starting Nmap 6.47 ( http://nmap.org ) at 2014-12-11 21:26 GMT


Nmap scan report for nas.decepticons 10.0.1.12
Host is up (0.014s latency).

PORT STATE SERVICE VERSION


139/tcp open netbios-ssn Samba smbd 3.X (workgroup: MEGATRON)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: MEGATRON)

Service detection performed. Please report any incorrect


results at http://nmap.org/submit/ .
Nmap done: 256 IP addresses (1 hosts up) scanned in 28.74
seconds

Encontrar el nombre Netbios con Nmap.

root:~# nmap -sU --script nbstat.nse -p 137 10.0.1.12

Starting Nmap 6.47 ( http://nmap.org ) at 2014-12-11 21:26 GMT


Nmap scan report for nas.decepticons 10.0.1.12
Host is up (0.014s latency).

PORT STATE SERVICE VERSION


137/udp open netbios-ns

Host script results:


|_nbstat: NetBIOS name: STARSCREAM, NetBIOS user: unknown,
NetBIOS MAC: unknown (unknown)

www.thesecuritysentinel.es Página 14 de 18
Nmap done: 256 IP addresses (1 hosts up) scanned in 28.74
seconds

Chequear si es objetivo es vulnerable a MS08-067

root:~# nmap --script-args=unsafe=1 --script smb-check-vulns.nse -p 445 10.0.0.1

Nmap scan report for ie6winxp.decepticons (10.0.1.1)


Host is up (0.00026s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
Host script results:
| smb-check-vulns:
| MS08-067: VULNERABLE
| Conficker: Likely CLEAN
| regsvc DoS: NOT VULNERABLE
| SMBv2 DoS (CVE-2009-3103): NOT VULNERABLE
|_ MS07-029: NO SERVICE (the Dns Server RPC service is
inactive)
Nmap done: 1 IP address (1 host up) scanned in 5.45 seconds

La información obtenida durante la enumeración nos indica que el objetivo es


vulnerable a MS08-067, la explotación confirmará dicha vulnerabilidad.

www.thesecuritysentinel.es Página 15 de 18
2. Uso de scripts NSE

2.1 Uso de scripts NSE para mejorar los escaneos de Nmap

Puedes seleccionar o cargar scripts para mejorar el escaneo mediante diferentes


técnicas.

2.2 Usando el nombre del script

Una vez que sabes lo que hace un script, puedes mejorar tus escaneos utilizándolo.
Puedes utilizer un script, o una lista de ellos separándolos por comas. En el ejemplo
podremos ver las cabeceras HTTP del servidor web objetivo:

$ nmap --script http-headers scanme.nmap.org

Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:39


IST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.27s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
| http-headers:
| Date: Wed, 15 Nov 2017 05:10:04 GMT
| Server: Apache/2.4.7 (Ubuntu)
| Accept-Ranges: bytes
| Vary: Accept-Encoding
| Connection: close
| Content-Type: text/html
|
|_ (Request type: HEAD)
179/tcp filtered bgp
31337/tcp open Elite
Nmap done: 1 IP address (1 host up) scanned in 20.96 seconds

www.thesecuritysentinel.es Página 16 de 18
2.3 Usando categorías

Puedes cargar scripts de una categoría o varias separándolas por comas. En el ejemplo
estamos usando los scripts por defecto y de la categoría broadcast:

$ nmap --script default,broadcast 192.168.56.1

2.4 Usando comodines

Es útil cuando quieres seleccionar varios script utilizar comodines y patrones. Por
ejemplo, este comando cargará todos los scripts que empiecen por ssh:

$ nmap --script "ssh-*" 192.168.56.1

2.5 Usando expresiones booleanas

Además de los scripts, puedes usar expresiones booleanas (and, or, not).

El siguiente comando cargará scripts por defecto o broadcast:

$ nmap --script "default or broadcast" 192.168.56.10

Que es equivalente a:

$ nmap --script default,broadcast 192.168.56.10

Para cargar scripts omitiendolos de la categoría de vulnerabilidades, ejecuta este


comando en el terminal.

$ nmap --script "not vuln" 192.168.56.10

El siguiente comando parece complicado, pero es fácil de entender, selecciona un


script por defecto o broadcast ignorando aquellos que empiecen por ssh:

$ nmap --script "(default or broadcast) and not ssh-*"


192.168.56.10

www.thesecuritysentinel.es Página 17 de 18
Es importante saber que estos métodos se pueden combiner e incluso los puedes
customizer con tus scripts.

$ nmap --script broadcast,vuln,ssh-auth-


methods,/path/to/custom/scripts 192.168.56.10

2.6 Pasando argumentos a los scripts NSE

Un ejemplo de como pasar opciones con –script-args:

$ nmap --script mysql-audit --script-args "mysql-


audit.username='root', \
mysql-audit.password='password_here', mysql-
audit.filename='nselib/data/mysql-cis.audit'"

Para pasar un número de puerto, usa la opción de Nmap -p:

$ nmap -p 3306 --script mysql-audit --script-args "mysql-


audit.username='root', \
mysql-audit.password='password_here' , mysql-
audit.filename='nselib/data/mysql-cis.audit'"

El comando de arriba audita la seguridad de una base de datos MySQL contra el script
mysql-cis.audit. Puedes encontrar más información de Nmap en la página official NSE.

Para comenzar a escribir tus propios scripts NSE, mira esta guía:

https://nmap.org/book/nse-tutorial.html

www.thesecuritysentinel.es Página 18 de 18

También podría gustarte