Visualizzazione post con etichetta Cybersecurity. Mostra tutti i post
Visualizzazione post con etichetta Cybersecurity. Mostra tutti i post

domenica 2 novembre 2025

Cybersecurity: HikvisionExploiter, tool open source utilizzato per attaccare telecamere IP Hikvision

I dispositivi Internet of Things (IoT), in particolare le telecamere IP di sorveglianza, rappresentano un elemento critico nelle architetture di rete moderne. La loro crescente diffusione ha parallelamente aumentato la superficie di attacco esposta, rendendo la sicurezza del firmware e la corretta configurazione imperative. Il presente articolo si concentra sull'analisi di un toolkit di penetration testing noto come "HikvisionExploiter" progettato per identificare e sfruttare in modo automatizzato le vulnerabilità note nelle telecamere IP Hikvision.

ATTENZIONE:
Danneggiare/violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni contenute in questo articolo sono fornite esclusivamente a scopo didattico, informativo e di ricerca sulla sicurezza e vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.


Architettura e Funzionalità del Toolkit di Analisi

Questo strumento di sicurezza, sviluppato in Python, è concepito per automatizzare le verifiche di sicurezza sulle telecamere di rete Hikvision, concentrandosi in particolare sugli endpoint non autenticati presenti in versioni firmware specifiche, come la Versione 3.1.3.150324, e sfruttando la ben nota vulnerabilità CVE-2021-36260.

La sua potenza risiede nella capacità di eseguire una serie di test complessi in modo sequenziale e multithreaded, offrendo ai security tester una visione rapida delle vulnerabilità dei dispositivi esposti.


Fasi di Esecuzione e Analisi

Il toolkit supporta la scansione di massa, leggendo elenchi di indirizzi IP e porte (da un file targets.txt). L'approccio multithread velocizza l'identificazione dei dispositivi potenzialmente vulnerabili.

Il processo di testing si articola in diverse fasi sequenziali e automatizzate:
  1. Verifica dell'Accesso Non Autenticato (Snapshot): In una fase iniziale, viene verificata la possibilità di accedere al feed video o alle snapshot in tempo reale senza autenticazione, indicando una potenziale violazione della privacy e un accesso improprio. Tale condizione può essere dovuta ad un grave errore di configurazione o una falla nel controllo degli accessi.
  2. Recupero e Decrittografia dei file di configurazione: Successivamente, lo strumento tenta di scaricare i file di configurazione del dispositivo. Se l'accesso ha successo, utilizza algoritmi noti come AES e XOR per decifrare questi file (utilizzando librerie come pycrypto). Dai dati decrittografati, spesso in formato XML, vengono estratti dettagli critici, quali:
    -
     Credenziali utente (nomi utente e password hashing o in chiaro).
    Livelli di autorizzazione degli account.
    - Informazioni di rete e configurazione del dispositivo.
  3. Sfruttamento della Vulnerabilità Critica RCE (Remote Command Execution): Esegue un test mirato per confermare lo sfruttamento della CVE-2021-36260, provando l'esecuzione di comandi da remoto sul sistema operativo embedded della telecamera.


Prerequisiti e Configurazione dell'Ambiente di Test

Per eseguire correttamente la suite di test, sono necessari i seguenti requisiti tecnici:
  1. Ambiente Python: È richiesto Python 3.6 o superiore.
  2. Librerie Essenziali: L'installazione delle dipendenze è fondamentale. Queste sono generalmente specificate in un file requirements.txt e includono librerie come requests e pycrypto (per la gestione della decrittografia).
  3. FFmpeg (Opzionale): Sebbene non necessario per lo scanning di base, FFmpeg è richiesto per funzionalità avanzate, come l'ipotetica conversione automatica delle snapshot in un formato video continuo.


Analisi Dettagliata della Vulnerabilità CVE-2021-36260

La falla CVE-2021-36260 è un esempio lampante di quanto sia cruciale la validazione degli input nei sistemi esposti.

