
SharpHook es una herramienta de hooking de API ofensiva diseñada para capturar diversas credenciales dentro de la llamada a la API.
SharpHook está inspirado en el proyecto SharpRDPThief. Utiliza varios hooks de API para obtener las credenciales deseadas.
En segundo plano, usa el proyecto EasyHook. Una vez que el proceso deseado está en ejecución, SharpHook inyecta automáticamente sus dependencias en el proceso objetivo y luego envía las credenciales a través del servidor IPC de EasyHook.
| Proceso | Llamada a la API | Descripción | Progreso |
|---|---|---|---|
| mstsc | CredUnPackAuthenticationBufferW | Esto se engancha en mstsc y debería darte nombre de usuario, contraseña y la IP remota | HECHO |
| runas | CreateProcessWithLogonW | Esto se engancha en runas y debería darte nombre de usuario, contraseña y el nombre de dominio | HECHO |
| powershell | CreateProcessWithLogonW | Esto se engancha en powershell y debería darte la salida de comandos cuando el usuario introduce otras credenciales. Por ejemplo: Start-Process cmd -Credential X | HECHO |
| cmd | RtlInitUnicodeStringEx | Esto debería engancharse en cmd y luego sería capaz de filtrar palabras clave como: PsExec, password, etc. | En progreso - Falla cmd, no sé por qué |
| MobaXterm | CharUpperBuffA | Esto se engancha en MobaXterm y debería darte credenciales para inicios de sesión SSH y RDP | En progreso - Problemas porque es un proceso de 32 bits y Fody no funciona. Como solución alternativa, puedes compilar el proyecto como x86 y funcionará bien |
| explorer (Aviso de UAC) | CredUnPackAuthenticationBufferW | Esto se engancha en explorer y debería darte nombre de usuario, contraseña y el nombre de dominio desde el aviso de UAC | En progreso - UAC dice acceso denegado, probablemente problemas de niveles de integridad |

Siéntete libre de contribuir, ya que tengo algunos problemas con ciertos procesos. Puedes encontrarme en Twitter o abrir un Pull Request.