martes, 9 de junio de 2009

Scanners y NMap

Los scanner son herramientas que son utilizadas para poder encontrar ciertas características del objetivo sobre el cual se dirigen. Pueden encontrar desde los servicios con los que cuenta un determinado servidor, hasta “mapear” la red objetivo. Se suelen usar estas herramientas para las auditorias de seguridad, como herramientas para administradores de res, y como instrumentos para encontrar posibles vulnerabilidades de un servidor dado.


Como primer ejemplo de un scanner encontramos a la herramienta libre NMap, que es usada como un explorador de redes y como un scanner de servicios. Es muy usado en el mundo de la seguridad y cuenta con muchas técnicas de escaneo. Se puede configurar desde el tipo de escaneo como TCP o UDP, hasta técnicas de evasión contra sistemas de detección de intrusos.


Se diseñó para analizar rápidamente grandes redes, aunque funciona muy bien contra equipos individuales. Nmap utiliza paquetes IP “raw” en formas originales para determinar qué equipos se encuentran disponibles en una red, qué servicios (nombre y versión de la aplicación) ofrecen, qué sistemas operativos (y sus versiones) ejecutan, qué tipo de filtros de paquetes o cortafuegos se están utilizando así como docenas de otras características.


Con el resultado de escaneo se lista en primer la guara la llamada información primordial en la “tabla de puertos interesantes” donde se muestra la lista de número de puerto y protocolo, el nombre del servicio que se debería proporcionar en dicho puerto y su estado(filtrado, abierto, cerrado, no filtrado), donde filtrado indica un firewall impidiendo un acceso.


Si hacemos un escaneo del servidor de la página web de la FCA, sin ninguna técnica especial de escaneo, con el objeto de encontrar la “tabla de puertos interesantes”, nmap genera la siguiente salida:

usuario-desktop:nmap-4.85BETA9 usuarios$ nmap -v -A www.algunhost.com

Starting Nmap 4.85BETA9 ( http://nmap.org ) at 2009-06-03 18:40 CDT
Warning: File ./nmap-services exists, but Nmap is using /usr/local/share/nmap/nmap-services for security and consistency reasons. set NMAPDIR=. to give priority to files in your local directory (may affect the other data files too).
NSE: Loaded 28 scripts for scanning.
Initiating Ping Scan at 18:40
Scanning 132.248.xx.xx [1 port]
Completed Ping Scan at 18:40, 0.03s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 18:40
Completed Parallel DNS resolution of 1 host. at 18:40, 0.04s elapsed
Initiating Connect Scan at 18:40
Scanning www.algunhost.com (132.248.xx.xx) [1000 ports]
Discovered open port 443/tcp on 132.248.xx.xx
Discovered open port 3306/tcp on 132.248.xx.xx
Discovered open port 80/tcp on 132.248.xx.xx
Discovered open port 22/tcp on 132.248.xx.xx
Discovered open port 111/tcp on 132.248.xx.xx
Discovered open port 2008/tcp on 132.248.xx.xx
Completed Connect Scan at 18:40, 18.25s elapsed (1000 total ports)
Initiating Service scan at 18:40
Scanning 6 services on www.algunhost.com (132.248.xx.xx)
Completed Service scan at 18:42, 116.89s elapsed (6 services on 1 host)
NSE: Script scanning 132.248.18.65.
NSE: Starting runlevel 1 scan
Initiating NSE at 18:42
Completed NSE at 18:43, 31.63s elapsed
NSE: Script Scanning completed.
Host www.algunhost.com (132.248.xx.xx) is up (0.26s latency).
Interesting ports on www.algunhost.com (132.248.xx.xx):
Not shown: 993 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.3 (protocol 2.0)
|_ ssh-hostkey: 1024 d6:fa:ad:91:51:b8:f1:9b:a4:c1:f2:40:d0:90:16:77 (DSA)
80/tcp open http Apache httpd 2.2.2 ((Fedora))
|_ html-title: Esto es algunhost cualquiera
111/tcp open rpcbind
| rpcinfo:
| 100000 2 111/udp rpcbind
| 100024 1 32768/udp status
| 100000 2 111/tcp rpcbind
|_ 100024 1 42551/tcp status
443/tcp open ssl/http Apache httpd 2.2.2 ((Fedora))
| html-title: Esto es algunhost cualquiera
|_ Requested resource was http://www.algunhost.com/home/
1080/tcp filtered socks
2008/tcp open conf?
3306/tcp open mysql?

Read data files from: /usr/local/share/nmap
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 166.96 seconds



El escaneo nos indica que el servidor proporciona servicios ssh, en concreto OpenSSH 4.3, servicio Web a través del puerto 80 con un Servidor apache 2.2.2 precompilado para sistemas Fedora, un servicio rpcbind en el puerto 111, una conexión http encriptada mediante ssh/http como conocida como https en el puerto 443. También no se puede indentidicar bien la versión del servidor MySQL en el puerto 3306, además de un puerto de socket filtrado en 1080.


Esto nos ayuda a encontrar la vulnerabilidades del sistema, como por ejemplo la información de que el servidor corre un servidor OpenSSH de versión 4.3 nos indica que es posiblemente vulnerable a un ataque de denegación de servicios: OpenSSH <= 4.3 p1 (Duplicated Block) Remote Denial of Service Exploit. Sin embargo no es el caso ya que la vulnerabilidad solo afecta al protocolo 1 y no al 2 como indica la información de NMap. De esta forma se pueden encontrar vulnerabilidades del sistema en cuestión.


En otro post pondremos un manual básico de comandos NMap.

No hay comentarios:

Publicar un comentario