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!