Meccanismo di Sfruttamento
Questa vulnerabilità è classificata come un difetto di command injection e risiede nell'inadeguata validazione dei dati forniti dall'utente in endpoint specifici del web server integrato della telecamera, come ad esempio /SDK/webLanguage. Un attacker non autenticato può manipolare i parametri di input per iniettare comandi del sistema operativo all'interno delle chiamate di sistema eseguite dalla telecamera.
  • Impatto: L'esecuzione di codice con privilegi elevati (spesso root o admin) consente all'attaccante di assumere il controllo totale del dispositivo.
  • Rilevanza: Questa falla ha interessato numerosi modelli (in particolare delle serie DS-2CD e DS-2DF) con firmware obsoleti. La sua gravità è testimoniata dall'inclusione nel catalogo KEV (Known Exploited Vulnerabilities) della CISA, indicando che è stata attivamente sfruttata in attacchi nel mondo reale.

Shell Interattiva per Pen-Testing
Una delle funzionalità avanzate del toolkit è la possibilità di stabilire una shell interattiva sul dispositivo vulnerabile (sfruttando la RCE). Ciò permette al penetration tester di eseguire comandi in tempo reale, facilitando la post-exploitation e l'analisi dettagliata del sistema operativo embedded della telecamera.


Installazione

Per l’installazione di HikvisionExploiter , una volta installato l’ambiente Python, si procede con la clonazione  del repository e l'installazione delle dipendenze:

git clone https://github.com/HexBuddy/HikvisionExploiter.git

cd HikvisionExploiter

pip3 install -r requirements.txt

Installazione di HikvisionExploiter
FIG 1 - Installazione di HikvisionExploiter


Preparazione dell'Elenco dei Target

La prima fase richiede la creazione di un file semplice (plain text), come targets.txt, contenente l'elenco dei dispositivi da testare. Il formato standardizzato richiesto è IP:PORTA, ad esempio:

192.168.1.10:80

10.10.10.20:81

Questa preparazione garantisce che lo scanner operi solo sui sistemi per i quali è stata ottenuta una previa autorizzazione esplicita al testing.


Esecuzione dello Scanner Principale

L'esecuzione del modulo di controllo (checker.py) avvia la sequenza di test automatizzata:

python3 checker.py

checker.py
FIG 2 - checker.py

Questo processo non si limita a verificare la connettività, ma esegue attivamente i check sopra descritti: verifica l'accesso alle snapshot, tenta il download e la decrittografia della configurazione e, crucialmente, testa la presenza della vulnerabilità RCE (CVE-2021-36260). I risultati completi di ogni test sono meticolosamente archiviati in directory con timestamp (logs/IP_PORT_TIMESTAMP/) per la successiva analisi forense e di reportistica.


Come visibile in FIG 3, checker.py rileva se il dispositivo è vulnerabile e, oltre alle informazioni sul dispositivo (modello, serial number, versione firmware, ecc), viene rilevata anche la password di amministratore in chiaro.

Dispositivo vulnerabile
FIG 3 - Dispositivo vulnerabile

I risultati dei test vengono riportati all'interno della directory logs. All'interno delle directory presenti in logs, troviamo il file di configurazione del dispositivo e uno snapshot che ci mostra cosa sta inquadrando la telecamera.

Logs folder
FIG 4 - Logs folder

Conoscendo la password di amministratore è possibile tentare l'accesso tramite Web al dispositivo.
Interfaccia web
FIG 5 - Interfaccia web


Shell Interattiva e Post-Exploitation 

Nel contesto di una valutazione di sicurezza completa, la possibilità di stabilire un accesso shell interattivo sul dispositivo vulnerabile è inestimabile. Questo non è un fine, ma un mezzo per comprendere l'entità del compromesso.
L'uso di uno script di shell dedicato (shell.sh) consente di inviare comandi in tempo reale:
chmod +x shell.sh && ./shell.sh 192.168.1.10:80

Se il device è vulnerabile, il tester entra in una modalità interattiva, che simula l'ambiente operativo della telecamera (es. Linux kernel 3.0.8). Questo permette di mappare i file system, verificare l'esistenza di malware e stabilire l'impatto massimo che l'esecuzione di codice remoto comporta.

Shell, modalità interattiva
FIG 6 - Shell, modalità interattiva


