7 mar 2012

Detrás de un panel de Zeus II

Hola!

Muy buenas a todos/as!

En la anterior se explicaba por encima que existen un tipo de troyanos enfocados al Home banking, estos troyanos están especializados en el robo de credenciales de los clientes para acceder a la banca electrónica, para luego cometer fraude  con esos datos robados.

Con las capturas de Wireshark, se podía observar como el troyano intentaba conectarse con el panel remoto, para descargar la configuración. Con esta configuración inyecta en Internet Explorer de manera que la página web original podría ser modificada.

Por ejemplo:

Como podemos ver el dato más impactante que pide la aplicación web se trata de La Firma electrónica del usuario, mas la clave, mas los otros datos.

La problemática viene dada cuando sin saber si este troyano afecta a tu banco, antes de que puedas hacer las pruebas el dominio, ha sido dado de baja, como resultado el troyano no podrá bajar la configuración y completar su proceso de manera correcta.

En este caso he rescatado la configuración que Zeus intentaba obtener del panel de control, así que ahora engañaremos al troyano para que obtenga la configuración, pero seremos nosotros mismos quien se la sirvamos.

En este escenario tendremos la máquina virtual y montaremos un pequeño servidor web y obligaremos al troyano a acceder a nuestro servidor, para el troyano será totalmente transparente.

Si recordáis las trazas de red en el artículo anterior:

GET /mm.bin HTTP/1.1Accept: */*Connection: CloseUser-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)Host: ejemplo.ruCache-Control: no-cache

Editaremos el archivo hosts de la máquina infectada hacia nuestro servidor web :)

# Copyright (c) 1993-1999 Microsoft Corp.## Éste es un ejemplo de archivo HOSTS usado por Microsoft TCP/IP para Windows.## Este archivo contiene las asignaciones de las direcciones IP a los nombres de# host. Cada entrada debe permanecer en una línea individual. La dirección IP# debe ponerse en la primera columna, seguida del nombre de host correspondiente.# La dirección IP y el nombre de host deben separarse con al menos un espacio.### También pueden insertarse comentarios (como éste) en líneas individuales# o a continuación del nombre de equipo indicándolos con el símbolo “#”## Por ejemplo:## 102.54.94.97 rhino.acme.com # servidor origen# 38.25.63.10 x.acme.com # host cliente x127.0.0.1 localhost192.168.1.250 ejemplo.ru

Ahora mediante Python crearemos un pequeño servidor web desde donde serviremos la configuración:

import SimpleHTTPServerimport SocketServerPORT = 80Handler = SimpleHTTPServer.SimpleHTTPRequestHandlerhttpd = SocketServer.TCPServer(("", PORT), Handler)print "serving at port", PORThttpd.serve_forever()

Para mas información se puede consultar la documentación de Python

Ahora ejecutaremos el Malware en cuestión, y observaremos como obtiene el archivo de configuración de nuestro pequeño servidor web, además de intentar enviar los datos al panel remoto.

serving at port 80192.168.1.250 – - [15/Feb/2012 00:21:53] “GET /mm.bin HTTP/1.1″ 200 -192.168.1.250 – - [15/Feb/2012 00:22:23] code 501, message Unsupported method (‘POST’)192.168.1.250 – - [15/Feb/2012 00:22:23] “POST /panel/acc.php HTTP/1.1″ 501 -192.168.1.250 – - [15/Feb/2012 00:22:29] code 501, message Unsupported method (‘POST’)192.168.1.250 – - [15/Feb/2012 00:22:29] “POST /panel/acc.php HTTP/1.1″ 501 -

Bingo! Ha conseguido recoger el archivo de configuración, pero como no dispongo de la configuración de Zeus, no puede hacer el POST correcto al servidor web, pero nos sirve para que al menos recoja el archivo de configuración.

En esta parte del artículo, hemos podido comprobar como el Malware se conecta a nuestro servidor web, ya que lo engañamos modificado el archivo hosts y como este recoge la configuración.

Saludos

No hay comentarios:

Publicar un comentario