¿Nadie piensa en las DLLs?

960 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
960
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

¿Nadie piensa en las DLLs?

  1. 1. •Hoy en día se tiene la falsa creencia de que todas las infecciones por malware sólo se propagan a través de ficheros ejecutables y se tiende a olvidar otros posibles métodos de infección como la utilización de DLL‟s. Mediante la manipulación y modificación de éstas, usando técnicas específicas, los atacantes pueden lograr evitar las medidas de seguridad de los antivirus y conseguir la ejecución de código en el sistema. •El objetivo de esta charla es dar a conocer estas técnicas de infección y concienciar acerca de que no sólo con ejecutables se puede infectar un equipo.
  2. 2. ¿Nadie piensa en las DLL? Adrián Pulido Aka: WiNSoCk @winsock
  3. 3. Gracias • A toda la organización: • La gente de ITPro.es, Hackplayers y CracksLatinos • En especial a estos dos grandes: @_Angelucho_ @1GbDeInfo
  4. 4. ¿Qué ocurre con las librerías? • ¡Nadie piensa en las librerías! • No se entiende qué hacen las librerías • Los antivirus les prestan menos atención • Se cree que sólo nos pueden infectar con un „*.EXE‟
  5. 5. Estadística VirusTotal • ¿En serio 500.000 fotografías?
  6. 6. Detectando el virus
  7. 7. ¿Qué es una DLL? • Un contenedor de código y datos. • Pueden ser utilizados por uno o más programas al mismo tiempo. • Permite realizar aplicaciones modulares, segmentando el código en funciones que serán incluidas en la librería o DLL
  8. 8. En el mundo real
  9. 9. 0Day Visual Basic 6.0 Y no muestro el MS11-067 de casualidad :P
  10. 10. Búsqueda de 0days • Aplicaciones que aceptan pluggins • Que los cargan en el inicio • Que permiten ser compartidos • Y una vez localizados AVISAR A LA COMUNIDAD! • PD: Si alguno cobra una pasta por un 0day: Winsock@miequipoestaloco.com (Tengo paypal, bitcoins… vamos a medias)
  11. 11. ¿Cómo funciona generalmente un ejecutable?
  12. 12. Formas de cargar una libería I • Carga estática: • Carga dinámica: a petición
  13. 13. Formas de cargar una libería II • Desde otro proceso • Desde otra librería • Desde el sistema operativo o o Driver Applnit_DLLs • Buscando como implementar una nueva función o o Plug-in Addons
  14. 14. Diferencias entre las cargas Carga estática: • Permite modificar el código ANTES de ser ejecutado • NO permite el uso de hilos Carga dinámica: • Permite utilizar hilos • Si no carga/existe no falla la aplicación • Se puede camuflar mucho mejor • No sale en un análisis de librerías (estático) • Se puede retrasar la carga
  15. 15. Y una vez cargada…
  16. 16. Demo: No todo tiene que ser .DLL
  17. 17. Quiero a todos más ilusionados que el niño del anuncio
  18. 18. • Funcionamiento normal • Funcionamiento modificado
  19. 19. Inicialización (Precarga)
  20. 20. Demo: Precarga DLL • No existe función • Es ejecutado 2 veces • Es llamado antes que el ejecutable • No acepta hilos*
  21. 21. Demo: Windows 7
  22. 22. Proceso ninja
  23. 23. Libertad de programación • Se puede utilizar un lenguaje de alto nivel • Libertad para programar cualquier cosa • Acceso a toda la memoria del proceso • Captura de credenciales • Posterior envío (HTTP,FTP,…)
  24. 24. Detección de Antivirus I • No se analiza la memoria (si ya está en memoria) • No se analiza si el binario está roto • No detecta si no hace nada maligno • No lo detecta si no hay firma conocida
  25. 25. Detección de Antivirus II • Si estando en memoria carga una librería…
  26. 26. Demo: En memoria
  27. 27. Demo: Wireshark
  28. 28. ¡Sorpresa!
  29. 29. Ventajas • Se pueden hacer librerías en lenguajes de alto nivel. • Sólo hay que modificar una librería y afecta a más programas • Modificación de firmas (AV) en caliente • Es menos conocido que los ejecutables • Se puede ocultar mucho mejor que un ejecutable To do’s • Publicar la parte más técnica en el blog: www.miequipoestaloco.com • Una librería “Maestra”, programada para descubrir fallos (0Days) • Una aplicación que busque librerías modificables
  30. 30. ¿Y tú, ya piensas en las DLL? @winsock

×