Tecniche di Identificazione Passiva dei Target

Per i professionisti che devono identificare i propri asset esposti a livello globale (asset discovery), il toolkit fa riferimento a tecniche di discovery basate su motori di ricerca specializzati, come Shodan. L'uso di dork specifici (query avanzate) come: 3.1.3.150324 permette di localizzare pubblicamente le telecamere che espongono la web interface con la versione di firmware nota per essere vulnerabile. Questo è anche il metodo utilizzato dagli attacker per trovare dispositivi vulnerabili.

Shodan
FIG 7 - Shodan

Il toolkit include un template compatibile con lo scanner di vulnerabilità Nuclei (nuclei-template.yaml). Ciò consente ai team di sicurezza di integrare i check specifici per questa vulnerabilità all'interno dei loro workflow automatizzati di scansione periodica:
nuclei -t nuclei-template.yaml -list targets.txt
Questo approccio ibrido (scanner dedicato + scanner generalista) massimizza la copertura dei test rilevando: feed di snapshot aperti, download di configurazione esposti e leak di informazioni utente tramite risposte XML.



Strategie di Mitigazione e Difesa

La comprensione di questi strumenti è fondamentale per implementare una difesa robusta. Le seguenti azioni rappresentano i pilastri per mitigare il rischio di sfruttamento:
  1. Aggiornamento del Firmware: La contromisura più critica è garantire che il firmware delle telecamere sia sempre aggiornato all'ultima versione fornita dal produttore. Tali aggiornamenti contengono le patch di sicurezza per vulnerabilità come la CVE-2021-36260.
  2. Segmentazione di Rete: Le telecamere IP dovrebbero essere isolate in una VLAN dedicata (ad esempio, una rete IoT o di sorveglianza) e separate dalla rete aziendale principale. L'accesso dall'esterno dovrebbe essere limitato tramite ACL (Access Control Lists) o Firewall che permettano solo il traffico strettamente necessario.
  3. Disabilitazione di Servizi Non Necessari: Disabilitare tutti i servizi di rete e gli endpoint che non sono essenziali per il funzionamento della telecamera riduce la superficie di attacco.
  4. Monitoraggio e Hardening: Utilizzare strumenti di monitoraggio del traffico di rete (IDS/IPS) per rilevare pattern di attacco noti e tentativi di sfruttamento. Inoltre, implementare una politica di password robuste e cambiare le credenziali di default.
  5. Utilizzo di Dorking/Scanner di Sicurezza: I tester possono utilizzare strumenti come Shodan o template come quelli di Nuclei (come menzionato nello strumento analizzato) per identificare proattivamente i propri dispositivi esposti con firmware obsoleto, replicando l'approccio degli attacker.




venerdì 4 luglio 2025

Hound: Raccolta Remota di Coordinate GPS e Dati Dispositivo

Nel mondo digitale iperconnesso in cui viviamo, dispositivi come smartphone, tablet e PC sono diventati strumenti indispensabili per quasi tutte le nostre attività. Se da un lato questa costante connettività porta a notevoli vantaggi, dall'altro comporta anche grandi rischi: ogni dispositivo può diventare una porta d'accesso per i cybercriminali che, grazie a tecniche sempre più sofisticate, riescono a localizzare e monitorare gi spostamenti della vittima in tempo reale senza che questa se ne accorga. Oltre alla posizione possono essere raccolti dati come l'indirizzo IP, il browser utilizzato, il sistema operativo e la risoluzione dello schermo. Incrociando tali informazioni con le abitudini online della vittima (siti visitati, contenuti preferiti, orari, ecc) è possibile creare un profilo dettagliato della sua identità digitale.

