PyHook: API Hooking ofensivo para obtener credenciales

Hooking ya no es un concepto nuevo, muchos proveedores de AV/EDR utilizan esta técnica para monitorizar llamadas API sospechosas. Pero, evidentemente, no siempre se utiliza con motivos defensivos...

Precisamente en esta entrada hablamos de PyHook de Ilan Kalendarov es una implementación en Python del proyecto SharpHook que usa varios hooks de API...  pero para obtener credenciales en el sistema comprometido. 

PyHook usa Frida para inyectar sus dependencias en el proceso objetivo. Los procesos soportados son:

ProcesoAPI Call Objetivo
mstsc CredUnPackAuthenticationBufferW Usuario y contraseña

runas CreateProcessWithLogonW Usuario, contraseña y nombre de dominio.

cmd RtlInitUnicodeStringEx Filtra palabras clave como: PsExec,password etc..
MobaXterm CharUpperBuffA Credenciales de logins SSH y RDP
explorer (UAC Prompt) CredUnPackAuthenticationBufferW Usuario, contraseña y nombre de dominio para el prompt UAC

Demo

Comentarios