¿nadie piensa en las dlls?

30
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.

Upload: navajanegra

Post on 12-Jul-2015

424 views

Category:

Documents


5 download

TRANSCRIPT

•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.

¿Nadie

piensa en

las DLL?Adrián Pulido

Aka: WiNSoCk

@winsock

• 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‟

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.

• Permite realizar aplicaciones modulares,

segmentando el código en funciones que serán

incluidas en la librería o DLL

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 vez localizados AVISAR A LA COMUNIDAD!

• PD: Si alguno cobra una pasta por un 0day:

[email protected] (Tengo paypal,

bitcoins… vamos a medias)

¿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 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:

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 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

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 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

¿Y tú, ya piensas en las DLL?

@winsock