In questo contesto si inserisce Hound (https://github.com/techchipnet/hound), uno strumento open-source progettato per ottenere in maniera semplice e remota le coordinate GPS esatte di un dispositivo target, insieme a un set informativo completo sul sistema. Questo articolo esplorerà le sue capacità, le implicazioni e le considerazioni etiche legate al suo utilizzo.


Una piattaforma completa di Data Gathering
Hound non si limita alla sola rilevazione delle coordinate GPS utilizzando un server PHP ma è in grado di raccogliere in modo automatico un'ampia gamma di informazioni sul dispositivo remoto, incluse:
  • Coordinate GPS(latitudine e longitudine)
  • Modello del dispositivo
  • Sistema operativo in uso
  • Numero di core della CPU
  • Risoluzione dello schermo
  • User agent del browser
  • Indirizzo IP pubblico
  • Nome del browser
  • Informazioni sull'ISP

Questi dati vengono acquisiti tramite la semplice apertura di un link da parte dell'utente target, rendendo il processo di raccolta estremamente veloce, silenzioso e immediato. L'approccio minimalista ma efficace di Hound permette agli operatori di ottenere preziose informazioni in tempo reale senza bisogno di software complessi o configurazioni avanzate.


Installazione e utilizzo di Hound
Di seguito verranno mostrati i passaggi per l'installazione di Hound su una distribuzione Kali Linux.

Per poter operare, Hound richiede la presenza di alcuni componenti fondamentali sul sistema. Nello specifico, la sua architettura si basa su un web server PHP per la gestione delle interazioni remote, mentre wget e unzip sono necessari per il download e l'estrazione dei file relativi a Cloudflare, un componente spesso utilizzato per la risoluzione DNS e la protezione del traffico web. Per installare tali componenti, eseguire il seguente comando dalla finestra terminale eseguita come root
apt-get -y install php unzip git wget
Installa dipendenze
FIG 1 - Installa dipendenze


Per installare ed avviare Hound eseguire i seguenti comandi da terminale
git clone https://github.com/techchipnet/hound
cd hound
bash hound.sh
git clone
FIG 2 - git clone


All'avvio di Hound viene chiesto se utilizzare il tunnel Cloudflare (l'opzione è impostata di default su YES).  Digitare Y e premere invio. L'utilizzo del tunnel Cloudflare consente una connessione sicura tra il proprio server e la rete Cloudflare evitando di dover aprire porte sul firewall e configurare un ip pubblico.
Hound
FIG 3 - Hound


Dopo aver risposto affermativamente all'utilizzo del tunnel Cloudflare, Hound procederà al download dei file necessari, avviare il server PHP e il servizio di tunneling. Completate queste fasi, verrà mostrato un link (Direct link) che rappresenta l'url da inviare alla potenziale vittima.
Hound, Direct link
FIG 4 - Hound, Direct link


Solitamente l'URL viene camuffata prima di essere inviata. I cybercriminali impiegano una varietà di metodi avanzati per nascondere i link malevoli, facendoli apparire legittimi e quindi più propensi a ingannare gli utenti ignari. Una tecnica prevalente prevede la manipolazione del DNS, dove gli aggressori compromettono la configurazione DNS di un dominio apparentemente autentico. Ciò consente loro di reindirizzare subdolamente gli utenti a un sito web dannoso senza che la vittima se ne accorga.

Per un camuffamento più semplice ma comunque efficace, vengono frequentemente utilizzati servizi di accorciamento URL come Bitly o TinyURL. Sfruttando queste piattaforme ampiamente riconosciute, un URL lungo e sospetto può essere trasformato in un link conciso e apparentemente innocuo come, ad esempio, bit.ly/Test-Intelligenza.

Il link ingannevole viene poi spesso distribuito sotto le spoglie di un servizio benefico, come uno strumento basato sull'intelligenza artificiale progettato per localizzare contatti nelle vicinanze. Questa tattica di ingegneria sociale mira a persuadere la vittima a concedere permessi, come la condivisione della posizione. Fondamentale è che, anche se l'utente rifiuta queste autorizzazioni esplicite, il semplice accesso al link mascherato può esporre dati preziosi all'aggressore. Aprendo il link, la vittima visualizzerà il messaggio indicato in FIG 5.
Messaggio visualizzato
FIG 5 - Messaggio visualizzato


In caso di esecuzione riuscita, l'aggressore ottiene l'accesso a una vasta gamma di informazioni sulla vittima come coordinate GPS, tipo di browser, specifiche del dispositivo, indirizzo IP, risoluzione dello schermo, ecc.
Hound, Information Gathering Report
FIG 6 - Hound, Information Gathering Report


