
SharpHook é uma ferramenta ofensiva de hooking de API projetada para capturar várias credenciais durante a chamada de API.
SharpHook é inspirado pelo projeto SharpRDPThief. Ele usa vários hooks de API para nos fornecer as credenciais desejadas.
Em segundo plano, usa o projeto EasyHook. Quando o processo desejado estiver em execução, o SharpHook injetará automaticamente suas dependências no processo alvo e então nos enviará as credenciais através do servidor IPC do EasyHook.
| Processo | Chamada de API | Descrição | Progresso |
|---|---|---|---|
| mstsc | CredUnPackAuthenticationBufferW | Isso fará hook no mstsc e deve fornecer Nome de Usuário, Senha e o IP remoto | CONCLUÍDO |
| runas | CreateProcessWithLogonW | Isso fará hook no runas e deve fornecer Nome de Usuário, Senha e o nome do domínio | CONCLUÍDO |
| powershell | CreateProcessWithLogonW | Isso fará hook no powershell e deve fornecer a saída de comandos quando o usuário insere credenciais diferentes. Por exemplo - Start-Process cmd -Credential X | CONCLUÍDO |
| cmd | RtlInitUnicodeStringEx | Isso deve fazer hook no cmd e então seria capaz de filtrar palavras-chave como: PsExec, senha etc.. | Em Progresso - O cmd trava, não sei por quê |
| MobaXterm | CharUpperBuffA | Isso fará hook no MobaXterm e deve fornecer credenciais para logins SSH e RDP | Em Progresso - Problemas com este processo sendo 32 bits e Fody não funcionando. Como alternativa, você pode compilar o projeto como x86 e funcionará perfeitamente |
| explorer (Prompt de UAC) | CredUnPackAuthenticationBufferW | Isso fará hook no explorer e deve fornecer Nome de Usuário, Senha e o nome do Domínio do Prompt de UAC | Em Progresso - UAC diz acesso negado, provavelmente problemas de níveis de integridade |

Sinta-se à vontade para contribuir, pois estou tendo alguns problemas com alguns processos. Você pode me encontrar no Twitter ou abrir um Pull Request.