VIE, 10 / JUN / 2011

Escuela de Hacking: Cómo realizar un Penetration Test – Parte Final

Como todos los trabajos, ser un profesional de la seguridad informática tiene sus partes divertidas y sus partes aburridas y uno de las temas más entretenidos es el de realizar pruebas de intrusión, o Penetration Tests que consisten, básicamente, en hacer lo que haría una persona que quisiera atacar los sistemas de la organización para la cual hacemos el trabajo: aquí les la parte final de esta magistral clase.

En los artículos I y II analizamos los servidores de DNS y SMTP.

Escuela de Hacking: Cómo realizar un Penetration Test – Parte I
Escuela de Hacking: Cómo realizar un Penetration Test – Parte II

Ahora es el turno de cerrar esta clase magistral sobre Penetration Test y por eso analizaremos los servidores web.

Como el servidor web es www.sinnombre.com.ar, vamos a hacer un telnet al puerto 80 para obtener alguna que otra información básica:

===============================================================================
fabian@debian:~$ telnet www.sinnombre.com.ar 80
Trying 112.112.112.112
Connected to www.sinnombre.com.ar
Escape character is ‘^]’.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Server: Apache/2.0.59
Content-Type: text/html; charset=UTF-8
Date: Thu, 02 Jun 2011 01:54:34 GMT
Keep-Alive: timeout=5, max=100
Accept-Ranges: bytes
Connection: close
Set-Cookie: X-Mapping-fiodmlao=0BF0CD86ED36BA7FDA6B0F9FBB6640F2; path=/
Last-Modified: Tue, 24 Nov 2009 22:52:54 GMT
Content-Length: 201

Connection closed by foreign host.
===============================================================================

Aquí podemos ver la información básica del servidor web (Apache 2.0.59). Para obtener información más detallada acerca del mismo, es una excelente idea utilizar herramientas especializadas, como nikto, así:

fabian@debian:~$ nikto -host www.sinnombre.com.ar

Se nos ha devuelto la siguiente información:

+ robots.txt contains 6 entries which should be manually viewed.
+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS, TRACE
+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ Retrieved X-Powered-By header: PHP/5.1.6
+ ETag header found on server, inode: 606154, size: 121, mtime: 0x26d3b100
+ Apache/2.0.59 appears to be outdated (current is at least Apache/2.2.14). Apache 1.3.41 and 2.0.63 are also current.

Con lo cual, podemos determinar que nuestro siguientes pasos serán:

– Analizar el archivo ‘robots.txt’ y buscar anormalidades
– Verificar si se podría explotar el método ‘TRACE’ para atacar el servidor
– Buscar vulnerabilidades en la versión de PHP instalada (5.1.6)
– Buscar vulnerabilidades en la versión de Apache instalada (2.0.59)

También podemos utilizar la herramienta nmap para obtener más información del servidor, así:

(utilizando sudo, porque las pruebas -O y -sV necesitan permisos de root)
fabian@debian:~$ sudo nmap -O -sV www.sinnombre.com.ar

Starting Nmap 5.00 ( http://nmap.org ) at 2011-06-01 23:01 ART
Interesting ports on www.sinnombre.com.ar:
Not shown: 992 filtered ports
PORT     STATE  SERVICE    VERSION
20/tcp   closed ftp-data
21/tcp   open   ftp        ProFTPD 1.3.1
25/tcp   closed smtp
53/tcp   closed domain
80/tcp   open   http       Apache httpd 2.0.59 ((CentOS))
110/tcp  closed pop3
443/tcp  open   ssl/http   Apache httpd 2.0.59 ((CentOS))
8080/tcp closed http-proxy

De este reporte podemos ver que, además de estar corriendo un servidor Apache 2.0.59, el sistema operativo es un CentOS Linux. Con lo cual, podemos ver que la empresa utiliza tanto servidores Windows como Linux.

Otro dato interesante que podíamos ver en el reporte es que, además, está disponible el servicio FTP (ProFTPD 1.3.1), así que podemos iniciar pruebas contra ese servicio y buscar en internet cuáles la última versión del software ProFTPD y si existen vulnerabilidades que afecten a la versión 1.3.1 .

Las pruebas con nmap también podemos hacerlas contra los servidores DNS y SMTP, para recabar más datos aún. Y tener más información para encontrar vulnerabilidades asociadas al software de cada equipo.

Con todos estos datos ya podemos armar un buen mapa de los servicios básicos que está brindando SIN NOMBRE S.A. En base a esto vamos a poder obtener algunos otros datos adicionales, con algunas herramientas como Nessus, OpenVAS, Metasploit y otras que veremos en otros artículos.

En la próxima entrega vamos a analizar cuestiones de arquitectura de red de la empresa, e intentaremos obtener datos acerca de los routers y las direcciones ip que utiliza.

¡Nos vemos en la próxima entrega!

Fabian Portantier
www.portantier.com
www.twitter.com/#!/portantier

¡Comparte esta noticia!