
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.