Utilizzi Legittimi e Riflessioni Etiche
Sebbene Hound sia uno strumento potente e accessibile, è fondamentale ricordare che il suo utilizzo deve sempre avvenire nel rispetto della privacy altrui e delle normative vigenti. Come qualsiasi strumento di raccolta dati, è indispensabile ottenere il consenso esplicito degli utenti coinvolti. L'intento di questo articolo è puramente informativo e rivolto a un pubblico professionale consapevole dei rischi e delle responsabilità connesse all'uso di tali strumenti.






venerdì 27 giugno 2025

Cybersecurity: Canary Tokens

La sicurezza informatica è un campo in continua evoluzione, dove la creatività nella difesa è tanto cruciale quanto l'ingegno degli attaccanti. In questo scenario, emergono soluzioni innovative come i Canary Tokens, strumenti intelligenti che, pur nascendo con l'intento di proteggere, possono trasformarsi in una lama a doppio taglio.

I Canary Tokens rappresentano una categoria di strumenti di sicurezza progettati per agire come "esche" o "honeypot" digitali. Il loro scopo primario è rilevare accessi non autorizzati o attività sospette all'interno di un sistema o di una rete. L'idea alla base è semplice ma efficace: posizionare elementi apparentemente innocui, ma "tokenizzati", che una volta attivati da un'interazione (come l'apertura di un file o il click su un link), generano un allarme.


