
SharpHook est un outil offensif d'accrochage d'API conçu pour intercepter diverses informations d'identification lors des appels API.
SharpHook est inspiré du projet SharpRDPThief. Il utilise divers hooks API pour nous fournir les identifiants souhaités.
En arrière-plan, il utilise le projet EasyHook. Une fois le processus souhaité en cours d'exécution, SharpHook injecte automatiquement ses dépendances dans le processus cible, puis nous envoie les identifiants via le serveur IPC d'EasyHook.
| Processus | Appel API | Description | Progression |
|---|---|---|---|
| mstsc | CredUnPackAuthenticationBufferW | Cela interceptera mstsc et devrait vous donner le nom d'utilisateur, le mot de passe et l'IP distante | TERMINÉ |
| runas | CreateProcessWithLogonW | Cela interceptera runas et devrait vous donner le nom d'utilisateur, le mot de passe et le nom de domaine | TERMINÉ |
| powershell | CreateProcessWithLogonW | Cela interceptera powershell et devrait vous donner la sortie des commandes lorsque l'utilisateur saisit des identifiants différents. Par exemple - Start-Process cmd -Credential X | TERMINÉ |
| cmd | RtlInitUnicodeStringEx | Cela devrait intercepter cmd et pouvoir filtrer des mots-clés comme : PsExec, password, etc.. | En cours - Plante cmd, je ne sais pas pourquoi |
| MobaXterm | CharUpperBuffA | Cela interceptera MobaXterm et devrait vous donner les identifiants pour les connexions SSH et RDP | En cours - Problèmes car il s'agit d'un processus 32 bits et Fody ne fonctionne pas. En solution de contournement, vous pouvez compiler le projet en x86 et cela fonctionnera parfaitement |
| explorer (invite UAC) | CredUnPackAuthenticationBufferW | Cela interceptera explorer et devrait vous donner le nom d'utilisateur, le mot de passe et le nom de domaine à partir de l'invite UAC | En cours - UAC dit accès refusé, probablement des problèmes de niveaux d'intégrité |

N'hésitez pas à contribuer, car je rencontre quelques problèmes avec certains processus. Vous pouvez me trouver sur Twitter ou ouvrir une Pull Request.