SlideShare una empresa de Scribd logo
1 de 41
1 
How to protect your hot pics 
with WHF 
Pablo San Emeterio Lopez 
@psaneme 
Satellite Edition 
Rooted Satellite Valencia
2 
Rooted Satellite Valencia
3 
Rooted Satellite Valencia
4 
Rooted Satellite Valencia
5 
ROOOOOOOTEDCON !!! 
Rooted Satellite Valencia
6 
Rooted Satellite Valencia
7 
Rooted Satellite Valencia 
Whois 
Ingeniero Informático (UPM) 
Master en Auditoría y 
Seguridad Informática (UPM) 
CISA, CISM, OCA 
CyberSecurity and Research 
Team
8 
Rooted Satellite Valencia 
Indice 
Hook 
WHF 
Hooking de eventos 
Hooking de mensajes 
Hooking de funciones 
– User-Space 
– Kernel-Space
9 
Rooted 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
10 
Rooted Satellite Valencia 
Indice 
Hook 
WHF 
Hooking de eventos 
Hooking de mensajes 
Hooking de funciones 
– User-Space 
– Kernel-Space
11 
Rooted 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/
12 
Rooted Satellite Valencia 
Indice 
Hook 
WHF 
Hooking de eventos 
Hooking de mensajes 
Hooking de funciones 
– User-Space 
– Kernel-Space
13 
Hooking de eventos 
PsSetCreateProcessNotifyRoutine 
PsSetLoadImageNotifyRoutine 
PsSetCreateThreadNotifyRoutine 
IoRegisterPlugPlayNotification 
PoRegisterPowerSettingCallback 
IoRegisterShutdownNotification 
ZwNotifyChangeKey 
KeRegisterProcessorChangeCallback 
Rooted Satellite Valencia
14 
Hooking de eventos 
Rooted Satellite Valencia
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 
…. 
15 
Hooking de eventos 
Rooted Satellite Valencia
16 
Rooted Satellite Valencia 
Indice 
Hook 
WHF 
Hooking de eventos 
Hooking de mensajes 
Hooking de funciones 
– User-Space 
– Kernel-Space
17 
Hooking de mensajes 
Punto en el sistema de gestión de mensajes 
donde monitorizar determinados mensajes 
antes de llegar a la ventana destino 
Rooted Satellite Valencia
18 
Hooking de mensajes 
Mensajes hacia las ventanas 
SetWindowsHook 
WH_KEYBOARD 
WH_MOUSE 
WH_JOURNALRECORD 
WH_JOURNALPLAYBACK 
Rooted Satellite Valencia
19 
Hooking de mensajes 
Rooted Satellite Valencia
20 
Hooking de mensajes 
Rooted Satellite Valencia
21 
Hooking de mensajes 
Que podemos hacer 
KeyLogger 
MouseLogger 
Computer Use Tracker 
Hide Window 
Linux C&P 
Rooted Satellite Valencia
22 
Rooted Satellite Valencia 
Indice 
Hook 
WHF 
Hooking de eventos 
Hooking de mensajes 
Hooking de funciones 
– User-Space 
– Kernel-Space
23 
Hooking de funciones 
Rooted Satellite Valencia
24 
Hook 
WHF 
Hooking de mensajes 
Hooking de eventos 
Hooking de funciones 
– User-Space 
– Kernel-Space 
Rooted Satellite Valencia
25 
Rooted Satellite Valencia 
Indice 
Hook 
WHF 
Hooking de mensajes 
Hooking de eventos 
Hooking de funciones 
– User-Space 
– Kernel-Space
26 
Rooted Satellite Valencia 
User-Space 
IAT 
EAT 
Delay Laod 
Inline 
PEB 
Kernel-Space 
SSDT 
IDT 
Filter Drivers
27 
Rooted Satellite Valencia 
User-Space 
IAT 
EAT 
Delay Load 
Inline 
PEB 
Kernel-Space 
SSDT 
IDT 
Filter Drivers
28 
Rooted Satellite Valencia
29 
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 
Rooted Satellite Valencia
30 
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 
Rooted Satellite Valencia
31 
Import Address Table 
Loader completa los valores de esta tabla 
Rooted Satellite Valencia 
IAT 
DEMO
32 
Rooted Satellite Valencia 
EAT 
Export Address Table 
Funciones exportadas por un modulo 
Offset relativo dirección de carga 
DEMO
33 
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 
Rooted Satellite Valencia
34 
Inline Hooking 
Sobreescribir el código de una función con un 
jmp call hacia otra dirección 
Rooted Satellite Valencia
35 
SSDT Hooking 
DEMO 
Rooted Satellite Valencia
36 
Rooted Satellite Valencia 
Using WHF 
Hookear funciones ReadFile / WriteFile 
IAT / EAT / DELAYLOAD 
Dos objetivos: 
TimeCapsule 
Cripto
37 
Rooted Satellite Valencia 
DEMO TIME
38 
Rooted 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)
39 
Agradecimientos 
Rooted Satellite Valencia
40 
Rooted Satellite Valencia 
Preguntas
41 
Rooted Satellite Valencia 
Indice 
@psaneme

