
Notre Gmail convivial agira comme serveur et l'implant exfiltrera les données via smtp et lira les commandes du C2 (Gmail) via le protocole imap.
Notre Gmail convivial agira comme serveur et l'implant exfiltrera des données via SMTP et lira les commandes du C2 (Gmail) via le protocole IMAP.
Ce projet ne fonctionne pas contre Windows Defender après le 29 novembre 2022. Cet outil est désormais signé par MS Windows comme
virtool:msil/ "shgmailz." a!mtb. Cependant, j'ai bien l'intention de mettre à niveau ce projet dans un avenir proche, vers une version plus récente nommée SharpGmailC2V2
🚫 [Avertissement] : L'utilisation de ce projet est réservée à des fins éducatives / de test uniquement. Son utilisation sur des machines non autorisées est strictement interdite. Si quelqu'un est surpris à l'utiliser à des fins illégales / malveillantes, l'auteur du dépôt ne sera pas tenu responsable.
Lors de la configuration du ou des comptes Gmail intermédiaires d'expéditeur et de destinataire, activez POP Download et IMAP Access en suivant les étapes de ce (lien)[https://support.cloudhq.net/how-to-check-if-imap-is-enabled-in-gmail-or-google-apps-account/]
Une fois IMAP et POP activés, générez un mot de passe d'application en suivant la procédure de cet article ici. Si le paramètre App Password n'est pas visible dans Security, activez d'abord la vérification 2FA pour le compte Gmail.
Lors de la compilation du code, mettez à jour les lignes qui définissent emailToAddress, password et emailToAddress. La valeur de password doit être définie sur le App Password généré à l'étape précédente. Notez également que les valeurs de emailToAddress, et emailToAddress peuvent être identiques.
EAGetMail du gestionnaire de packages Nuget.Costura et Costura Fody du gestionnaire de packages Nuget, afin de regrouper toutes les DLL ensemble. Cela a effectivement alourdi mon implant, mais dans ce cas, je ne pense pas que cela ait beaucoup d'importance car cet implant est FUD jusqu'à présent :).Unread (si ce n'est pas le cas, marquez-la comme Non lue) car l'implant analyse le dernier courrier Unread et vérifie s'il commence par "in:" ou non. S'il commence par "in:", il comprend que ce corps de texte particulier est une commande légitime, marque ce courrier comme Read et cela continue jusqu'à la fin.Voici l'extrait :
Il semble que capa ne soit pas du tout capable de détecter les capacités de mon implant client. Mais cela crée définitivement des soupçons, obligeant l'analyste de malwares à jeter un second coup d'œil au binaire.
Nous pouvons voir que les commandes envoyées par l'opérateur via Gmail et les informations exfiltrées / envoyées sont toutes chiffrées par le chiffrement TLS de Gmail. En plus de cela, l'adresse IP (marquée) n'est pas du tout suspecte, ou en d'autres termes, elle est sûre du point de vue de l'OPSEC.
SharpGmailC2 peut générer les comportements génériques suivants, ce qui peut aider les défenseurs à détecter SharpGmailC2 ou d'autres processus qui exploitent les protocoles de messagerie de Gmail pour le commandement et le contrôle :
imap.google.com et des connexions réseau vers d'autres domaines Google, par ex. 1e100.net.# Monitor high network connections from a particular processID
Channel=Microsoft-Windows-Sysmon
(EventID=3 OR EventID=22) (3=Network Connection, 22=DNS)
(DestinationHostname=*.1e100.net OR QueryName=*.gmail.com)
powershell à partir d'un processus binaire (.dll ou .exe)Channel=Microsoft-Windows-Sysmon
EventID=1
CommandLine=powershell.exe
(ParentImage=*.exe OR ParentImage=*.dll)