En 2011, el equipo de Flu Project desarrolló Flu-AD, un software de tipo caballo de troya que comenzó a ser utilizado por cuerpos policiales de diversos países de América Latina para monitorizar los movimientos de cibergroomers investigados por casos de acoso a menores de edad por Internet.
La presente ponencia tiene por objetivo presentar la nueva versión de Flu-AD. Dicha herramienta ha sido desarrollada según las necesidades planteadas por un cuerpo policial, entre otras, el funcionamiento de Flu-AD en cualquier versión y arquitectura de Windows, la realización del proceso de infección a través de un ejecutable con un peso inferior a 50kb para facilitar su proceso de camuflaje, su desarrollo en lenguaje C, captura de imágenes mediante webcam, captura de audio mediante micrófono, intercambio de archivos entre máquina y servidor, captura de pulsaciones de teclado y sniffing de tráfico de red. El equipo de Flu Project planteó una solución basada en un troyano ligero, con funcionalidades básicas semejantes a las de su predecesora, pero con inyección modular de dlls. Estas dlls permiten añadir nuevas funcionalidades dinámicamente sin aumentar el tamaño del ejecutable de Flu-AD. Las dlls contienen payloads generados a partir de metasploit y la herramienta msfencode, mediante su funcionalidad para la generación de payloads en código en C. Estas dlls son descargadas en la máquina infectada a través de Flu-AD y cargadas directamente en memoria. Cada dll es diferente en cada creación, debido a que se pueden utilizar más de 200 payloads del framework y distintos parámetros en la configuración de dichos payloads.
Junto con Flu-AD se presenta una utilidad que permite generar dlls automáticamente a través de payloads generados mediante msfencode.
Por otro lado, han sido desarrollados varios módulos nuevos para Metasploit, con el fin de automatizar y facilitar a los cuerpos policiales ciertas funcionalidades que Metasploit no cubría. La solución propuesta es indetectable a día de hoy por los software antivirus comerciales, tal y como se puede comprobar en la imagen adjunta. Integra distintos sistemas de evasión de antivirus como la carga dinámica en memoria de dlls y el uso mínimo de APIs de Windows.
Por otro lado, durante la ponencia se presentarán distintos aspectos legales que impiden utilizar en la actualidad estos sistemas de vigilancia digital en España y se compararán con otros marcos jurídicos donde el uso de herramientas maliciosas en casos policiales está a la orden del día, como es el caso de Colombia
Juan A. Calles y Pablo González - Metasploit & Flu-AD: Avoiding AVs with Payloads/DLLs Injection [Rooted CON 2013]
1.
2. ¿Quiénes somos?
• Juan Antonio Calles (@jantonioCalles)
• Jefe de Proyectos de Seguridad
en everis
• Doctorando en Informática
• www.flu-project.com
• elblogdecalles.blogspot.com
3. ¿Quiénes somos?
• Pablo González (@fluproject)
• Responsable de Seguridad de
Informática 64
• Ingeniero Informático
• www.flu-project.com
• www.seguridadapple.com
• www.windowstecnico.com
4. Índice
Conclusiones
Demo
Flu-AD: Arquitectura
y funcionalidades
Radiografía de un
Ciberdepredador
El origen de Flu-AD
5. Historia de Flu-AD
2013
2012
Lanzamiento del
nuevo Flu-AD
2011
Cuerpos policiales
de 3 países
2010 muestran interés
Presentación de
caso de éxito de (intercambio de
Flu-AD en NcN correos)
Acuerdo de
colaboración de 2011
Flu Project con
AntiDepredadores
6. Índice
Conclusiones
Demo
Flu-AD: Arquitectura
y funcionalidades
Radiografía de un
Ciberdepredador
El origen de Flu-AD
7. Conocer a los ciberdepredadores
“Si conocemos a nuestro enemigo, tenemos ganada la
mitad de la guerra; si sólo nos conocemos, tenemos
ganada la mitad de la guerra; pero si nos conocemos y
conocemos a nuestro enemigo, tenemos casi segura la
victoria.”
Sun Tzu – 500 a.C.
8. Radiografía de los ciberdepredadores
(Agradecimientos a “Angelucho-www.elblogdeangelucho.com” por ayudarnos a
estudiar el comportamiento de los ciberdepredadores). Eres GRANDE.
9. Boylovers/Girlovers
• Adultos que abogan por la aceptación social de la
atracción por menores de edad, como algo natural
y tolerable.
• Se reúnen en foros privados.
• Consumen imágenes en la que los menores
aparecen en poses eróticas.
10. Pedófilos
• Consumidores de material pornográfico de menores
• No llegan al acto sexual
• Trafican con contenidos pedófilos y en ocasiones los
graban
• Viven en chats, foros y webs de temática pedófila
• Se mueven por redes sociales y chats donde localizan a
sus victimas
11. Pederastas
• Mantienen relaciones sexuales con menores.
• Finalidad contactar en persona con menores,
engatusándoles.
• Emplean técnicas de ingeniería social e incluso de
hacking para tener acceso a los menores
• Grooming No dudan en acosar y amenazar para
conseguir sus propósitos
13. Se apoyan en las 3Cs
Comunicación – Usan Internet para buscar y compartir información
Comunidad – Forman comunidades en las que comparten “experiencias”
Cooperación – Ayudan a sus iguales:
14. Simbología utilizada por Ciberdepredadores
Atracción por niños Atracción por niños de
menores ambos sexos
Atracción por niñas
menores
15. Vocabulario Ciberdepredador
BL: Boylover
GL: Girlover
SYF: Niño especial/preferidos
YF: Joven amigo
SGL: Atracción por niños de su mismo sexo
LBL: Amante de niños menores de 8 años
TBL: Amante de adolescentes
16. Palabras clave para detectarlos
Preteens, Lolitas, R@ygold, Meninas, y / o, yold, years old
Nifeta, Tits, Menores, Kids, Sexkids, Childrems, Nude kids
Childrens, Sister, Pedo, Baby j, Brother, Child lovers, Kinder sex
Vicky, Reelkidmov, Kiddy porn, Babyshivid, Extreme child porn,
Hard child porn, Child pornography, Niñas, Pedofilia, Menores
Sex tenns, Hussyfan, Kiddy Porn, Teen raped, Schoolgirl, Incesto
Criança, pthc, kiddy, child porn, kiddymovis
17. Grooming
“TÉCNICAUTILIZADA POR LOS CIBERDEPREDADORES
PARA CONSEGUIR ACCEDER A MENORES Y
ALIMENTAR SUS INSTINTOS SEXUALES”
Fases del Cibergrooming
Contacto Confianza Seducción Amenazas Difusión
18. Contacto
Contacto a través de chats, redes sociales, juegos online (consiguen
más contactos en juegos online de Pocoyo o Pokemon que en chats),
etc:
• El cibergroomer se hace pasar por un niño/niña
• Objetivo: recabar cuentas para contactar con los menores
Fases del Cibergrooming
Contacto Confianza Seducción Amenazas Difusión
19. Confianza
Ganarse la confianza, para obtener información del menor.
Fases del Cibergrooming
Contacto Confianza Seducción Amenazas Difusión
20. Seducción
Mediante seducción o a través de supuestos juegos conseguir
que el menor se grabe mediante cámara/webcam llegando a
convencerle para que se desnude, realice tocamientos, etc.
Fases del Cibergrooming
Contacto Confianza Seducción Amenazas Difusión
21. Amenazas
Se da inicio a la fase de coacciones con el objeto de obtener
imágenes pornográficas del menor, amenazándolo con
distribuir las que ya tiene si no accede a sus pretensiones
Fases del Cibergrooming
Contacto Confianza Seducción Amenazas Difusión
22. Difusión
Si la víctima quiere parar, el depredador distribuye las
conversaciones e imágenes entre sus amigos, familiares, etc.
Fases del Cibergrooming
Contacto Confianza Seducción Amenazas Difusión
24. Contacto Confianza Seducción Amenazas Difusión
El Cibergroomer contacta con la menor a
través de un chat de Internet y la agrega a su
lista de contactos de MSN
29. Índice
Conclusiones
Demo
Flu-AD: Arquitectura
y funcionalidades
Radiografía de un
Ciberdepredador
El origen de Flu-AD
30. ¿Qué hemos aprendido de todo esto para
evolucionar Flu-AD?
• No toda la pornografía infantil está en emule (de hecho, cada vez hay menos)
• Los ciberdepredadores han aprendido, y utilizan sistemas más avanzados:
• Redes TOR
• Gigadrive
• Dropbox
• Skydrive
• Etc.
31. ¿Qué hemos aprendido de todo esto para
evolucionar Flu-AD?
• Utilizan “modo anónimo” en los navegadores web
• Cifran contenido de pornografía infantil en sus PCs
• Están aprendiendo técnicas esteganográficas
32. ¿Qué hemos aprendido de todo esto para
evolucionar Flu-AD?
• Nos interesará recuperar las conversaciones que los ciberdepredadores hayan podido
tener con menores o con otros ciberdepredadores, así cómo los logs y bases de datos de
herramientas de tipo chat, videojuegos, navegadores web, clientes IRC, etc.
• Nos interesará localizar fotografías, vídeos y demás contenido pedófilo en los equipos de
los ciberdepredadores, así como carpetas por las cuales puedan estar distribuyendo
dichos contenidos (Incoming-Emule, Skydrive, Dropbox, etc.) y volúmenes cifrados.
• Nos interesará recuperar la pantalla del equipo del cibergroomer
• Nos interesará capturar periféricos conectados a su equipo (webcam, micrófono, etc.)
• Nos interesará volcar la memoria RAM, para recuperar conversaciones y claves
almacenadas
• Nos interesará capturar las pulsaciones de ratón y teclado para recuperar conversaciones,
sitios web, foros y correos visitados, así como sus credenciales
33. Objetivos marcados
• Primera fase:
• Troyano reverso controlable vía web
• Lenguaje ANSI C (troyano)
• Lenguaje sin dependencias (panel de control web)
• Peso aproximado de 50KB
• Dropper
• Consola
• Keylogger
• Captura de pantalla y webcam
• Segunda fase
• Recolección automática de información del PC (papelera, registro, etc.)
• Captura de micrófono
• Tercera fase
• Rootkit
• Firma de archivos
• Versión de Flu-AD para Android e iOS
34. Un Zeus en 50KB… auchh
• Alternativa planteada:
• Flu-AD (Core) con shell, dropper
y funcionalidades básicas
• Sistema de plugins actualizable
dinámicamente para ampliar
funcionalidades
• Integración con Metasploit para
añadir funcionalidades extra
35. Arquitectura
• (Quiero) MaaS: Malware as a Service
• Arquitectura cliente-servidor
• Generación de botnets B
B B
B BM B
B B
B
36. Cliente (Servidor Web)
• Contiene en un fichero CSV las instrucciones que leerán los
servidores.
• Puede modificar las instrucciones en cualquier momento.
• Puede visualizar la información obtenida de los bots desde un
panel de control web.
37. Servidores
• Petición http puerto 80 lee instrucciones CSV
• Ejecuta instrucciones
• Envía resultado a cliente (servidor web), pasando
información recolectada por GET/POST (sin
necesidad de apertura de puertos)
40. Añadir nuevo plugin a Flu-AD
• Generamos un plugin
1 para Flu-AD (dll) con una
nueva funcionalidad
• Subimos el plugin
2 al panel de control
web de Flu-AD
• Descargamos el plugin
3 en el bot, lo carga en
memoria, lo ejecuta y lo
almacena en el equipo
41. Añadir nuevo plugin con shellcode
1 • Generamos un shellcode
con MetaFlu Console
• Generamos un plugin
2 para Flu-AD (dll) con
el shellcode
• Subimos el plugin
3 al panel de control
web de Flu-AD
• Se descarga el plugin
en el bot, lo carga en
4 memoria,
ejecuta,
almacena
y
en
lo
lo
el
equipo
44. Shellcodes directos a memoria
• Incorpora opción para enviar directamente la
shellcode a memoria sin pasar por disco,
evadiendo los análisis estáticos.
– Para ello Flu-AD deja un socket esperando a que
se envíe un array con la shellcode
PC
Router
Router
Memoria
Internet C&C
Disco
45. Proceso de inyección de shellcode en memoria
1. CSV +Instrucción de conexión
2. Envíame la shellcode
PC C&C
3. Shellcode
4. Ejecuto shellcode
Servidor Cliente
51. Recolector de papelera
• Idea: Obtener los archivos de la papelera de
todos los usuarios de la máquina
• Se puede encontrar desde «bazura» hasta
documentos importantes…
53. Intercambiar archivos con máquina
• Upload
• Download
• Sintaxis como copy o cp (orígenes .. Destino)
54. Evasión de Avs (Presente)
• Minimizamos el uso de funciones “llamativas” de la API de
Windows
• Las funciones indispensables son cargadas mediante
GetProcAddress(), para obtener la dirección de memoria de
las funciones.
• Se trocean los strings con los nombres de las funciones
• Si sólo encodearamos los shellcodes de Meterpreter,
evitaríamos los análisis basados en firma pero podrían ser
reconocidos por motores heurísticos, por lo que además los
troceamos, de manera que no cacen la shellcode entera en
disco y las ciframos independientemente
55. Evasión de Avs (Presente)
• El exe ocupa 48KB.
• Aplicamos cifrados a las cadenas
de texto para ocultarlas al
visualizar el contenido del exe
• Modificamos el exe final con un
editor hexadecimal para borrar
rutas, referencias a archivos .c,
etc.
(Agradecimientos a “Germán-www.EnElPC.com” por colaborar
con nosotros en la evasión de AVs)
61. Evasión de Avs (Futuro)
• Si alguna vez es detectado por los AVs, opciones:
– modificar el código fuente, el más breve cambio variaría la
firma del archivo completo.
– sustituir las partes detectadas, en caso de que el AV tuviese
firmas de partes del malware.
– separar el código malicioso.
– incluso, porqué no, podríamos dejar un bug a propósito
(buffer overflow) en Flu-AD para explotar y lanzar las
shellcodes.
– aplicar un crypter/encoder y comprobar detectabilidad. Av
Fucker GoGoGooo
62. Índice
Conclusiones
Demo
Flu-AD: Arquitectura
y funcionalidades
Radiografía de un
Ciberdepredador
El origen de Flu-AD
64. Índice
Conclusiones
Demo
Flu-AD: Arquitectura
y funcionalidades
Radiografía de un
Ciberdepredador
El origen de Flu-AD
65. Países dónde se admite legalmente el uso de herramientas de
‘intercepción’ en casos policiales
66. ¿Cómo conseguir Flu-AD?
Flu-AD sólo está disponible para cuerpos policiales de cualquier país que persigan ciberdelitos
relacionados con cibergrooming, pedofilia, pederastia o pornografía infantil:
1. Deberán contactarnos a través de info@flu-project.com, a partir del 1 de Mayo de 2013.
2. Deberán acreditar que son policías y que pertenecen a una unidad que luche contra los delitos
antes referenciados. No se aceptarán peticiones para otras funciones, como el ciberespionaje,
la ciberguerra o delitos de cualquier tipo.
3. Se analizarán las necesidades planteadas por el cuerpo policial.
4. Se enviará un paquete con los fuentes y ejecutables compilados de Flu-AD, junto con una guía de
uso y configuración. Los ejecutables compilados serán diferentes para cada cuerpo policial, y
tendrán las modificaciones suficientes como para que sean indetectables el día de su generación
5. Los cuerpos policiales tendrán pleno derecho para modificar su versión propia de Flu-AD.
6. Los cuerpos policiales no podrán ceder el código fuente de la aplicación a terceros y quedará
bajo su responsabilidad las repercusiones que ello pueda acarrear (destacando la detección por
parte de AVs que podría tirar al traste numerosas investigaciones)
67. Hasta siempre Hugo Castellano
“En la seguridad, en su país y en la
vida en general, ustedes, los jóvenes,
son los que tienen que tirar del
carro…”
[Septiembre 2011], Hugo Castellano