¿Nadie piensa en las DLLs?
-
Upload
navajanegra -
Category
Documents
-
view
424 -
download
5
Transcript of ¿Nadie piensa en las DLLs?
•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.
• A toda la organización:
• La gente de ITPro.es, Hackplayers y CracksLatinos
• En especial a estos dos grandes:
@_Angelucho_ @1GbDeInfo
Gracias
¿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‟
¿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
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:
[email protected] (Tengo paypal,
bitcoins… vamos a medias)
Formas de cargar una libería II
• Desde otro proceso
• Desde otra librería
• Desde el sistema operativo
o Driver
o Applnit_DLLs
• Buscando como implementar una nueva función
o Plug-in
o Addons
Diferencias entre las cargas
• 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
• Permite modificar el código ANTES de ser ejecutado
• NO permite el uso de hilos
Carga estática:
Carga dinámica:
Demo: Precarga DLL
• No existe función
• Es ejecutado 2 veces
• Es llamado antes que el ejecutable
• No acepta hilos*
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,…)
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
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
• 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
To do’s