Iscriviti al webinar gratuito del 20 Ottobre per diventare Ethical Hacker! Scopri di più
Keylogging: Registrazione dei Tasti Premuti (T1056.001)
Il keylogging rappresenta la sottotecnica più diffusa della famiglia Input Capture e consiste nella registrazione sistematica dei tasti premuti dall'utente per intercettare credenziali, comunicazioni e dati sensibili nel momento esatto in cui vengono digitati. MITRE ATT&CK la classifica sotto due tattiche distinte: TA0006 (Credential Access), perché è uno degli strumenti principali per acquisire username e password quando il dumping diretto dei database di autenticazione fallisce, e TA0009 (Collection), perché consente di raccogliere qualsiasi input testuale — messaggi, ricerche, comandi shell.
La forza del keylogging sta nella sua semplicità concettuale unita a una varietà notevole di implementazioni tecniche: hooking delle API di sistema dedicate alla gestione della tastiera, lettura diretta del buffer hardware, modifiche al registro di Windows, driver kernel-mode personalizzati e, nei casi più sofisticati, modifiche al firmware di apparati di rete per intercettare le sessioni di login amministrativo.
L'ecosistema di minaccia è particolarmente ampio: 26 gruppi APT documentati utilizzano questa capacità, supportati da 123 famiglie di malware distinte e da 3 campagne di rilievo. La ubiquità è tale che praticamente ogni RAT commerciale o custom include un modulo keylogger, e il metodo continua a essere efficace anche contro ambienti con MFA, perché consente di catturare secret pre-MFA, PIN, passphrase di password manager e OTP durante finestre temporali utili.
In un ingaggio red team autorizzato, il keylogging si integra tipicamente nella fase post-exploitation come strumento di privilege escalation credenziale o di collection prolungata. La scelta del vettore dipende dal livello di accesso: user-mode senza privilegi elevati, user-mode con SYSTEM, o kernel-mode.
Sul fronte user-mode Windows, la via classica passa per SetWindowsHookEx con hook di tipo WH_KEYBOARD_LL, che intercetta gli eventi tastiera a livello di sistema senza richiedere privilegi amministrativi. In alternativa, il polling continuo di GetAsyncKeyState o GetKeyState dentro un thread dedicato produce lo stesso risultato con footprint API diverso e generalmente meno rumoroso per gli EDR meno maturi.
Strumenti pronti per il laboratorio includono PowerSploit (open source) con il modulo Get-Keystrokes, che sfrutta hooking Win32 puro in PowerShell e restituisce output cifrabile:
Import-Module .\PowerSploit.psd1; Get-Keystrokes -LogPath C:\Temp\kl.txt -Timeout 60
Empire (open source, fork mantenuti come BC-Security Empire) e PoshC2 (open source) espongono moduli keylogger cross-platform integrati nel C2. SILENTTRINITY (open source) offre una implementazione .NET-based iniettabile in processi ospiti. Per scenari commerciali con licenza red team, Cobalt Strike (a pagamento) fornisce keylogger come comando Beacon nativo che si inietta in un processo target selezionato.
Su Linux, un keylogger user-mode può aprire in lettura i device /dev/input/event*, previa appartenenza al gruppo input o esecuzione come root, e decodificare gli scancode via struct input_event. Il progetto logkeys (open source) implementa questa logica in modo didattico. In ambienti X11 non hardened, XQueryKeymap consente lo stesso obiettivo senza privilegi elevati.
Su macOS, l'approccio moderno usa CGEventTapCreate dei Quartz Event Services, che però richiede il permesso TCC di Input Monitoring o Accessibility — un ostacolo aggirabile solo con social engineering o exploit specifici. In laboratorio, il tool keysniffer-osx (open source, archiviato) mostra la meccanica base.
Per la simulazione avversariale strutturata, Atomic Red Team (open source) fornisce test T1056.001 già pronti che invocano Get-Keystrokes e varianti registry-based, utili per validare la detection senza sviluppare payload custom. La regola d'ingaggio essenziale è definire con il cliente sia il perimetro sia la modalità di sanitizzazione dei log catturati, che possono contenere credenziali reali di terzi.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo
2 minuti · 7 domande
Che professionista cyber sei?
Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.