
Keylogger Windows distant avec exfiltration de frappes chiffrée AES-256 via intervalles de rappel configurables et un serveur Python compagnon pour l'analyse des logs.
Bienvenue dans le dépôt du projet peeping-tom ! Peeping-tom est un programme en deux parties avec un peeping-client déployé sur une cible et un toms-server écoutant les frappes sur la machine de l'attaquant. Sa mise en œuvre nécessite une configuration conséquente, alors assurez-vous de lire attentivement et de suivre les instructions ci-dessous.
Bien sûr, si vous avez des suggestions, des retours, des problèmes, etc... n'hésitez pas à nous contacter ou à créer une issue ou une pull request.
Étape 1 : Ouvrir le fichier solution peeping-tom dans Visual Studio
Tout d'abord, téléchargez et installez l'édition Community de Visual Studio sur votre machine depuis le lien ci-dessus. Lors de l'installation, assurez-vous de sélectionner les charges de travail « Développement Python » et « Développement Desktop en C++ » car elles sont nécessaires pour charger et compiler correctement le projet.

Une fois l'installation terminée, lancez Visual Studio et sélectionnez l'option « Cloner un référentiel ». Entrez l'URL git du projet et cliquez sur Cloner.

Si tout s'est chargé correctement, vous devriez voir les deux projets dans la fenêtre de l'Explorateur de solutions à droite, comme illustré ci-dessous.

Étape 2 : Configurer les options du compilateur/éditeur de liens dans Visual Studio
Maintenant que l'outil est chargé dans Visual Studio, nous devons modifier quelques options et compiler une bibliothèque avant de construire. Cela supprimera toute dépendance vis-à-vis des programmes/bibliothèques lors de l'exécution sur la cible.
La première tâche consiste à compiler statiquement la bibliothèque Crypto++ utilisée pour le chiffrement dans l'enregistreur de frappe. Commencez ce processus en téléchargeant la version 8.6.0 de la bibliothèque ici.
Une fois le fichier ZIP téléchargé, extrayez-le dans un dossier, naviguez dedans et lancez cryptest.sln avec Visual Studio. Vous devriez maintenant avoir deux fenêtres Visual Studio, l'une avec la solution peeping-tom, et l'autre avec la solution cryptest ouverte.

Une fois le fichier cryptest.sln chargé dans Visual Studio, cliquez sur « Débogage » dans la barre d'outils supérieure et réglez-le sur « Release ». Changez également l'architecture pour x64 comme indiqué ci-dessous.

Maintenant, faites un clic droit sur le projet cryptlib, et sélectionnez Propriétés. Modifiez l'option mise en évidence comme indiqué.

Une fois cela fait, construisez la solution cryptest.

La construction prendra une bonne minute ou deux, mais une fois terminée, un fichier nommé cryptlib.lib devrait apparaître dans votre version du chemin ci-dessous. Trouvez le fichier et copiez son chemin pour l'étape suivante.
C:\Users\Abdullah Beta\Downloads\cryptopp860\x64\Output\Release\cryptlib.lib
Une fois que vous avez localisé le fichier et copié son chemin, revenez à la fenêtre Visual Studio qui contient la solution peeping-tom. Faites un clic droit sur le projet peeping-client, et sélectionnez Propriétés. Naviguez jusqu'à l'option montrée dans la capture d'écran ci-dessous, et collez le chemin de cryptlib.lib.

Assurez-vous que le projet peeping-client est également réglé sur « Release » et que l'architecture est réglée sur x64. NE construisez PAS encore la solution peeping-tom car il reste des modifications à apporter dans le code source.
Étape 3 : Ouvrir un tunnel public vers localhost:80
Passons au tunnel. Une fois que vous avez créé un compte Ngrok, téléchargez Ngrok pour votre système d'exploitation depuis le lien ci-dessus et extrayez l'exécutable du fichier ZIP. Avant d'ouvrir un tunnel, vous devrez récupérer un jeton d'authentification personnel depuis votre compte comme indiqué ci-dessous.

