Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
•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 ejec...
¿Nadie
piensa en
las DLL?
Adrián Pulido
Aka: WiNSoCk
@winsock
Gracias
• A toda la organización:
• La gente de ITPro.es, Hackplayers y CracksLatinos
• En especial a estos dos grandes:

...
¿Qué ocurre con las librerías?
• ¡Nadie piensa en las librerías!
• No se entiende qué hacen las librerías
• Los antivirus ...
Estadística VirusTotal
• ¿En serio 500.000 fotografías?
Detectando el virus
¿Qué es una DLL?
• Un contenedor de código y datos.
• Pueden ser utilizados por uno o más programas al
mismo tiempo.
• Per...
En el mundo real
0Day Visual Basic 6.0
Y no muestro el MS11-067
de casualidad :P
Búsqueda de 0days
• Aplicaciones que aceptan pluggins
• Que los cargan en el inicio
• Que permiten ser compartidos
• Y una...
¿Cómo funciona generalmente
un ejecutable?
Formas de cargar una libería I
• Carga estática:

• Carga dinámica: a petición
Formas de cargar una libería II
• Desde otro proceso
• Desde otra librería
• Desde el sistema operativo
o
o

Driver
Applni...
Diferencias entre las cargas
Carga estática:
• Permite modificar el código ANTES de ser ejecutado
• NO permite el uso de h...
Y una vez cargada…
Demo: No todo tiene que ser .DLL
Quiero a todos más ilusionados
que el niño del anuncio
• Funcionamiento
normal

• Funcionamiento
modificado
Inicialización (Precarga)
Demo: Precarga DLL
• No existe función
• Es ejecutado 2 veces
• Es llamado antes que el ejecutable
• No acepta hilos*
Demo: Windows 7
Proceso ninja
Libertad de programación
• Se puede utilizar un lenguaje de alto nivel
• Libertad para programar cualquier cosa
• Acceso a...
Detección de Antivirus I
• No se analiza la memoria (si ya está en memoria)
• No se analiza si el binario está roto

• No ...
Detección de Antivirus II

• Si estando en
memoria
carga una
librería…
Demo: En memoria
Demo: Wireshark
¡Sorpresa!
Ventajas
• Se pueden hacer librerías en lenguajes de alto nivel.
• Sólo hay que modificar una librería y afecta a más
prog...
¿Y tú, ya piensas en las DLL?

@winsock
Upcoming SlideShare
Loading in …5
×

¿Nadie piensa en las DLLs?

1,143 views

Published on

  • Be the first to comment

  • Be the first to like this

¿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

×