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

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.





venerdì 26 gennaio 2018

Kali Linux: Scovare l'indirizzo IP del server protetto da Cloudflare

Milioni di siti web, al fine di proteggersi da attacchi DDos (Distributed Denial of Service) e aumentare la velocità di accesso, utilizzano il servizio Cloudflare.
Cloudflare agisce in maniera analoga ad un CDN (Content Delivery Network) ma molto più semplice da configurare. Il sistema si interpone tra il server che ospita il sito web e il visitatore filtrando gli utenti indesiderati (con conseguente risparmio di banda e risorse) e aumentando la sicurezza.
Per utilizzare Cloudflare è necessario registrarsi sul sito www.cloudflare.com, selezionare il servizio desiderato (quello per siti/blog personali è gratuito) quindi impostare i nameserver di Cloudflare come authoritative nameservers per il proprio dominio (generalmente questa operazione va effettuata dal pannello di gestione del dominio messo a disposizione dal proprio registrar).

Cloudflare dispone di numerosi data center sparsi per il mondo. Attraverso una tecnologia proprietaria denominata Anycast e attraverso i propri nameserver, Cloudflare dirotta tutte le richieste di accesso al sito al data center più vicino al visitatore. Il data center verifica l'attendibilità del visitatore analizzandone diverse caratteristiche tra cui l'indirizzo IP, la risorsa richiesta, il numero di richieste, la loro frequenza, ecc. Solo nel caso in cui il visitatore venga ritenuto affidabile, Cloudflare provvede a prelevare i dati contenuti nella cache aggiornata e, dopo aver applicato alcune ottimizzazioni, li restituisce al visitatore in maniera del tutto trasparente. 
Cloudflare
FIG 1 - Cloudflare
I visitatori non verranno mai in "contatto" con l'indirizzo IP del server che ospita il sito web.

Purtroppo, causa imperizia di alcuni amministratori che non limitano l'accesso ai propri server solo agli indirizzi IP di Cloudflare, molti siti web rimangono vulnerabili ed esposti ad attacchi. In questi casi, infatti, l'indirizzo pubblico del server "origine" rimane esposto e può essere individuato con l'utilizzo di alcuni tool come la piattaforma CensysCloudFlair.

Di seguito verrà mostrato come individuare l'indirizzo IP pubblico di un server "origine" vulnerabile protetto da Cloudflare utilizzando Kali Linux.

ATTENZIONE:
Danneggiare o violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo 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.


  • Posizionarsi sul sito https://censys.io e, se non si dispone già di un'account, crearne uno cliccando su Signup e seguendo le istruzioni a video. Al termine eseguire il logon con il proprio account.
    Sito web Censys.io
    FIG 2 - Sito web Censys.io
  • Posizionarsi sulla pagina https://censys.io/account/api e prendere nota di API ID e Secret;

    Censys, API ID e Secret
    FIG 3 - Censys, API ID e Secret
  • Aprire una finestra terminale di Kali Linux e digitare i seguenti comandi
    export CENSYS_API_ID=<API_ID_Assegnato>
    export CENSYS_API_SECRET=<API_Secret_Assegnato> 

    sostituendo 
    <API_ID_Assegnato><API_Secret_Assegnato> con i valori API ID e Secret ottenuti nel passo precedente;
    Kali Linux, impostare variabili d'ambiente CENSYS_API_ID e CENSYS_API_SECRET
    FIG 4 - Kali Linux, impostare variabili d'ambiente CENSYS_API_ID e CENSYS_API_SECRET
  • Clonare il repository digitando, nella finestra terminale, il seguente comando
    git clone https://github.com/christophetd/cloudflair.git
  • Kali Linux, clonazione repository cloudflair
    FIG 5 - Kali Linux, clonazione repository cloudflair

  • Installare le dipendenze del pacchetto eseguendo i comandi 

    cd cloudflair
    pip install -r requirements.txt
  • Kali Linux, installazione dipendenze di CloudFlair
    FIG 6 - Kali Linux, installazione dipendenze di CloudFlair

  • Per individuare l'indirizzo IP del server "origine" eseguire il comando
    python cloudflair.py myvulnerable.site
    sostituendo myvulnerable.site con l'indirizzo del sito web che si intende verificare. L'output sarà simile a quello mostrato in FIG 7 e sono evidenziati gli indirizzi IP dei server "origine".
    Output CloudFlair
    FIG 7 - Output CloudFlair