Vault 7/ BothanSpy e Gyrfalcon, quando SSH diventa vettore di attacco

Wikileaks pubblica la documentazione di due strumenti usati dalla CIA per reperire password e chiavi private dai client SSH su Windows e Linux

Roma – Di recente sono stati pubblicati su WikiLeaks nuovi documenti trapelati nell’ambito dell’operazione Vault 7 relativi a due strumenti usati dalla CIA per attaccare i client SSH sul sistema operativo di casa Microsoft e sulle distribuzioni Linux.

Nel primo caso, lo strumento utilizzato dai servizi segreti americani prende il nome di BothanSpy ed ha come target uno specifico client SSH commerciale per Windows, chiamato Xshell e commercializzato da NetSarang , limitatamente nelle versioni comprese tra il rilascio 3 build 0288 e 5 build 0537 (l’ultima versione rilasciata è la 5 build 1199). Poiché Xshell viene fornito esclusivamente in versione x86, anche BothanSpy è compilato a 32-bit. Affinché esso sia utilizzabile su sistemi a 64-bit è necessario provvedere all’injection su WOW64; la CIA, a tal fine, utilizza lo strumento ShellTerm , non ancora recensito su Wikileaks.

Il manuale, datato Marzo 2015, è di poche pagine e fornisce istruzioni sulle modalità d’uso del software.
BothanSpy, in grado di catturare le credenziali relative alle sessioni attive in Xshell, consiste di due file: BothanSpy.dll e BothanSpy.py (wrapper per ShellTerm).
Esso può funzionare in due modalità: se usato in Fire and Collect Mode , le credenziali recuperate non vengono mai salvate su disco. Ciò consente di eseguire lo strumento senza avere i privilegi di scrittura, a discapito della persistenza; le credenziali vengono mandate direttamente all’attaccante in maniera cifrata.
BothanSpy esegue quindi una scansione dei processi alla ricerca di eventuali istanze di Xshell; dopodiché inietta la propria DLL per estrarre le eventuali password o chiavi private (con relative passphrases).
Se la modalità usata è invece la Fire and Forget mode , le credenziali vengono scritte su disco e criptate in AES in una directory personalizzabile dall’utente; la chiave di cifratura è derivata dalla password “secretpassphrase” mediante una funzione hash.

Per quanto riguarda Linux, il tool usato della CIA si chiama Gyrfalcon e la documentazione pubblicata è relativa a due diverse versioni, datate rispettivamente gennaio e novembre 2013. Questa volta il software target è il comune OpenSSH, noto a chiunque amministri sistemi Unix e/o Unix-like.

Come nel caso di Outlaw Country , un altro progetto Vault7 pubblicato la scorsa settimana per l’esfiltrazione delle comunicazioni tramite regole iptables nascoste, l’installazione di Gyrfalcon richiede che la macchina spiata sia già stata compromessa e che l’operatore possa agire con permessi di root.

In maniera simile a BothanSpy, l’esecuzione di Gyrfalcon 1.0 avviene tramite ispezione del processo di OpenSSH mediante ptrace . Per tale ragione, la presenza di SELinux potrebbe interferire con il funzionamento del rootkit nel caso in cui la variabile deny_ptrace sia settata a 1 (il comando per leggere il valore attuale è getsebool deny_ptrace , il comando per abilitarla è setsebool deny_ptrace 1 . Il valore di default è 0). Le uniche dipendenze sul target sono costituite dalla presenza delle librerie libc.so.6 , libpthread.so.0 e libz.so.1 . Il kernel del target deve essere successivo alla versione 2.6.14 e le librerie glibc devono essere almeno alla versione 2.5.

