Nmap
Aprovechando el lanzamiento anunciado en Insecure.org (despues de 6 meses de desarrollo y 13 beta-releases) voy a hablar un poco del scaner mas famoso de la red (si hasta aparecio en Matrix usado por Trinity :D)
Nmap (Network Mapper) nos da la posibilidad de conocer que OS corre la maquina scaneada, los puertos abiertos y servicios que estan corriendo. A su vez nos puede informar como se encuentra distribuida una red y las maquinas que la conforman.
Todo admin de una red (o incluso de 1 solo sistema) tiene en Nmap un aliado increible, el cual le permitira conocer las fallas que afectan su sistema (con respecto a la configuracion) y ver asi que informacion podria obtener alguien que usara Nmap contra el (y si, sirve para los 2 lados).
Otra caracteristica que diferencia a Nmap de otras herramientas para realizar auditorias de sistema es el hecho de que sea gratuita. Asi que, con solo hacer un:
- sudo apt-get install nmap nmapfe
Vamos a tener instalados Nmap y su GUI (Nmap FrontEnd). Ahora, el problema de este metodo es que, en los repositorios de Ubuntu por ejemplo, la version que tenemos disponible es la 4.10, la cual no viene con el nuevo sistema de fingerprinting (para la deteccion del OS). Si solo esto fuera la unica novedad (sabiendo que todavia van a soportar la vieja base de datos de OS mientras siguen mejorando la nueva) no habria problema. La cuestion es que los cambios introducidos en esta version son bastantes (ademas de ciertos bugs que fueron corregidos. Dejo link al Changelog.
Para conseguir la ultima version tenemos que ir a la seccion Download de Insecure.org y conseguirla. Ahora, si estan usando algun sistema basado en Debian, no van a encontrar el paquete, solo el source. Es por eso que dejo los links para bajar los paquetes necesarios segun el repositorio Unstable de Debian:
- Nmap
- libssl0.9.8 (Por un cambio en el sistema de reconocimiento de OpenSSL, una herramienta para la implementacion del Secure Socket Layer, herramientas y librerias relacionadas con la criptografia. Seguridad para OpenSSH por ej.)
- NmapFE 4.21 ALPHA1-2 (lo hice yo partiendo de un rpm, asi que es para AMD64, sino, click en este link y ejecutan el comando: sudo alien nmap-frontend-4.20-1.i386.rpm, lo que les va a dejar un hermoso .deb como el mio)
Ahora, una vez instalado Nmap con solo correr el siguiente comando obtendremos una lista de puertos abiertos y de servicios corriendo en esos puertos:
- nmap 192.168.0.1 (remplazable por el IP que quieran scanear, o si es un rango de IPs seria 192.168.0.1/255 por ejemplo)
En mi caso, ese comando da algo como lo siguiente:
benji@micaja:~$ nmap localhost
Starting Nmap 4.20 ( http://insecure.org ) at 2007-01-15 21:03 ART
All 1697 scanned ports on localhost (127.0.0.1) are closed
Nmap finished: 1 IP address (1 host up) scanned in 0.140 seconds
Como se puede ver, no tengo ningun puerto “interesante” abierto en mi maquina. Ahora, si lo que queremos hacer esa veriguar el OS que corre la maquina scaneada lo que hacemos es agregar el parametro -O. Para esto, segun Nmap, tenemos que tener privilegios de root, asi que, en este caso el comando seria:
- sudo nmap -O 192.168.0.152
Lo que me daria como resultado algo como lo siguiente:
benji@micaja:~$ sudo nmap -O 192.168.0.152
Starting Nmap 4.20 ( http://insecure.org ) at 2007-01-15 21:11 ART
Warning: OS detection for 192.168.0.152 will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
Warning: OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
Interesting ports on 192.168.0.152:
Not shown: 1695 filtered ports
PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 00:40:F4:DB:0A:86 (Cameo Communications)
Device type: general purpose
Running (JUST GUESSING) : Microsoft Windows 2000|XP|2003 (91%)
Aggressive OS guesses: Microsoft Windows 2000 SP4 (91%), Microsoft Windows XP SP2 (86%), Microsoft Windows XP SP2 (firewall disabled) (86%), Microsoft Windows Server 2003 Enterprise Edition 64-Bit SP1 (85%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap finished: 1 IP address (1 host up) scanned in 56.446 seconds
Como se puede ver, la informacion es suficiente (y acertada en la maquina que scanee, que no es la mia je). Ahora por ultimo, vamos a correr nmap sobre una URL en lugar de una direccion IP, vamos a buscar saber el OS y su version. El comando seria el siguiente:
- sudo nmap -v -O -A scanme.nmap.org
La salida de consola que obtendriamos seria algo como la siguiente:
benji@micaja:~$ sudo nmap -v -O -A scanme.nmap.org
Starting Nmap 4.20 ( http://insecure.org ) at 2007-01-15 21:23 ART
Initiating Parallel DNS resolution of 1 host. at 21:23
Completed Parallel DNS resolution of 1 host. at 21:23, 0.03s elapsed
Initiating SYN Stealth Scan at 21:23
Scanning scanme.nmap.org (205.217.153.62) [1697 ports]
Discovered open port 53/tcp on 205.217.153.62
Discovered open port 80/tcp on 205.217.153.62
Discovered open port 22/tcp on 205.217.153.62
SYN Stealth Scan Timing: About 46.35% done; ETC: 21:25 (0:00:34 remaining)
Completed SYN Stealth Scan at 21:24, 47.19s elapsed (1697 total ports)
Initiating Service scan at 21:24
Scanning 3 services on scanme.nmap.org (205.217.153.62)
Completed Service scan at 21:24, 11.76s elapsed (3 services on 1 host)
Initiating OS detection (try #1) against scanme.nmap.org (205.217.153.62)
Retrying OS detection (try #2) against scanme.nmap.org (205.217.153.62)
Initiating gen1 OS Detection against 205.217.153.62 at 65.385s
For OSScan assuming port 22 is open, 25 is closed, and neither are firewalled
For OSScan assuming port 22 is open, 25 is closed, and neither are firewalled
For OSScan assuming port 22 is open, 25 is closed, and neither are firewalled
Host scanme.nmap.org (205.217.153.62) appears to be up … good.
Interesting ports on scanme.nmap.org (205.217.153.62):
Not shown: 1691 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.3 (protocol 2.0)
25/tcp closed smtp
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.2.2 ((Fedora))
113/tcp closed auth
Device type: general purpose|WAP|specialized|storage-misc|broadband router
Running (JUST GUESSING) : Linux 2.6.X|2.4.X (94%), Siemens linux (93%), Atmel Linux 2.6.X (93%), Linksys Linux 2.4.X (90%), Asus Linux 2.4.X (90%), Maxtor Linux 2.4.X (90%), Inventel embedded (89%), Netgear embedded (86%)
Aggressive OS guesses: Linux 2.6.13 - 2.6.18 (94%), Linux 2.6.14 - 2.6.17 (94%), Linux 2.6.17 (Debian) (94%), Linux 2.6.17 - 2.6.18 (x86) (94%), Linux 2.6.17.9 (X86) (94%), Linux 2.6.18-em64t (x86-64) (94%), Siemens Gigaset SE515dsl wireless broadband router (93%), Atmel AVR32 STK1000 development board (runs Linux 2.6.16.11) (93%), Linux 2.6.15-27-686 (Ubuntu Dapper, X86) (93%), Linux 2.6.18 (Arch Linux, x86) (91%)
No exact OS matches for host (test conditions non-ideal).
TCP Sequence Prediction: Difficulty=0 (Trivial joke)
IPID Sequence Generation: All zeros
OS and Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap finished: 1 IP address (1 host up) scanned in 80.605 seconds
Raw packets sent: 3496 (160.032KB) | Rcvd: 78 (4394B)
De vuelta, la informacion es bastante. Vemos, la direccion IP, los puertos abiertos (sobre que protocolo corren TCP/UDP) y que version del sistema se esta corriendo.
El programa en si nos permite usar muchos flags o parametros distintos a la hora de scanear una direccion. Esbastante facil de usar, incluso mas si se hace uso de NmapFE.
Si asi y todo, resulta complicado, la documentacion de Nmap es excelente y encima tambien esta en castellano (que mas se puede pedir?). Aca dejo el link al Manual
Espero que a alguien le sirva ya que es bastante util. Saludos






