Friday, December 5, 2008

Pentest, una breve guia - Continuacion


Continuamos con la guia de Pentest que comenzamos en este post

Ganar acceso

Luego de enumerar las vulnerabilidades, estamos en condiciones de evaluar las posibilidades de acceso.

El acceso a los equipos estara divido en tres fases o posibles objetivos.

Tratar de comprometer los dispositivos o servidores de red. Esto se llevara adelante utilizando herramientas de bruteforce , una plataforma de ataque como Metasploit u otras herramientas comerciales / Open source que se cuenten.

Hydra : Es una herramienta que permite realizar ataques de fuerza bruta o de diccionario a diferentes servicios. Actualmente soporta :
TELNET, FTP, HTTP, HTTPS, HTTP-PROXY, SMB, SMBNT, MS-SQL, MYSQL, REXEC,
RSH, RLOGIN, CVS, SNMP, SMTP-AUTH, SOCKS5, VNC, POP3, IMAP, NNTP, PCNFS,
ICQ, SAP/R3, LDAP2, LDAP3, Postgres, Teamspeak, Cisco auth, Cisco enable,
LDAP2, Cisco AAA




Metasploit : Metasploit es una herramienta que esta compuesta por diferentes modulos, los cuales permiten aprovechar exploits existentes. Los exploits en general permiten obtener un shell del sistema que es atacado. Hay diferentes tipos de vulnerabilidades que aprovecha Metasploit, las mas criticas son aquellas que permiten realizar un buferoverflow.


Comprometer la aplicacion es el siguiente paso en la fase actual. En este caso subiremos de la capa de servicios a la de aplicaciones. En este caso hablamos de aplicaciones que esten en relacion directa con el usuario, pueden ser extranets, erp, intranets o cualquier aplicación de acceso por medio de la red.

Aquí tenemos una gran variedad de herramientas, desde Proxy´s como ParosProxy para modificar el trafico http , hasta herramientas de fuzzing para verificar como se comporta la aplicación ante parámetros inesperados.

ParosProxy : Es una herramienta que actua de proxy server, es decir intercepta las llamadas y respuestas que se establecen entre un cliente web y un server. De esta manera permite realizar MITM y modificar parámetros que son enviados hacia el servidor.



Comprometer a los usuarios.

En el ultimo paso de esta fase deberemos intentar verificar que tan vulnerables son los usuarios.
Se utilizaran herramientas de ingeniería social y programas que permitan tomar control de los equipos o intentar recuperar códigos de acceso a las aplicaciones.

Esto se puede hacer utilizando técnicas de cross site scripting, dependiendo si las vulnerabilidades encontradas en los sistemas lo permiten, inyección de troyanos por cualquier vector de ataque ( desde emails hasta el envio de CD´s de muestra al personal mas vulnerable ).
También se puede utilizar para obtener usuarios y passwords de acceso.

Un excelente ejemplo se encuentra en el libro Penetration Testing and Network Defense de Cisco Press.

Mail impersonation :

From: Visa Credit credit@visacredit.com

To: xxxx@hotmail.com

Date: Wed, July 5th, 2005 04:11:03 -0500

Subject: Visa Credit Check

Reply-To: Visa Credit Service credit@visacredit.com


Received: from mx.chi.a.com (mx.wash.a.com[10.1.2.3])

by mailserver1.wash.a.com with SMTP id A93AABVQ35A

for xxxx@hotmail.com (sender thief@hackmynetwork.com);

Wed, July 5th, 2005 03:09:01 -0500 (EST)

X-Mailer: Microsoft Outlook Express 6.00.2800.1158

MIME-Version: 1.0

Content-Type: text/html; charset=iso-8859-1

Content-Transfer-Encoding: 8bit

X-Priority: 3 (Normal)

X-MAIL-INFO: 4316792387897d34b9877

X-ContentStamp: 2:3:1818012451

Return-Path: thief@hackmynetwork.com

Message-ID: <>

La mejor forma de explicar porque usar spoofed e-mail en los pentest es por medio de un ejemplo.
Primero creamos un email con header simulado, conteniendo el siguiente texto.

Importance: HIGH

We hope you are enjoying Microsoft Hotmail services. Due to recent security concerns,

we are upgrading all of our servers using a new authentication mechanism. This will

require all users to change their passwords. The new authentication mechanism will

take place December 1, 2005. All subscribers who have not changed their passwords

using the hyperlink below will not be able to access Hotmail services.

1. You will need to change your e-mail password by May 31, 2005. To do so, please

log in at this URL: http://www.microsoft.com/passport/hotmail/login.asp@333868852/

login.asp and change your password under PASSWORD.

2. Please allow at least 5-6 minutes for your account to register the password

update.

3. If you face any login problems due to this password change, please try the process

again later.

We apologize for any inconvenience this may have caused. We hope you understand that

we are making this change for your benefit and that it is part of our continuous

efforts to improve Microsoft Hotmail services.

Sincerely,

Bob Smith

Executive Director of Hotmail Security

Microsoft Hotmail Support

http://www.microsoft.com

Esto trabaja de la siguiente manera :

Se envia un email a la victima con un texto "creible", conteniendo un titulo, nombre de empresa y un link.

Luego incluimos en el link una URL codificada en base-10 que redirige al usuario a nuestro site. ( En el ejemplo actual la URL es
http://www.microsoft.com/passport/hotmail login.asp@333868852/login.asp.

El link en base-10 se encuentra detras del símbolo de @. Cuando se utiliza el @ todo lo que se encuentra detras del símbolo es ignorado.

Por lo tanto en este ejemplo el usuario es redirigido a 33868852/login.asp.

Para crear una URL codificado comenzamos con la direccion IP. En este ejemplo el recipiente es enviado al website con la direccion ip 19.230.111.52

Veamos el procedimiento

1.
Tomar el primer octeto y multiplicarlo por 2563, or 16,777,216.

19 * 16,777,216 = 318,767,104.

2.
Tomar el segundo octeto y multiplicarlo por 2562, or 65,536.

230 * 65,536 = 15,073,280.

3.
Tomar el tercer octeto y multiplicarlo por256.

111 * 256 = 28,416.

4.
Tomar los tres numeros resultantes y sumarlos al cuarto octeto.

318,767,104 + 15,073,280 + 28,416 + 52 = 333,868,852.

Por lo tanto esto resuelve en la URL codificada en base-10 http://333868852


El ultimo paso es crear una pagina similar a la que visitara la victima originalmente. Esto se logra por una herramienta que vimos en el post anterior WinHttrack.


Por supuesto que hay otros métodos de ingeniería social que permiten la introducción de troyanos ( en el post de Tiger Team se ve como es el método que utilizan los profesionales )


Con esto terminamos esta fase del PenTest, al final de esta fase tendremos un documento describiendo cada vulnerabilidad encontrada y el impacto que causa en el ambiente.


En proximos post veremos como escalr privilegios y utilizar rebound servers.

No comments: