Juan A. Calles y Pablo González - Metasploit & Flu-AD: Avoiding AVs with Payloads/DLLs Injection [Rooted CON 2013]

9,820 views

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
9,820
On SlideShare
0
From Embeds
0
Number of Embeds
6,725
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Juan A. Calles y Pablo González - Metasploit & Flu-AD: Avoiding AVs with Payloads/DLLs Injection [Rooted CON 2013]

  1. 1. ¿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
  2. 2. ¿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
  3. 3. Índice Conclusiones Demo Flu-AD: Arquitectura y funcionalidades Radiografía de un CiberdepredadorEl origen de Flu-AD
  4. 4. Historia de Flu-AD 2013 2012 Lanzamiento del nuevo Flu-AD 2011 Cuerpos policiales de 3 países2010 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
  5. 5. Índice Conclusiones Demo Flu-AD: Arquitectura y funcionalidades Radiografía de un CiberdepredadorEl origen de Flu-AD
  6. 6. Conocer a los ciberdepredadores“Si conocemos a nuestro enemigo, tenemos ganada lamitad de la guerra; si sólo nos conocemos, tenemosganada la mitad de la guerra; pero si nos conocemos yconocemos a nuestro enemigo, tenemos casi segura lavictoria.” Sun Tzu – 500 a.C.
  7. 7. Radiografía de los ciberdepredadores(Agradecimientos a “Angelucho-www.elblogdeangelucho.com” por ayudarnos a estudiar el comportamiento de los ciberdepredadores). Eres GRANDE.
  8. 8. 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.
  9. 9. 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
  10. 10. 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
  11. 11. ¿Cómo actúan?
  12. 12. Se apoyan en las 3CsComunicación – Usan Internet para buscar y compartir informaciónComunidad – Forman comunidades en las que comparten “experiencias”Cooperación – Ayudan a sus iguales:
  13. 13. Simbología utilizada por CiberdepredadoresAtracción por niños Atracción por niños de menores ambos sexos Atracción por niñas menores
  14. 14. Vocabulario CiberdepredadorBL: 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ñosTBL: Amante de adolescentes
  15. 15. Palabras clave para detectarlos Preteens, Lolitas, R@ygold, Meninas, y / o, yold, years old Nifeta, Tits, Menores, Kids, Sexkids, Childrems, Nude kidsChildrens, Sister, Pedo, Baby j, Brother, Child lovers, Kinder sexVicky, Reelkidmov, Kiddy porn, Babyshivid, Extreme child porn,Hard child porn, Child pornography, Niñas, Pedofilia, MenoresSex tenns, Hussyfan, Kiddy Porn, Teen raped, Schoolgirl, Incesto Criança, pthc, kiddy, child porn, kiddymovis
  16. 16. 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
  17. 17. 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 menoresFases del Cibergrooming Contacto Confianza Seducción Amenazas Difusión
  18. 18. Confianza Ganarse la confianza, para obtener información del menor.Fases del Cibergrooming Contacto Confianza Seducción Amenazas Difusión
  19. 19. 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
  20. 20. 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 pretensionesFases del Cibergrooming Contacto Confianza Seducción Amenazas Difusión
  21. 21. 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
  22. 22. Caso real en Colombia
  23. 23. 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
  24. 24. Contacto Confianza Seducción Amenazas Difusión PERFILES FALSOS DEPREDADOR VICTIMA
  25. 25. Contacto Confianza Seducción Amenazas Difusión 26
  26. 26. Contacto Confianza Seducción Amenazas Difusión 27
  27. 27. Contacto Confianza Seducción Amenazas Difusión
  28. 28. Índice Conclusiones Demo Flu-AD: Arquitectura y funcionalidades Radiografía de un CiberdepredadorEl origen de Flu-AD
  29. 29. ¿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.
  30. 30. ¿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
  31. 31. ¿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
  32. 32. 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
  33. 33. 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
  34. 34. Arquitectura• (Quiero) MaaS: Malware as a Service• Arquitectura cliente-servidor• Generación de botnets B B B B BM B B B B
  35. 35. 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.
  36. 36. 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)
  37. 37. CSV CSV
  38. 38. Añadir nuevo plugin a Flu-AD • Generamos un plugin1 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
  39. 39. Añadir nuevo plugin con shellcode1 • 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
  40. 40. MetaFlu Console (pijama.sh) Pero no está programada en batch… ¡lo sentimos Juanillo!
  41. 41. Generador de Plugins
  42. 42. 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
  43. 43. 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 shellcodeServidor Cliente
  44. 44. Flu-AD & FluAdGen
  45. 45. Panel de control (Web)
  46. 46. Webcam
  47. 47. Keylogger
  48. 48. Micrófono
  49. 49. 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…
  50. 50. Migrar de proceso• Creación de procesos ocultos• Migración a procesos
  51. 51. Intercambiar archivos con máquina• Upload• Download• Sintaxis como copy o cp (orígenes .. Destino)
  52. 52. 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
  53. 53. 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) 
  54. 54. Intentamos no salir en las fotos
  55. 55. Intentamos no salir en las fotos Incluso de AVs que buscan en memoria
  56. 56. Intentamos no salir en las fotos
  57. 57. Intentamos no salir en las fotos
  58. 58. Intentamos no salir en las fotos
  59. 59. 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
  60. 60. Índice Conclusiones Demo Flu-AD: Arquitectura y funcionalidades Radiografía de un CiberdepredadorEl origen de Flu-AD
  61. 61. Demo
  62. 62. Índice Conclusiones Demo Flu-AD: Arquitectura y funcionalidades Radiografía de un CiberdepredadorEl origen de Flu-AD
  63. 63. Países dónde se admite legalmente el uso de herramientas de ‘intercepción’ en casos policiales
  64. 64. ¿Cómo conseguir Flu-AD?Flu-AD sólo está disponible para cuerpos policiales de cualquier país que persigan ciberdelitosrelacionados 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ón5. 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)
  65. 65. Hasta siempre Hugo Castellano “En la seguridad, en su país y en lavida en general, ustedes, los jóvenes, son los que tienen que tirar del carro…” [Septiembre 2011], Hugo Castellano
  66. 66. Vuestra aportación cuenta¿Preguntas?¿Ideas paramejorarme?
  67. 67. www.flu-project.com@fluproject@jantonioCallesGrupo Flu ProjectGrupo Flu ProjectFeeds.feedburner.com/FluProject
  68. 68. To2 uni2 X1Red+Segura

×