Más contenido relacionado

Similar a Pablo sanemeteriovalencia

Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsSofia2 Smart Platform
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olothojalataverde
 
Lab Windows Intro Actualizado
Lab Windows Intro ActualizadoLab Windows Intro Actualizado
Lab Windows Intro ActualizadoRubén Loredo
 
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...jorgelebrato
 
LabVIEW Nivel I (Semana 1)
LabVIEW Nivel I (Semana 1)LabVIEW Nivel I (Semana 1)
LabVIEW Nivel I (Semana 1)Israel Carrión
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android introhojalataverde
 
GLOSARIO DE TERMINOS.docx
GLOSARIO DE TERMINOS.docxGLOSARIO DE TERMINOS.docx
GLOSARIO DE TERMINOS.docxZimri Rafael
 
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...Websec México, S.C.
 
Creando un SCADA con Python y HTML5
Creando un SCADA con Python y HTML5Creando un SCADA con Python y HTML5
Creando un SCADA con Python y HTML5Nahuel Defossé
 
presentation_3341_1461569643.pdf
presentation_3341_1461569643.pdfpresentation_3341_1461569643.pdf
presentation_3341_1461569643.pdfBismarckBerrios2
 
1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptxATM_SSI
 
Linux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversLinux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversMartin Baez
 
Trabajo de seguridad informatica 1
Trabajo de seguridad informatica 1Trabajo de seguridad informatica 1
Trabajo de seguridad informatica 1Carlos Alderete
 

Similar a Pablo sanemeteriovalencia (20)

Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olot
 
Lab Windows Intro Actualizado
Lab Windows Intro ActualizadoLab Windows Intro Actualizado
Lab Windows Intro Actualizado
 
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
 
LabVIEW Nivel I (Semana 1)
LabVIEW Nivel I (Semana 1)LabVIEW Nivel I (Semana 1)
LabVIEW Nivel I (Semana 1)
 
18188206 sistema-scada
18188206 sistema-scada18188206 sistema-scada
18188206 sistema-scada
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android intro
 
GLOSARIO DE TERMINOS.docx
GLOSARIO DE TERMINOS.docxGLOSARIO DE TERMINOS.docx
GLOSARIO DE TERMINOS.docx
 
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
 
Creando un SCADA con Python y HTML5
Creando un SCADA con Python y HTML5Creando un SCADA con Python y HTML5
Creando un SCADA con Python y HTML5
 
presentation_3341_1461569643.pdf
presentation_3341_1461569643.pdfpresentation_3341_1461569643.pdf
presentation_3341_1461569643.pdf
 
WebRTC
WebRTCWebRTC
WebRTC
 
Proyecto pic
Proyecto picProyecto pic
Proyecto pic
 
Insight - Architecture Design
Insight - Architecture DesignInsight - Architecture Design
Insight - Architecture Design
 
1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx
 
Linux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversLinux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - Drivers
 
J2ME. JavaME
J2ME. JavaMEJ2ME. JavaME
J2ME. JavaME
 
Trabajo de seguridad informatica 1
Trabajo de seguridad informatica 1Trabajo de seguridad informatica 1
Trabajo de seguridad informatica 1
 
Comunicaciones serialesc#2010 ccs
Comunicaciones serialesc#2010 ccsComunicaciones serialesc#2010 ccs
Comunicaciones serialesc#2010 ccs
 
Metasploit
MetasploitMetasploit
Metasploit
 

