Oggi voglio parlarvi del più fantastico TOOL di Hacking che mi sia mai capitato di vedere ! Nessun programma su GITHUB. Niente PLUGIN per METASPLOIT. Si tratta semplicemente di questo:
Come ne sono venuto a conoscenza
Un giorno, girando per il Magazzino, mi capita di notare che sul tavolo - vicino ad ogni postazione informatica - c'era un bel bullone da 15 come quello che vedete qui sopra. Ho subito pensato: «Che bel fermacarte !».
Poi ho visto questo:
e mi sono chiesto: «cosa cavolo ci fa un bullone del 15 appoggiato sul tasto "Alt" della tastiera di una delle Postazioni di Lavoro usata per caricare su SAP le transazioni di Magazzino ?»
L'addetto al Magazzino era tra gli scaffali a reperire il materiale per una consegna, quindi ho dovuto attendere che tornasse per chiedere spiegazioni...
Quando il Magazziniere è tornato, col carrello pieno di materiale, ha tolto il bullone dalla tastiera, lo ha appoggiato sulla scrivania ed ha iniziato a digitare a terminale la lista del materiale in consegna.
Vi confesso che mi ci sono voluti diversi minuti per capire che il bullone serviva per impedire la chiusura automatica della sessione di lavoro sul PC !
In tutte le Postazioni di Lavoro è impostato, mediante una Group Policy, l'avvio in automatico del Salvaschermo dopo un tempo di inattività pari a 10 minuti. L'avvio del Salvaschermo chiude ovviamente anche la sessione di lavoro eventualmente rimasta aperta e mette in blocco il PC. Per sbloccare il PC occorre reinserire le credenziali di accesso.
Con il bullone, invece, la sessione rimane aperta anche quando non c'è nessuno !
Ingegnoso, vero ?
Ma come funziona ? E perchè proprio sul tasto "Alt" ?
Per capire come e perchè questo semplice trucchetto funziona, è necessario prima di tutto andare a vedere nel dettaglio come è fatta la tastiera di un PC.
Dentro la tastiera...
Una tastiera è molto simile a un computer in miniatura. Ha un proprio processore e circuiti che trasportano informazioni da e verso quel processore.
I tasti funzionano come degli interruttori. Il tasto premuto chiude il circuito e fa arrivare la corrente al microprocessore. Il tasto rilasciato apre il circuito e la corrente non arriva più.
Ogni tasto è inserito in una matrice circuitale di righe e colonne.
Quando un tasto viene premuto, due segnali (uno identifica la riga e l'altro la colonna) arrivano al microprocessore interno che contiene una mappa dei caratteri nella sua ROM e può quindi codificarli e comunicare al PC il tasto premuto.
Tasti "speciali"
Nella tastiera sono presenti anche dei tasti chiamati "modificatori". Un tasto modificatore è un tasto speciale che modifica temporaneamente la normale azione di un altro tasto, quando viene premuto insieme a questo. I più comuni sono:
Shift (Maiuscolo)
Ctrl (Controllo)
Alt (Alternativo)
AltGr (Grafica alternativa)
Win (logo Windows)
Fn (Funzione)
Di per sé i tasti modificatori di solito non fanno nulla. In altre parole, premendo uno qualsiasi dei tasti Shift, Alt, Ctrl ecc. non si attiva (in genere) alcuna azione sul Computer.
Come viene rilevato il "tempo di inattività" ?
Il Sistema Operativo del PC prevede un Timer di inattività, ossia un contatore che conta i secondi che trascorrono mentre il PC non riceve segnali di input dalla tastiera o dal mouse.
Ogni volta che viene premuto un tasto sulla tastiera o che viene rilevato un movimento o un click del mouse, il Timer si resetta.
Quando il Timer di inattività raggiunge il valore impostato per il Salvaschermo, il Sistema Operativo avvia automaticamente il programma Salvaschermo e mette in blocco il PC.
Il ruolo dei tasti "speciali" nel calcolo del Tempo di inattività
Non tutti i tasti "speciali" resettano il Timer di inattività, quando sono premuti.
Tra i vari tasti "speciali" (cioè quelli che - quando premuti da soli - non attivano alcuna azione sul PC) vi sono alcuni tasti per cui il Timer di inattività continua ad incrementarsi anche quando questi sono premuti. Anche la loro pressione continua non resetta il Timer di inattività.
I restanti tasti "speciali" invece resettano correttamente il Timer di inattività, quando premuti.
Questo differente comportamento tra i vari tasti "speciali" nei confronti del Timer di inattività dipende da come sono scritti alcuni componenti del Sistema Operativo e del BIOS del PC.
Possiamo vedere tutto questo con un esempio:
Ecco quindi dove sta il "trucco"...
L'abilissimo HACKER che ha trovato questo ingegnoso sistema per superare il problema del blocco del PC non ha dovuto far altro che trovare "sperimentalmente" quale tasto "speciale" tenere premuto con il bullone, in modo che:
- quel tasto "speciale" - anche se tenuto continuamente premuto dal bullone - non interferisse con le finestre delle applicazioni aperte (SAP);
- quel tasto "speciale" - quando tenuto continuamente premuto dal bullone - mantenesse il Timer di inattività del PC a ZERO, impedendo così l'attivazione automatica del Salvaschermo;
- quel tasto "speciale" si trovasse sulla tastiera in una posizione relativamente "comoda" per poterci appoggiare sopra il bullone.
Ma PERCHE' l'ha fatto ?
Viene da chiedersi: perchè mai un Magazziniere-HACKER avrebbe voluto "neutralizzare" una misura di sicurezza imposta dalle Security Policy Aziendali, rischiando anche tra l'altro di incorrere in possibili sanzioni ?
La spiegazione l'ho trovata quando ho provato a fare il suo lavoro "senza il bullone".
Un Magazziniere non passa tutto il suo tempo davanti al Computer. Il suo compito principale consiste nel movimentare le merci, quindi è spesso in giro per gli scaffali del magazzino con un carrello ed utilizza il PC solo quando deve registrare a Sistema le operazioni di carico e scarico merci, per tenere aggiornate le giacenze.
Il Sistema SAP-MM utilizzato in Azienda è implementato dal punto di vista tecnico mediante una architettura particolare (un ambiente di Virtualizzazione Applicativa) e (per ragioni "storiche") prevede un proprio sistema di autenticazione degli utenti con user-name e password diverse da quelle utilizzate per autenticarsi al PC.
Tutto ciò comporta, per il Magazziniere che deve registrare un movimento merci su SAP da un Computer la cui sessione di lavoro è stata automaticamente bloccata dallo Screensaver, i seguenti passi:
- Sbloccare il Salvaschermo del PC, inserendo le proprie credenziali di Dominio;
- Eseguire l'accesso all'ambiente di Virtualizzazione, inserendo anche qui le proprie credenziali di Dominio;
- Eseguire l'accesso a SAP, inserendo le apposite credenziali (diverse da quelle di Dominio).
E' chiaro quindi come questa violazione delle Security Policy Aziendali non sia stata innescata dalla volontà di nuocere alla sicurezza delle informazioni, bensì da una comprensibilissima esigenza di semplificare una operatività quotidiana, divenuta eccessivamente complessa.
Questa è la ragione per cui l'ignoto Magazziniere-HACKER non è stato in alcun modo sanzionato. Anzi, questa è stata l'occasione per rivedere e SEMPLIFICARE il funzionamento dei meccanismi di autenticazione degli utenti ai Sistemi ed alle Applicazioni Aziendali.
Resta però il problema...
L'attivazione in automatico del Salvaschermo ed il corrispondente "blocco" del PC dopo un determinato tempo di inattività è una delle misure di sicurezza di base in qualsiasi realtà Aziendale.
Il "trucco del BULLONE" scoperto dal misterioso Magazziniere-HACKER è risultato in grado di neutralizzare totalmente questa misura di sicurezza in modo molto semplice, e non è stato possibile trovare una diversa configurazione dei parametri legati all'attivazione automatica del Salvaschermo in grado di superare questo problema.
La soluzione al "trucco del BULLONE"
Dopo svariate ricerche sono finalmente riuscito a trovare una possibile soluzione in grado di garantire l'avvio in automatico del Salvaschermo sul PC anche quando un BULLONE tiene costantemente premuto il tasto "speciale".
La soluzione sta nell'utilizzare un meccanismo di calcolo del Tempo di inattività che non tenga conto dei segnali di input provenienti dalla tastiera, ma solo dei segnali di input provenienti dal mouse.
Esiste un programma (IdleMonitor) che rileva lo stato di attività o inattività dell’utente solo in relazione al movimento del mouse. La pressione di un qualsiasi tasto sulla tastiera non resetta il suo timer di inattività, come è possibile vedere nel seguente esempio:
Il programma IdleMonitor può essere configurato in modo da attivare, alla scadenza di un tempo predefinito di inattività del mouse, un qualsiasi programma. E' pertanto possibile utilizzarlo per attivare il blocco del Desktop di Windows dopo un periodo definito di inattività del mouse, indipendentemente dal fatto che la tastiera del PC sia o meno utilizzata.
Purtroppo però esiste la Kryptonite anche per IdleMonitor...
Ma la soluzione trovata per il "trucco del BULLONE" è realmente a prova di bomba ?
Purtroppo no !
Esistono programmi come AutoMouseMover che, una volta attivati sul PC, lavorano in modo nascosto simulando periodicamente minuscoli movimenti del mouse.
In questo modo è possibile resettare automaticamente anche il tempo di inattività calcolato da IdleMonitor e fare in modo che il Salvaschermo non venga mai attivato.
Conclusioni
La chiusura automatica della sessione di lavoro di un PC, in caso di inattività dell'utente, è una tra le misure di sicurezza di base suggerita dagli Standard e dalle Best Practice di Security. Serve a proteggere il PC quando non è in uso, nel caso in cui l'utente si dimentichi di chiudere la sessione prima di allontanarsi - anche temporaneamente - dalla postazione di lavoro, evitando così che la sessione lasciata aperta possa essere indebitamente utilizzata da altri.
L'applicazione rigida ed indiscriminata di questa regola di sicurezza può però avere conseguenze rilevanti sulla usabilità dei Sistemi Informatici, causando ansia e frustrazione negli utenti. Questi utenti cercheranno ogni modo per aggirare la barriera di sicurezza !
La necessità aguzza l'ingegno. E' così che il nostro Magazziniere-HACKER ha scoperto il "trucco del BULLONE".
Nessuna misura di sicurezza è "a prova di bomba". Esiste il modo di forzare qualunque serratura, disponendo delle risorse necessarie.
La scelta e l'implementazione delle misure di sicurezza dovrebbe sempre essere improntata su un giusto equilibrio, che tenga conto dell'impatto che essa può avere sull'operatività degli utenti.
Solo una misura di sicurezza ragionevolmente applicabile sarà realmente efficace, perchè potrà essere accettata dagli utenti.
Cordialmente vostro,
Autostoppista Cyber Galattico.