Oltre ad essere in grado di ottenere le credenziali della connessione, Gyrfalcon può anche effettuare il dump dell’intera sessione SSH. L’eseguibile viene generato tramite un tool di configurazione ( eyre ), che restituisce un archivio contenente Gyrfalcon stesso e il relativo file di configurazione, nel quale sono specificate le informazioni sui target di cui collezionare i dati e la modalità con cui questi vengono raccolti. Nell’esecuzione di tale tool è possibile specificare alcuni parametri globali (directory di lavoro, file da usare per la raccolta delle evidenze, la grandezza massima raggiungibile da tale file, l’architettura del target (x86, x86_64) e il nome del file di configurazione da leggere.
Tale archivio sarà poi caricato sul server vittima dall’operatore (tramite altri meccanismi indipendenti dal tool stesso), estratto, dopodiché l’eseguibile sarà lanciato come root in modalità foreground o background (raccomandata). Nel secondo caso, il demone può essere pilotato inviando segnali con il comando kill. Il segnale SIGHUP scatenerà la rilettura del file di configurazione, SIGTERM ne terminerà l’esecuzione, e SIGUSR1 forzerà il dump dei dati collezionati sul file di output.
Una volta avviato, Gyrfalcon inizierà a collezionare i dati; nella parte finale del documento, vengono date le indicazioni su come interpretare e gestire il file di output con Python.

La versione 2.0 di Gyrfalcon consiste di due script Python entrambi eseguiti sulla postazione locale dell’operatore; le dipendenze da installare su tale host sono Python 2.6 o superiori, il generatore di interfacce SWIG e la libreria M2Crypto .
Per quanto riguarda il target, alle dipendenze specificate sopra, vanno ad aggiungersi libcrypt.so.1 (per l’hashing md5) e libcrypto.so.5 (OpenSSL compilato con supporto ad AES-256-CBC e RSA-2048).
Il funzionamento è analogo alla versione 1.0, tuttavia, differentemente da questa, Gyrfalcon 2.0 non effettua ispezioni tramite ptrace, ma va a sostituirsi alla libreria libgssapi_krb5.so che viene utilizzata in OpenSSH per l’integrazione con Kerberos. Inoltre sono stati forniti dei wrapper specifici per l’interpretazione dei flussi collezionati.

Una soluzione sicuramente valida per evitare rootkit di questo tipo, può consistere nella compilazione statica di OpenSSH (e altri strumenti critici) sui propri sistemi e l’utilizzo di meccanismi di auditing .
Si puntualizza, infine, che tali strumenti non sfruttano di per sé alcuna vulnerabilità sui sistemi Linux , e si ricorda che il prerequisito fondamentale per il loro utilizzo è che il sistema sia già stato precedentemente compromesso .

Patrizio Tufarolo

La tua email sarà utilizzata per comunicarti se qualcuno risponde al tuo commento e non sarà pubblicato. Dichiari di avere preso visione e di accettare quanto previsto dalla informativa privacy

  • Mao99 scrive:
    info
    E' dal 2007 che aspetto che alzino in maniera nativa la grandezza max della chiave fermo al 4096/4096, spero che questa sia l'occasione buona.(si, lo so che se modifico il file setup del sorgente e lo ricompilo lo posso sempre fare, ma la chiave non sarà supportata dalle versioni normali degli altri)Immagino che se c'è una falla la si potrà sfruttare comunque, ma più sarà lunga la chiave e più ci vorrà comunque, credo..
    • Mao a puntini ... i solii 3 ... scrive:
      Re: info
      - Scritto da: Mao99
      E' dal 2007 che aspetto che alzino in maniera
      nativa la grandezza max della chiave fermo al
      4096/4096, spero che questa sia l'occasione
      buona.
      (si, lo so che se modifico il file setup del
      sorgente e lo ricompilo lo posso sempre fare, ma
      la chiave non sarà supportata dalle versioni
      normali degli
      altri)
      Immagino che se c'è una falla la si potrà
      sfruttare comunque, ma più sarà lunga la chiave e
      più ci vorrà comunque,
      credo..ma che XXXXX dici?io dovrei preoccuparmi di "essere compatibile" con un XXXXXXXXXX che usa una rsa 1024!!!non hai capito una ceppa non voglio proprio essere compatibile con un tale demente perchè non dubbio che la riservatezza sia compromessa lo è per definizione ... con uno così non ho messaggi riservati da scambiare!
    • puntini ... i soliti 3 ... scrive:
      Re: info
      - Scritto da: Mao99
      E' dal 2007 che aspetto che alzino in maniera
      nativa la grandezza max della chiave fermo al
      4096/4096, spero che questa sia l'occasione
      buona.
      (si, lo so che se modifico il file setup del
      sorgente e lo ricompilo lo posso sempre fare, ma
      la chiave non sarà supportata dalle versioni
      normali degli
      altri)
      Immagino che se c'è una falla la si potrà
      sfruttare comunque, ma più sarà lunga la chiave e
      più ci vorrà comunque,
      credo..idiota col botto!chi ti ha detto che devi usare 1024?"Why does GnuPG support RSA-4096 if its such a bad idea?RSA-4096 is not a bad idea: its just, generally speaking, unnecessary. You gain very little in the way of additional resistance to brute-forcing and cryptanalysis"https://www.gnupg.org/faq/gnupg-faq.html#default_rsa2048
      • Mao99 scrive:
        Re: info

        idiota col botto!
        chi ti ha detto che devi usare 1024?


        "Why does GnuPG support RSA-4096 if its such a
        bad
        idea?
        RSA-4096 is not a bad idea: its just, generally
        speaking, unnecessary. You gain very little in
        the way of additional resistance to brute-forcing
        and
        cryptanalysis"

        https://www.gnupg.org/faq/gnupg-faq.html#default_rE' vero che il saggio rilegge e nel dubbio tace..Scusa ma nessuno sta dicendo che devi usare la 1024, che la voglio usare o altro..visto che non hai capito mi spiego meglio, io ho semplicemente detto che se ora sfondano la 1024 (o possono sfondarla) è ora di alzare il limite max per tutte le versioni da 4.096 (fermo da 10 anni perchè gli USA non lo permettono) al programma normale (senza modifica personale e ricompilazione) a 8.192 o 16.384..
  • prova123 scrive:
    Quindi ?
    i dati sono sempre "trafugati" su computer in chiaro ...
  • ... scrive:
    RH i professionisti seri secondo max
    Red Hat Enterprise Linux 7 libgcrypt Will not fix Red Hat Enterprise Linux 6 libgcrypt Will not fix Red Hat Enterprise Linux 5 libgcrypt Will not fix RHEV-M for Servers mingw-virt-viewer Will not fix Le distro serie hanno aggiornato il 29 di giugno.
    • ... scrive:
      Re: RH i professionisti seri secondo max
      - Scritto da: ...
      Red Hat Enterprise Linux 7 libgcrypt Will
      not
      fix
      Red Hat Enterprise Linux 6 libgcrypt Will
      not
      fix
      Red Hat Enterprise Linux 5 libgcrypt Will
      not
      fix
      RHEV-M for Servers mingw-virt-viewer Will
      not
      fix

      Le distro serie hanno aggiornato il 29 di giugno.red hat e' una azienda statunitense e come tale e' soggetta al Patrict Act. per legge devono tenere aperte delle backdoor per lo Zio Sam.
      • Macchina frulla puntini scrive:
        Re: RH i professionisti seri secondo max
        - Scritto da: ...
        - Scritto da: ...

        Red Hat Enterprise Linux 7 libgcrypt Will

        not

        fix

        Red Hat Enterprise Linux 6 libgcrypt Will

        not

        fix

        Red Hat Enterprise Linux 5 libgcrypt Will

        not

        fix

        RHEV-M for Servers mingw-virt-viewer Will

        not

        fix



        Le distro serie hanno aggiornato il 29 di
        giugno.

        red hat e' una azienda statunitense e come tale
        e' soggetta al Patrict Act. per legge devono
        tenere aperte delle backdoor per lo Zio
        Sam.Ma che XXXXXtti dici dementè? Prova a citare in quale parte del patriota act c'è scritta sta panZanardi!
      • puntini ... i soliti 3 ... scrive:
        Re: RH i professionisti seri secondo max
        - Scritto da: ...
        red hat e' una azienda statunitense e come tale
        e' soggetta al Patrict Act. per legge devono
        tenere aperte delle backdoor per lo Zio
        Sam.1) nel patrioct act non c'è nessun testo reativo all'obbligo di back door (googla invece di sparare XXXXXXXte)2) Red hat non c'entra una fava non è un suo "prodotto" ma bensì è GNU.3) XXXXXXXXX col botto!
Chiudi i commenti