Pablo sanemeteriovalencia

  • 1. 1 How to protect your hot pics with WHF Pablo San Emeterio Lopez @psaneme Satellite Edition Rooted Satellite Valencia
  • 5. 5 ROOOOOOOTEDCON !!! Rooted Satellite Valencia
  • 7. 7 Rooted Satellite Valencia Whois Ingeniero Informático (UPM) Master en Auditoría y Seguridad Informática (UPM) CISA, CISM, OCA CyberSecurity and Research Team
  • 8. 8 Rooted Satellite Valencia Indice Hook WHF Hooking de eventos Hooking de mensajes Hooking de funciones – User-Space – Kernel-Space
  • 9. 9 Rooted 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
  • 10. 10 Rooted Satellite Valencia Indice Hook WHF Hooking de eventos Hooking de mensajes Hooking de funciones – User-Space – Kernel-Space
  • 11. 11 Rooted 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/
  • 12. 12 Rooted Satellite Valencia Indice Hook WHF Hooking de eventos Hooking de mensajes Hooking de funciones – User-Space – Kernel-Space
  • 13. 13 Hooking de eventos PsSetCreateProcessNotifyRoutine PsSetLoadImageNotifyRoutine PsSetCreateThreadNotifyRoutine IoRegisterPlugPlayNotification PoRegisterPowerSettingCallback IoRegisterShutdownNotification ZwNotifyChangeKey KeRegisterProcessorChangeCallback Rooted Satellite Valencia
  • 14. 14 Hooking de eventos Rooted Satellite Valencia
  • 15. 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 …. 15 Hooking de eventos Rooted Satellite Valencia
  • 16. 16 Rooted Satellite Valencia Indice Hook WHF Hooking de eventos Hooking de mensajes Hooking de funciones – User-Space – Kernel-Space
  • 17. 17 Hooking de mensajes Punto en el sistema de gestión de mensajes donde monitorizar determinados mensajes antes de llegar a la ventana destino Rooted Satellite Valencia
  • 18. 18 Hooking de mensajes Mensajes hacia las ventanas SetWindowsHook WH_KEYBOARD WH_MOUSE WH_JOURNALRECORD WH_JOURNALPLAYBACK Rooted Satellite Valencia
  • 19. 19 Hooking de mensajes Rooted Satellite Valencia
  • 20. 20 Hooking de mensajes Rooted Satellite Valencia
  • 21. 21 Hooking de mensajes Que podemos hacer KeyLogger MouseLogger Computer Use Tracker Hide Window Linux C&P Rooted Satellite Valencia
  • 22. 22 Rooted Satellite Valencia Indice Hook WHF Hooking de eventos Hooking de mensajes Hooking de funciones – User-Space – Kernel-Space
  • 23. 23 Hooking de funciones Rooted Satellite Valencia
  • 24. 24 Hook WHF Hooking de mensajes Hooking de eventos Hooking de funciones – User-Space – Kernel-Space Rooted Satellite Valencia
  • 25. 25 Rooted Satellite Valencia Indice Hook WHF Hooking de mensajes Hooking de eventos Hooking de funciones – User-Space – Kernel-Space
  • 26. 26 Rooted Satellite Valencia User-Space IAT EAT Delay Laod Inline PEB Kernel-Space SSDT IDT Filter Drivers
  • 27. 27 Rooted Satellite Valencia User-Space IAT EAT Delay Load Inline PEB Kernel-Space SSDT IDT Filter Drivers
  • 29. 29 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 Rooted Satellite Valencia
  • 30. 30 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 Rooted Satellite Valencia
  • 31. 31 Import Address Table Loader completa los valores de esta tabla Rooted Satellite Valencia IAT DEMO
  • 32. 32 Rooted Satellite Valencia EAT Export Address Table Funciones exportadas por un modulo Offset relativo dirección de carga DEMO
  • 33. 33 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 Rooted Satellite Valencia
  • 34. 34 Inline Hooking Sobreescribir el código de una función con un jmp call hacia otra dirección Rooted Satellite Valencia
  • 35. 35 SSDT Hooking DEMO Rooted Satellite Valencia
  • 36. 36 Rooted Satellite Valencia Using WHF Hookear funciones ReadFile / WriteFile IAT / EAT / DELAYLOAD Dos objetivos: TimeCapsule Cripto
  • 37. 37 Rooted Satellite Valencia DEMO TIME
  • 38. 38 Rooted 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)
  • 39. 39 Agradecimientos Rooted Satellite Valencia
  • 40. 40 Rooted Satellite Valencia Preguntas
  • 41. 41 Rooted Satellite Valencia Indice @psaneme