Your SlideShare is downloading. ×
¿Nadie piensa en las DLLs?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

¿Nadie piensa en las DLLs?

358

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
358
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. ¿Nadie piensa en las DLL? Adrián Pulido Aka: WiNSoCk @winsock
  • 3. Gracias • A toda la organización: • La gente de ITPro.es, Hackplayers y CracksLatinos • En especial a estos dos grandes: @_Angelucho_ @1GbDeInfo
  • 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. Estadística VirusTotal • ¿En serio 500.000 fotografías?
  • 6. Detectando el virus
  • 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. En el mundo real
  • 9. 0Day Visual Basic 6.0 Y no muestro el MS11-067 de casualidad :P
  • 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. ¿Cómo funciona generalmente un ejecutable?
  • 12. Formas de cargar una libería I • Carga estática: • Carga dinámica: a petición
  • 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. 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. Y una vez cargada…
  • 16. Demo: No todo tiene que ser .DLL
  • 17. Quiero a todos más ilusionados que el niño del anuncio
  • 18. • Funcionamiento normal • Funcionamiento modificado
  • 19. Inicialización (Precarga)
  • 20. Demo: Precarga DLL • No existe función • Es ejecutado 2 veces • Es llamado antes que el ejecutable • No acepta hilos*
  • 21. Demo: Windows 7
  • 22. Proceso ninja
  • 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. 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. Detección de Antivirus II • Si estando en memoria carga una librería…
  • 26. Demo: En memoria
  • 27. Demo: Wireshark
  • 28. ¡Sorpresa!
  • 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. ¿Y tú, ya piensas en las DLL? @winsock

×