Come Funzionano
Un Canary Token è, in essenza, un piccolo "sensore" integrato in un file o in una risorsa digitale. Questi sensori sono programmati per inviare una notifica (tipicamente un'email) al proprietario non appena vengono attivati. La notifica include dettagli cruciali sull'evento, come la data e l'ora dell'accesso, l'indirizzo IP del dispositivo che ha interagito con il token e, in alcuni casi, informazioni sull'ambiente operativo.

Immaginate di posizionare un file chiamato "elenco-password.docx" su un server o un computer che volete monitorare. Se un attaccante dovesse aprire quel file, ignaro del Canary Token al suo interno, voi ricevereste immediatamente un'email di avviso. Questo permette di identificare tempestivamente una potenziale intrusione e di reagire prima che si verifichino danni significativi.


Versatilità dei Canary Tokens
Uno dei punti di forza dei Canary Tokens risiede nella loro estrema versatilità. Possono essere incorporati in una vasta gamma di elementi digitali, rendendoli adatti a diverse strategie di monitoraggio:
  • Documenti: File di uso comune come documenti Word, PDF o fogli Excel possono essere "tokenizzati" per generare un avviso ogni volta che vengono aperti o modificati.
  • Link e URL: È possibile creare link specifici che, se cliccati, inviano informazioni sull'utente che ha tentato di accedervi, inclusi indirizzo IP e, potenzialmente, la posizione geografica.
  • QR Code: Un QR Code "tokenizzato" può innescare una notifica silenziosa al momento della scansione.
  • Immagini: Un'immagine ospitata su un server può essere associata a un token in modo che ogni visualizzazione o download generi un avviso.
  • App Fittizie: È possibile creare finte applicazioni (con icone e istruzioni di installazione) che, una volta aperte, inviano una notifica email con le informazioni catturate dal token.


Implicazioni negative
Nonostante la loro utilità come strumenti di difesa, i Canary Tokens presentano un lato oscuro significativo. Se sfruttati da malintenzionati, possono trasformarsi in una potente arma per la raccolta di informazioni e la violazione della privacy.

Un cybercriminale potrebbe creare un documento Word "tokenizzato" e inviarlo come allegato in un'email di phishing. Se la vittima, ignara del pericolo, aprisse il file, il token all'interno invierebbe automaticamente informazioni preziose, come l'indirizzo IP e dettagli sull'ambiente operativo, direttamente all'attaccante. Allo stesso modo, un link ingannevole o un QR Code "tokenizzato" potrebbero essere utilizzati per tracciare e segnalare l'accesso di una vittima, rivelando dettagli cruciali per futuri attacchi.

Comprendere come funzionano i Canary Tokens, come si configurano e, soprattutto, quali precauzioni adottare nel loro utilizzo è essenziale per massimizzarne i benefici e mitigarne i rischi. Solo attraverso una conoscenza approfondita e un approccio responsabile è possibile sfruttare appieno il potenziale di queste esche digitali per rafforzare la sicurezza informatica.


Generazione dei Canary Tokens
La creazione di un Canary Token è un'operazione intuitiva, anche per chi non possiede competenze tecniche avanzate. Il processo si articola in pochi passaggi chiari:
  1. Accesso al Generatore Online: Il punto di partenza è il sito web https://canarytokens.org, una piattaforma gratuita che offre un'ampia gamma di opzioni per la "tokenizzazione". La pagina principale presenta diverse categorie di risorse che possono essere trasformate in Canary Tokens, tra cui documenti Microsoft Word ed Excel, file PDF, QR Code, link web e molto altro. Questa varietà consente di adattare i token a scenari di monitoraggio differenti.

    Sito canarytokens.org
    FIG 1 - Sito canarytokens.org

  2. Selezione del Servizio: Una volta sul sito, si procede con la selezione della categoria desiderata dall'elenco dei token disponibili (ad esempio Microsoft Word, Microsoft Excel, MySql, Acrobat Reader PDF, ecc). È possibile affinare la ricerca utilizzando i filtri per categorie come Microsoft, Phishing, Cloud, Database e Other, oppure sfruttare la comoda barra di ricerca per trovare rapidamente il servizio specifico. Questa granularità permette agli utenti di scegliere il tipo di token più adatto alle proprie esigenze di monitoraggio, sia che si tratti di proteggere documenti sensibili o di tracciare l'uso di link sospetti.
  3. Configurazione della Notifica: Il cuore del sistema di allerta risiede nella configurazione delle notifiche. Il generatore richiede due informazioni fondamentali:
    • Indirizzo Email: Qui va inserito l'indirizzo di posta elettronica al quale verranno recapitate le notifiche. È cruciale che questo indirizzo sia sicuro e monitorato, poiché riceverà i dettagli relativi all'attivazione del token.
    • Nota/Descrizione: Un campo facoltativo ma altamente raccomandato. Permette di aggiungere una breve nota o descrizione all'avviso, estremamente utile per distinguere e categorizzare le notifiche, specialmente quando si utilizzano più Canary Tokens contemporaneamente. Questa etichettatura facilita l'analisi rapida degli alert.

      Create Microsoft Word Token
      FIG 2 - Create Microsoft Word Token

  4. Creazione e Download: Una volta inserite le informazioni richieste e cliccato su "Create Canarytoken", il sistema genera il file o il link tokenizzato. Ad esempio, per un documento Word, sarà sufficiente cliccare su "Download your MS Word File" per scaricare il file preparato. Durante il download, viene visualizzata una notifica che conferma la ricezione di un avviso ogni volta che il documento viene aperto e sottolinea che il file può essere rinominato senza comprometterne la funzionalità. Questa flessibilità permette di integrare il token in scenari reali senza alterare l'esperienza dell'utente finale.

    New Token Created
    FIG 3 - New Token Created


Dati Raccolti all'Attivazione del Token
Quando un documento o un link "tokenizzato" viene aperto o attivato, scatta un allarme e un'email di notifica viene immediatamente inviata all'indirizzo specificato durante la configurazione. Questa email contiene una serie di informazioni preziose che possono aiutare a identificare la natura e la provenienza dell'accesso:
  • Indirizzo IP del dispositivo: Fornisce l'identificativo di rete del dispositivo che ha attivato il token, consentendo una prima geolocalizzazione dell'evento.
  • Data e ora di accesso: Indica con precisione il momento in cui il token è stato attivato, utile per correlare l'evento con altre attività registrate.
  • Versione di Office (se applicabile): Nel caso di documenti Word o Excel aperti su un computer con Microsoft Office installato, viene rilevata la versione del software, offrendo un ulteriore dettaglio sull'ambiente dell'attaccante.
  • Informazioni specifiche per QR Code: Per i QR Code, le informazioni possono essere ancora più dettagliate, includendo il sistema operativo (es. iOS), il tipo di dispositivo (es. iPhone) e il browser web (es. Safari) utilizzati per la scansione.
Canarytoken triggered
FIG 4 - Canarytoken triggered


Questi dati, seppur non sempre sufficienti per identificare l'autore di un attacco, sono fondamentali per comprendere le modalità di un'intrusione, valutare l'efficacia delle proprie difese e reagire prontamente. L'utilizzo dei Canary Tokens, quindi, si configura come una strategia proattiva per rilevare e rispondere a potenziali minacce, trasformando la semplicità del loro funzionamento in un potente strumento di intelligence per la sicurezza.


Rilevare Canary Tokens e URL Sospetti in File Microsoft Office, PDF di Acrobat Reader e File Zip
Per ridurre il rischio di attivare involontariamente codice dannoso contenuto all'interno dei file è possibile rilevare potenziali Canary Tokens analizzando il contenuto di documenti Microsoft Office, documenti PDF di Acrobat Reader e file Zip con lo script python Canary Token Scanner (https://github.com/0xNslabs/CanaryTokenScanner).

Lo script identifica intelligentemente i documenti Microsoft Office (.docx, .xlsx, .pptx), i documenti PDF di Acrobat Reader (.pdf) e i file Zip. Questi tipi di file, inclusi i documenti di Office, sono archivi zip che possono essere esaminati programmaticamente. Sia per i file Office che per i file Zip, lo script decomprime il contenuto in una directory temporanea. Successivamente, scansiona questi contenuti alla ricerca di URL utilizzando espressioni regolari, cercando potenziali segni di compromissione.

Installazione di Python
Per poter utilizzare lo script è necessario che Python si installato sul sistema. Se Python non è installato, procedere con i seguenti passaggi:
  • Dal sito ufficiale https://www.python.org/downloads/ individuare la versione stabile più recente di Python e procedere con il download dell'eseguibile.
  • Una volta completato il download, avviare l'installazione eseguendo il file .exe scaricato.
  • Durante il processo di installazione, assicurarsi di selezionare l'opzione "Add Python to PATH". Questo passaggio è importante perché permette al sistema di riconoscere i comandi Python da qualsiasi directory, rendendo l'utilizzo dello script molto più agevole. Avviare l'installazione cliccando su "Install now" e attendere che il processo sia ultimato.
Install Python
FIG 5 - Install Python


Per verificare che Python sia stato installato correttamente e che il PATH sia configurato, aprire il Prompt dei comandi (cercare "cmd" nella barra di ricerca di Windows e premere Invio) e digitare il seguente comando:
python --version
Se l'installazione è andata a buon fine, il prompt visualizzerà la versione di Python installata sul sistema.
Python version
FIG 6 - Python version



Esecuzione dello script CanaryTokenScanner.py
  • Dal sito https://github.com/0xNslabs/CanaryTokenScanner scaricare il file CanaryTokenScanner.py e copiarlo nella stessa cartella in cui si trova il file da analizzare.
  • Aprire il Prompt dei comandi nella directory dove si trovano i file e digitare il seguente comando, sostituendo FILE_SOSPETTO con il nome effettivo del file che si intende analizzare
    python CanaryTokenScanner.py FILE_SOSPETTO
    Ad esempio
    python CanaryTokenScanner.py "cpdtbudoink8jnar0yp04h9el.docx"
CanaryTokenScanner
FIG 7 - CanaryTokenScanner

In FIG 7 il file analizzato viene rilevato sospetto. Lo script fornisce un aiuto nella rilevazione di Canary Token ma non è infallibile: i documenti segnalati potrebbero non essere dannosi e non tutti i documenti malevoli verranno segnalati. Il modo più sicuro per analizzare un file sospetto è aprirlo in un ambiente sandbox isolato, dove il traffico di rete e le interazioni del file possono essere attentamente monitorate (con l'aiuto di appositi strumenti come Wireshark per l'analisi del traffico di rete e con Editor esadecimali per un'analisi a basso livello del contenuto del file). Questo previene che il Canary Token, se presente, possa compromettere il sistema o rivelare informazioni.