
Keylogger remoto per Windows con esfiltrazione dei tasti premuti crittografata con AES-256 tramite intervalli di callback configurabili e un server Python compagno per l'analisi dei log.
Benvenuto nel repository del progetto peeping-tom! Peeping-tom è un programma composto da due parti: un peeping-client distribuito sul target e un toms-server in ascolto per ricevere i keylog sulla macchina dell'attaccante. Per renderlo operativo è necessaria una discreta quantità di configurazione, quindi assicurati di leggere attentamente e seguire le istruzioni qui sotto.
Ovviamente, se hai suggerimenti, feedback, problemi, ecc... sentiti libero di contattarmi o di creare un issue o una pull request.
Passo 1: Apri il file solution di peeping-tom in Visual Studio
Prima di tutto, scarica e installa l'edizione Community di Visual Studio sul tuo computer dal link sopra. Durante l'installazione, assicurati di selezionare i carichi di lavoro "Sviluppo Python" e "Sviluppo desktop con C++" in quanto saranno necessari per caricare e compilare correttamente il progetto.

Una volta completata l'installazione, avvia Visual Studio e seleziona l'opzione "Clona un repository". Inserisci l'URL git del progetto e premi clona.

Se tutto è stato caricato correttamente, dovresti vedere entrambi i progetti nella finestra Esplora soluzioni a destra, come mostrato di seguito.

Passo 2: Configura le opzioni del compilatore/linker in Visual Studio
Ora che lo strumento è stato caricato in Visual Studio, dovremo modificare un paio di opzioni e compilare una libreria prima di compilare il progetto. Questo eliminerà qualsiasi dipendenza da programmi/librerie quando verrà eseguito sul target.
Il primo compito è compilare staticamente la libreria Crypto++ che viene utilizzata per la crittografia nel keylogger. Inizia questo processo scaricando la versione 8.6.0 della libreria qui.
Una volta scaricato il file ZIP, estrailo in una cartella, naviga al suo interno e avvia cryptest.sln con Visual Studio. Ora dovresti avere due finestre di Visual Studio, una con la soluzione peeping-tom e l'altra con la soluzione cryptest aperta.

Una volta che il file cryptest.sln è stato caricato in Visual Studio, clicca su "Debug" nella barra degli strumenti superiore e imposta su "Release". Cambia anche l'architettura a x64 come mostrato di seguito.

Ora, clicca con il tasto destro sul progetto cryptlib e seleziona "Proprietà". Modifica l'opzione evidenziata come mostrato.

Una volta completato, compila la soluzione cryptest.

La compilazione richiederà un paio di minuti, ma una volta terminata, dovrebbe apparire un file chiamato cryptlib.lib nel percorso sottostante (nella tua versione). Trova il file e copia il suo percorso per il passo successivo.
C:\Users\Abdullah Beta\Downloads\cryptopp860\x64\Output\Release\cryptlib.lib
Una volta individuato il file e copiato il suo percorso, torna alla finestra di Visual Studio che ha aperta la soluzione peeping-tom. Clicca con il tasto destro sul progetto peeping-client e seleziona "Proprietà". Naviga fino all'opzione mostrata nello screenshot qui sotto e incolla il percorso di cryptlib.lib.

Assicurati che anche il progetto peeping-client sia impostato su "Release" e che l'architettura sia x64. NON compilare ancora la soluzione peeping-tom poiché ci sono ancora alcune modifiche da apportare nel codice sorgente.
Passo 3: Apri un tunnel pubblico verso localhost:80
Passiamo al tunnel. Una volta creato un account Ngrok, scarica Ngrok per il tuo sistema operativo dal link sopra ed estrai l'eseguibile dal file ZIP. Prima di aprire un tunnel, dovrai ottenere un token di autenticazione personale dal tuo account, come mostrato di seguito.

Una volta ottenuto il token, aggiungilo alla configurazione locale di Ngrok con il seguente comando:
ngrok config add-authtoken 7cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmgZ5
Infine, apri il tunnel usando il seguente comando:
ngrok http 80 --scheme=http
Se tutto è andato bene, dovresti vedere qualcosa di simile all'immagine qui sotto. Ottimo! Ora sei pronto per questo passo. Prendi l'indirizzo "Forwarding" evidenziato e salvalo in un posto sicuro per dopo.

Passo 4: Genera una nuova chiave AES-256
A questo punto, puoi scaricare Python sul tuo computer. Una volta installato, apri una finestra CMD nella directory del progetto toms-server.
Installa le dipendenze richieste con:
pip3 install -r requirements.txt
Una volta tutto pronto, esegui:
python3 toms-server.py -m keygen
Questo dovrebbe restituire una chiave AES-256 di 64 caratteri che ti servirà in seguito, quindi assicurati di salvarla insieme all'indirizzo di inoltro Ngrok.
Passo 5: Imposta i campi richiesti nel sorgente di peeping-client
Ora abbiamo tutto ciò che ci serve per iniziare. Apri il file sorgente peeping-client project->source files->peeping-client.cpp dall'Esplora soluzioni. Inserisci le informazioni pertinenti nelle prime due variabili della funzione main() mostrata qui sotto.

Dopo aver inserito le tue informazioni, vai in peeping-client project->header files->APIHook.h e sostituisci il "15" nell'immagine qui sotto con l'intervallo desiderato per il callback in secondi (ad esempio, cambia 15 in 7200 per un callback ogni due ore... hai capito).

Infine, compila il progetto e dovresti trovare un eseguibile nella tua versione del seguente percorso:
C:\Users\Abdullah Beta\source\repos\peeping-client\x64\Release
Congratulazioni! Ora hai un keylogger completamente personalizzato configurato per richiamare i dati della tastiera crittografati a intervalli regolari.
Passo 6: Avvia il server in ascolto
Il passo finale è iniziare ad ascoltare i keylog in arrivo dal target. Puoi avviare il server in modalità ascolto con il seguente comando:
python3 toms-server.py -m server
Una volta avviato il server, inserisci la chiave AES esatta che hai generato prima e utilizzato nel file sorgente peeping-client.cpp. Se la chiave viene accettata, dovresti ricevere un messaggio che dice che il server è stato avviato!
Passo 7: Analizza i log + note importanti
Non resta che eseguire il nuovo eseguibile peeping-client.exe sul target. Lascio alla tua creatività il come fare. Ogni volta che trascorre l'intervallo che hai impostato, riceverai un messaggio sul terminale.
Attenzione: Per favore, assicurati di non perdere la connessione internet o di chiudere il tunnel Ngrok durante questo periodo, poiché ciò richiederebbe la riesecuzione del programma peeping-client.exe sul target.
Tutti i keylog verranno scritti in un file keylog.txt nella directory dello script toms-server e potranno essere visualizzati da lì. Questo è tutto per le istruzioni, spero che tu sia riuscito a mettere tutto in funzione senza grossi intoppi!
Prossimamente!
pip3 install requests
Quando contribuisci a questo repository, per favore discuti le modifiche che desideri apportare tramite issue, email o LinkedIn.
Questo progetto è solo per scopi educativi. Qualsiasi tipo di comportamento scorretto condotto con questo progetto è di responsabilità dell'utente. Declino ogni responsabilità per azioni illegali.
Questo progetto è stato parzialmente guidato dal corso Udemy di Ermin Kreponic ed è stato rivisto per incorporare alcune nuove idee che avevo e nuove competenze apprese.
Autore - Abdullah Ansari ©
Informazioni di contatto - Email