Introducción a Nmap.
Introducción
a Nmap.
Por Camilo Ernesto
Murcia.
Nmap ("Network Mapper")
, es una herramienta open source, diseñada
para explorar y para realizar auditorias de seguridad en una red
de computadoras.
A continuación se
presentan ejemplos de utilización de esta poderosa
herramienta.
*Nota: esta herramienta
puede ser utilizada para realizar auditorias de seguridad
en una red, pero también puede ser utilizada para fines delictivos, ya
que esta
herramienta pone al descubierto, puertos abiertos en las computadoras de una
red,
así como también es posible conocer como se encuentra organizada,
y de cuantas
computadoras consta una red.
Alguien dijo una vez, que la mejor forma de comprobar la seguridad de
nuestra red, es tratar de romper por nosotros mismos dicha
seguridad.
solo de esta forma podremos
conocer y quitarnos falsas creencias de que
nuestra red es lo suficiente segura.
Además, si Ud. cree
que su red es insegura, no se preocupe, que si
existe una forma fácil y rápida de protegerse: por favor desconecte
el cable de red.
Pero esta vez conoceremos
formas básicas y no tan básicas de realizar
auditorias en nuestra red de computadoras, para que no tenga que
desconectar su cable de red ;) .
Nmap puede bajarse del
sitio oficial en de esta dirección:
http://www.insecure.org/nmap/
Manos a la obra.
La sintaxis básica
de nmap es:
nmap [tipo de scan] [opciones]
Por ejemplo si tenemos
un host en nuestra red, con direccion ip
192.168.0.1 y deseamos conocer que puertos tiene abiertos,
ejecutamos:
-------------------------------------------------------------------------
# nmap 192.168.0.1
Nmap nos mostrara en pantalla
algo como esto:
Starting nmap V. 2.54BETA30
( www.insecure.org/nmap/ )
Interesting ports on localhost (192.168.0.1):
(The 1545 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
111/tcp open sunrpc
6000/tcp open X11
Nmap run completed -- 1
IP address (1 host up) scanned in 0 seconds
-------------------------------------------------------------------------
Este resultado puede variar,
dependiendo de las opciones que se le
pasen a nmap o de la cantidad de puertos, que se encuentren abiertos en el host,
que esta siendo "scaneado".
Si queremos, conocer que
tipo de sistema operativo, esta corriendo el
host al que le realizamos el scaneo, sólo basta agregar el parámetro
-O a el comando nmap.
-------------------------------------------------------------------------
# nmap -O 192.168.0.1
nos mostrara un resultado
como este:
Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/ )
Interesting ports on localhost (192.168.0.1):
(The 1545 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
111/tcp open sunrpc
6000/tcp open X11
No exact OS matches for
host (If you know what OS is running on it, see
http://www.insecure.org/cgi-bin/nmap-submit.cgi).
TCP/IP fingerprint:
SInfo(V=2.54BETA30%P=i386-suse-linux%D=7/20%Time=3D39A479%O=22%C=1)
TSeq(Class=RI%gcd=1%SI=1B445E%IPID=Z%TS=100HZ)
TSeq(Class=RI%gcd=1%SI=2E12CD%IPID=Z)
T1(Resp=Y%DF=Y%W=7FFF%ACK=S++%Flags=AS%Ops=MNNTNW)
T1(Resp=Y%DF=Y%W=7FFF%ACK=O%Flags=AS%Ops=MNNTNW)
T2(Resp=N)
T3(Resp=Y%DF=Y%W=7FFF%ACK=S++%Flags=AS%Ops=MNNTNW)
T3(Resp=Y%DF=Y%W=7FFF%ACK=O%Flags=AS%Ops=MNNTNW)
T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)
Nmap run completed -- 1 IP address (1 host up) scanned in 12 seconds
-------------------------------------------------------------------------
Este es el resultado que
mostró el comando, al realizar un scaneo a una
pc con Linux, distribución SuSE Linux.
Pero como hace nmap, para reconocer el sistema operativo, que se
esta ejecutando en el host destino?.
Básicamente, cada
sistema operativo, responde diferente, cuando se le
envían paquetes tcp específicos, así se logra determinar
con una buena exactitud,que sistema operativo se esta
ejecutando.
Al ejecutar nmap, contra
un host con sistema operativo Windows XP, se produjo este resultado:
-------------------------------------------------------------------------
# nmap -O 192.168.0.1
Starting nmap V. 2.54BETA30
( www.insecure.org/nmap/ )
Interesting ports on (192.168.0.2):
(The 1544 ports scanned but not shown below are in state: closed)
Port State Service
135/tcp open loc-srv
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1025/tcp open listen
5000/tcp open fics
Remote OS guesses: Windows
Me or Windows 2000 RC1 through final
release, Windows Millenium Edition v4.90.3000
Nmap run completed -- 1
IP address (1 host up) scanned in 3 seconds
-------------------------------------------------------------------------
Ahora, veremos un par
de opciones más interesantes que posee nmap.
Identificando los
hosts activos, en nuestra red.
Supongamos, que tenemos
una red, 192.168.0.x, y deseamos conocer que
hosts se encuentran activos, fácilmente, lo podemos saber con nmap, esto
lo
podemos conocer al realizar un ping scan.
#nmap -sP 192.168.0.1-255
Realizando Stealth
Scans .
Con este tipo de scan,
se pretende no ser detectado por software de
detección de scaneos, se envían paquetes a los hosts con ciertos
"flags" TCP
activados o desactivados para evitar ser detectados.
sN: Stealth, Null Scan,
este tipo de scan pone en off todos los flags.
sF: Stealth FIN Scan, este
tipo de scan usa paquetes con el flag FIN
activado para las pruebas.
sX: Stealth Xmas Tree Scan,
este tipo de scan envia paquetes con los
flag FIN, URG, y PUSH activados.
sp: Ping Scan, realiza
un scan dentro de un rango especifico de hosts.
útil para conocer que hosts se encuentran en linea sin ser detectados.
Si deseamos hacer un stealth scan del tipo Xmas Tree, y ademas deseamos
conocer que sistema operativo esta corriendo
el host de destino, ejecutamos:
#nmap -sX -O 192.168.1.2
Despistalo con
un Decoy Scan:
-D: Esta opción se utiliza para tratar de engañar al host, al
cual se esta "scaneando", que los scans se estan generando
desde otros hosts, que se especifican en la opción -D.
En el siguiente ejemplo,
realizamos un Stealth Xmas Tree scan (-sX) hacia el
host 192.168.0.1, en los puertos 25(SMTP), 53(DNS), le indicamos a
nmap que no genere pings hacia el host, y tratamos de engañar al host
(-D, Decoy), haciendole creer que los scans se estan generando desde los hosts
1.2.3.4 y 5.6.7.8.
#nmap -p 25,53 -sX -P0 -D 1.2.3.4,5.6.7.8 192.168.0.1
Guardando los resultados
de tus scans.
Nmap permite guardar los resultados de un scan, en varios tipos de
formato de archivo: Normal, XML, Grepable, All, y en formato "S" (s|<ipT
kiDd|3 f0rM iNto THe fiL3 U sPecfy 4s an
arGuMEnT!, o mejor conocido como formato Script Kiddie!).
Si deseamos hacer un stealth scan del tipo Xmas Tree, también deseamos
conocer que sistema operativo esta corriendo el host de destino, y ademas deseamos
guardar el resultado de este scan
en un archivo llamado "scanresult.txt", ejecutamos:
#nmap -sX -O 192.168.1.2 -oN scanresult.txt
Ahora si lo que deseamos es realizar el scan anterior pero dentro de un rango
de hosts específicos,
digamos del host 192.168.1.1 hasta la ip 192.168.1.255 , y deseamos guardar
el resultado del scan en un archivo de texto normal entonces ejecutamos:
#nmap -sX -O 192.168.1.1-255
-oN scanresult.txt
Interfaces Gráficas para Nmap.
Si no desean, utilizar
la interfaz de comandos de nmap, facilmente
pueden utilizar 2 de las interfaces gráficas mas conocidas, que existen
para nmap.
*nmapFE
*KMAP
Espero que este articulo les
resulte útil en sus auditorias de seguridad, ya que solo conociendo las
vulnerabilidades
que existen en nuestras redes, sabremos que medidas tomar para protegernos mejor.
Introducción a Nmap.
Camilo Ernesto Murcia.
kmilo@plazalinux.com.
|