Une fois que vous avez le jeton, ajoutez-le à la configuration locale de Ngrok avec la commande suivante :
ngrok config add-authtoken 7cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmgZ5
Enfin, ouvrez le tunnel en utilisant la commande suivante :
ngrok http 80 --scheme=http
Si tout s'est bien passé, vous devriez voir quelque chose de similaire à l'image ci-dessous. Super ! Vous êtes maintenant prêt pour cette étape. Allez récupérer l'adresse « Forwarding » mise en évidence et conservez-la précieusement pour plus tard.

Étape 4 : Générer une nouvelle clé AES-256
À ce stade, vous pouvez télécharger Python sur votre machine. Une fois installé, ouvrez une fenêtre CMD dans le répertoire du projet toms-server.
Installez les dépendances requises avec :
pip3 install -r requirements.txt
Une fois tout prêt, exécutez :
python3 toms-server.py -m keygen
Cela devrait produire une clé AES-256 de 64 caractères dont vous aurez également besoin plus tard, alors assurez-vous de la sauvegarder avec l'adresse de transfert Ngrok.
Étape 5 : Définir les champs requis dans le source de peeping-client
Maintenant, nous avons tout ce dont nous avons besoin pour commencer. Ouvrez le fichier source peeping-client project->source files->peeping-client.cpp depuis l'Explorateur de solutions. Saisissez les informations pertinentes dans les deux premières variables de la fonction main() comme indiqué ci-dessous.

Après avoir entré vos informations, allez dans peeping-client project->header files->APIHook.h et remplacez le « 15 » dans l'image ci-dessous par l'intervalle de rappel souhaité en secondes (par exemple, remplacez 15 par 7200 pour un rappel toutes les deux heures... vous avez compris l'idée).

Enfin, construisez le projet et vous devriez trouver un exécutable dans votre version du chemin suivant :
C:\Users\Abdullah Beta\source\repos\peeping-client\x64\Release
Félicitations ! Vous avez maintenant un enregistreur de frappe entièrement personnalisé configuré pour rappeler avec des données de clavier chiffrées à intervalles réguliers.
Étape 6 : Démarrer le serveur d'écoute
La dernière étape consiste à commencer à écouter les frappes entrantes de la cible. Vous pouvez démarrer le serveur en mode écoute avec la commande suivante :
python3 toms-server.py -m server
Une fois le serveur démarré, saisissez la clé AES exacte que vous avez générée précédemment et utilisée dans le fichier source peeping-client.cpp. Si la clé est acceptée, vous devriez recevoir un message indiquant que le serveur a démarré !
Étape 7 : Analyser les journaux + notes importantes
Il ne reste plus qu'à exécuter le peeping-client.exe nouvellement construit sur la cible. Je laisse le « comment » à votre créativité. Chaque fois que l'intervalle que vous avez défini s'écoule, vous recevrez un message sur le terminal.
Attention : Veuillez vous assurer de ne pas perdre la connexion Internet ou de fermer votre tunnel Ngrok pendant cette période, car cela nécessiterait de réexécuter le programme peeping-client.exe sur la cible.
Toutes les frappes seront écrites dans un fichier keylog.txt dans le répertoire du script toms-server et pourront être consultées depuis là. C'est tout pour les instructions, j'espère que vous avez pu vous lancer sans difficultés majeures !
Bientôt disponible !
pip3 install requests
Lorsque vous contribuez à ce dépôt, veuillez discuter des modifications que vous souhaitez apporter via une issue, un email ou LinkedIn.
Ce projet est uniquement à des fins éducatives. Tout comportement malveillant mené avec ce projet relève de la seule responsabilité de l'utilisateur. Je décline toute responsabilité pour des actions illégales.
Ce projet a été partiellement guidé par le cours Udemy d'Ermin Kreponic et a été remanié pour intégrer certaines de mes nouvelles idées et compétences acquises.
Auteur - Abdullah Ansari ©
Coordonnées - Email