pablo sanemeteriovalencia

41
1 Rooted Satellite Valencia How to protect your hot pics with WHF Pablo San Emeterio Lopez @psaneme Satellite Edition

Upload: psaneme

Post on 03-Aug-2015

22 views

Category:

Software


0 download

TRANSCRIPT

1Rooted Satellite Valencia

How to protect your hot pics with WHF

Pablo San Emeterio Lopez

@psaneme

Satellite Edition

2Rooted Satellite Valencia

3Rooted Satellite Valencia

4Rooted Satellite Valencia

5Rooted Satellite Valencia

ROOOOOOOTEDCON !!!

6Rooted Satellite Valencia

7Rooted Satellite Valencia

Whois

Ingeniero Informático (UPM)

Master en Auditoría y

Seguridad Informática (UPM)

CISA, CISM, OCA

CyberSecurity and Research

Team

8Rooted Satellite Valencia

Indice

Hook

WHF

Hooking de eventos

Hooking de mensajes

Hooking de funciones– User-Space– Kernel-Space

9Rooted Satellite Valencia

Hook

Conjunto de técnicas que permiten modificar el comportamiento de aplicaciones y sistemas operativos mediante la interceptación de:

Eventos

Mensajes

Llamadas a función

10Rooted Satellite Valencia

Indice

Hook

WHF

Hooking de eventos

Hooking de mensajes

Hooking de funciones– User-Space– Kernel-Space

11Rooted Satellite Valencia

WHF

Proyecto con fin divulgativo

Proveer de ejemplos funcionales de hooks

Facilitar la interceptación de eventos a

nivel global (sistema) o local (proceso)

http://sourceforge.net/projects/whf/

12Rooted Satellite Valencia

Indice

Hook

WHF

Hooking de eventos

Hooking de mensajes

Hooking de funciones– User-Space– Kernel-Space

13Rooted Satellite Valencia

Hooking de eventos

PsSetCreateProcessNotifyRoutine 

PsSetLoadImageNotifyRoutine 

PsSetCreateThreadNotifyRoutine 

IoRegisterPlugPlayNotification 

PoRegisterPowerSettingCallback 

IoRegisterShutdownNotification

ZwNotifyChangeKey

KeRegisterProcessorChangeCallback 

14Rooted Satellite Valencia

Hooking de eventos

15Rooted Satellite Valencia

Hooking de eventos

Monitor de inicio y fin de procesos y threads.

Denegar o suspender procesos y threads

Inyectar DLLs antes de iniciar un proceso

Monitorizar el mapeo en memoria de una imagen (DLL o EXE)

Monitorizar cambios sobre claves del registro

Monitorizar o Denegar dispositivos PnP

….

16Rooted Satellite Valencia

Indice

Hook

WHF

Hooking de eventos

Hooking de mensajes

Hooking de funciones– User-Space– Kernel-Space

17Rooted Satellite Valencia

Hooking de mensajes

Punto en el sistema de gestión de mensajes donde monitorizar determinados mensajes antes de llegar a la ventana destino

18Rooted Satellite Valencia

Hooking de mensajes

WH_KEYBOARD WH_MOUSE

WH_JOURNALRECORD WH_JOURNALPLAYBACK

Mensajes hacia las ventanas

SetWindowsHook

19Rooted Satellite Valencia

Hooking de mensajes

20Rooted Satellite Valencia

Hooking de mensajes

21Rooted Satellite Valencia

Hooking de mensajes

Que podemos hacer

KeyLogger

MouseLogger

Computer Use Tracker

Hide Window

Linux C&P

22Rooted Satellite Valencia

Indice

Hook

WHF

Hooking de eventos

Hooking de mensajes

Hooking de funciones– User-Space– Kernel-Space

23Rooted Satellite Valencia

Hooking de funciones

24Rooted Satellite Valencia

Hook

WHF

Hooking de mensajes

Hooking de eventos

Hooking de funciones– User-Space– Kernel-Space

25Rooted Satellite Valencia

Indice

Hook

WHF

Hooking de mensajes

Hooking de eventos

Hooking de funciones– User-Space– Kernel-Space

26Rooted Satellite Valencia

User-Space

IAT

EAT

Delay Laod

Inline

PEB

Kernel-Space

SSDT

IDT

Filter Drivers

27Rooted Satellite Valencia

User-Space

IAT

EAT

Delay Load

Inline

PEB

Kernel-Space

SSDT

IDT

Filter Drivers

28Rooted Satellite Valencia

29Rooted Satellite Valencia

Que podemos hacer

Monitorizar llamadas a función y sus

parámetros

Impedir que las llamadas progresen

Modificar los parámetros de entrada

Modificar los resultados

30Rooted Satellite Valencia

Conceptos previos

Proceso “Contenedor de Memoria” (Peter Van Eeckhoutte @corelanc0d3r)

Modulo == EXE o DLL

Un módulo importa (utiliza) elementos de otros módulos

Un módulo exporta (expone) elementos a otros módulos

31Rooted Satellite Valencia

Import Address Table

Loader completa los valores de esta tabla

IAT

DEMO

32Rooted Satellite Valencia

EAT

Export Address Table

Funciones exportadas por un modulo

Offset relativo dirección de carga

DEMO

33Rooted Satellite Valencia

DELAY LOAD

MIX entre IAT y EAT

No se carga la DLL hasta que no se invoca a la función

Permite la descarga una vez terminado su uso

DEMO

34Rooted Satellite Valencia

Inline Hooking

Sobreescribir el código de una función con un jmp call hacia otra dirección

35Rooted Satellite Valencia

SSDT HookingDEMO

36Rooted Satellite Valencia

Using WHF

Hookear funciones ReadFile / WriteFile

IAT / EAT / DELAYLOAD

Dos objetivos:

TimeCapsule

Cripto

37Rooted Satellite Valencia

DEMO TIME

38Rooted Satellite Valencia

Futuro

Configuración (BD / AD)

TryIcon

Otra forma de guardar información (BD)

Generación de informes

Filter Driver (carpetas de DropBox/GoogleDrive)

Nuevas funcionalidades (Safe DeleteFile)

39Rooted Satellite Valencia

Agradecimientos

40Rooted Satellite Valencia

Preguntas

41Rooted Satellite Valencia

Indice

@psaneme