Skip to content

HydraHackerSec/KeyRoll

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KeyRoll - Python Keylogger for Red Teaming

Keyroll-removebg-preview

Disclaimer: L'uso di KeyRoll è consentito esclusivamente a fini educativi e nel rispetto delle leggi vigenti. Gli sviluppatori di KeyRoll declinano ogni responsabilità per utilizzi impropri o illegali del software.

Descrizione

KeyRoll è un keylogger sviluppato in Python come parte di un progetto scolastico per il corso di Red Teaming presso la nostra scuola di Cyber Security. Il software è stato creato da due studenti, Carioni Federico e Torchia Vincenzo, con la collaborazione di Benedetti Denis e Mazzola Giorgio.

Funzionalità Principali

  • Registrazione Tasti: KeyRoll è in grado di registrare la tastiera dell'utente e salvare i dati in un file di log.
  • Modalità Silenziosa: Il keylogger opera in background senza mostrare segni evidenti di attività.
  • Easter Egg: KeyRoll contiene un easter egg nascosto all'interno del codice, che offre un tocco divertente al progetto.

Requisiti del Sistema

  • Python 3.x
  • Sistemi Operativi: Windows, Linux

Istruzioni per l'Utilizzo

  1. Assicurarsi di avere Python 3 installato sul sistema.
  2. Clonare il repository: git clone https://github.com/HydraHackerSec/KeyRoll.git
  3. Eseguire il programma: keyroll.py
  4. Il keylogger inizierà a registrare la tastiera e salverà i log in un file e lo invierà a un server in ascolto.

Contributi e Segnalazione Bug

Siamo aperti a contributi e miglioramenti. Se trovi bug o hai suggerimenti, apri una nuova issue su GitHub.

Disclaimer

KeyRoll è stato creato a scopo educativo e per consentire agli studenti di comprendere le minacce potenziali relative ai keylogger. Non incoraggiamo né supportiamo l'uso illecito o dannoso di questo software. Gli sviluppatori non si assumono alcuna responsabilità per qualsiasi conseguenza derivante dall'uso improprio di KeyRoll.

Usa il software in modo responsabile e legale.


Nota: Il progetto KeyRoll è stato realizzato a fini educativi e non deve essere utilizzato in modo illecito o senza il consenso dell'utente interessato. Il disclaimer è incluso per chiarire che gli sviluppatori non intendono promuovere attività illegali o dannose.

Table of contents:

Classe
Funzione Nome Scritto
Testato (Windows) Implementato Note
CustomDescritionFormatter(argparse.RawDescriptionHelpFormatter) Massima lunghezza linea _init_ Si
Si
Si
Argparse nuova linea
_split_lines
Si
Si
Si
Keyboard
Quando viene premuto un pulsante on_key_press Si
Si
Si
Quando viene rilasciato un pulsante on_key_release
Si
Si
Si
Mouse Quando viene premuto un pulsante del mouse on_mouse_click
Si
Si
Si
Quando il mouse effettua uno scroll on_mouse_scroll
Si
Si
Si
Quando il mouse si muove on_mouse_move
Si
Si
Si
Util Controllo ip
is_valid_ip
Si
Si
Si
Rimozione dell'ultimo log inviato log_path_size
Si
Si
Si
Interrupt di uscita controlled_exit
Si
Si
Si
Gestione interrupt di uscita sigint_handler Si
Si
Si
Cerca la directory di dove salvare i log log_dir_find
Si
Si
Si
Crea la directory dove salvare i log log_dir_create Si
Si
Si
Costruzione un nome per file con data e ora UTC
UTC_filename Si
Si
Si
Cerca il file di log get_log_file
Si
Si
Si
Key_special_function Mappa tasti non riconosciuti keyboard_codes_mapping
Si
Si
Si
Mappa tasti non riconosciuti che iniziano con \ windows_keyboard_codes_mapping
Si
Si
Si
Controlla se il tasto premuto è destro o sinistro left_or_right Si
Si
Si
Stampa messaggio di taglia
handle_cut Si
Si
Si
Stampa messaggio di copia handle_copy Si
Si
Si
Stampa messaggio di incolla handle_paste Si
Si
Si
Trigger Chiama una funzione da una stringa call_global_function
Si
Si
Si
Quando viene digitata una parola class Special_word Si
Si
Si
Quando path supera peso class Over_size Si
Si
Si
Funzione richiamata ad intervalli (async)
class Recursive_interval Si
Si
Si
Prima di spegnimento
Preso in considerazione
Spy
Fa uno screenshot screenshot
Si
Si
Si
Fa una foto photo Si
No
No
Fa il dump dei processi process Si
Si
Si
Fa il dump delle NIC web Si
Si
Si
Ritorna grandezza schermo screen_size Si
Si
Si
Fa il dump dei dischi
Preso in considerazione
Fa il dump della CPU
Preso in considerazione
Microfono
Preso in considerazione
Dispositivi USB
Preso in considerazione
Log
Crea il messaggio create_message Si
Si
Si
Crea il messaggio di errore fatale error Si
Si
Si
Stampa il messaggio a schermo print_message Si
Si
Si
Stampa il messaggio su file di log print_file Si
Si
Si
Crea nuovo file di log configure_print_file Si
Si
Si
Trova vecchi file di log find_old_file Si
Si
Si
Sender
Controlla la connessione check_connection
Si
Si
Si
Invia tramite richiesta post
send_file_via_http
Si
Si
Si
Invia tramite ftp
Preso in considerazione
Invia tramite mail
Preso in considerazione
Invio in streaming
Preso in considerazione
Invia il messaggio e rinomia il file di log sender Si
Si
Si
global space - main Si
Si
Si
Controlla OS se eseguibile imposta autoesecuzione e riavvia pre_main Si
Si
Si

Nota: KeyRoll è stato testato su Windows e risulta funzionante

Come installare i requirements:

Per installare i pacchetti elencati nel file requirements.txt, puoi utilizzare il comando pip. Assicurati di trovarmi nella directory che contiene il tuo file requirements.txt, quindi esegui il seguente comando nel tuo terminale o prompt dei comandi:

pip install -r requirements.txt

Questo comando installerà tutti i pacchetti elencati nel file requirements.txt e le relative dipendenze. Assicurati di avere pip installato e che sia aggiornato alla versione più recente. Se non hai ancora installato pip, puoi farlo seguendo le istruzioni nel sito web di Python: https://pip.pypa.io/en/stable/installation/

Una volta completata l'installazione, il tuo ambiente dovrebbe essere pronto con tutte le dipendenze necessarie.

Compilare il codice con PyInstaller:

Per installare pyinstaller, puoi utilizzare il comando pip come segue:

pip install pyinstaller

Una volta installato pyinstaller, puoi utilizzare il comando che hai fornito per creare un eseguibile standalone del tuo script Python. Assicurati di essere nella directory del tuo script prima di eseguire questo comando. Se stai utilizzando un terminale Windows, sostituisci py con python nel comando. Ecco il comando aggiornato:

python -m PyInstaller "path/to/key.py" --onefile --icon "path/to/keyroll.ico" --name "KeyRoll" -w

Assicurati di fornire i percorsi corretti ai tuoi file (key.py, l'icona, ecc.) nei comandi sopra.

Inoltre, tieni presente che il flag -w nel comando indica di eseguire l'app in modalità GUI senza aprire una finestra del terminale. Se preferisci visualizzare l'output del tuo script, puoi rimuovere questo flag.

Dopo aver eseguito il comando, troverai il tuo eseguibile nella directory dist all'interno della directory del tuo progetto.

Compatibilità

  • Windows: compatibile, stabile e testato
  • Linux, debian based: compatibile, stabile e testato

License

KeyRoll is a keylogger developed in Python as part of a school project for the Red Teaming course at our Cyber Security school. Copyright (C) 2024 Federico Carioni - Vincenzo Torchia

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

About

KeyRoll is a keylogger developed in Python as part of a school project for the Red Teaming course at our Cyber Security school.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages