"WannaCry" su sistemi Linux: come ti proteggi?


73

Secondo un articolo rapid7 ci sono alcune versioni vulnerabili di Samba che consentono l'esecuzione di codice in modalità remota su sistemi Linux:

Mentre il ransomworm di WannaCry ha avuto un impatto sui sistemi Windows ed era facilmente identificabile, con chiari passaggi di riparazione, la vulnerabilità di Samba avrà un impatto sui sistemi Linux e Unix e potrebbe presentare significativi ostacoli tecnici per ottenere o implementare le opportune riparazioni.

CVE-2017-7494

Tutte le versioni di Samba dalla 3.5.0 in poi sono vulnerabili a una vulnerabilità legata all'esecuzione di codice in modalità remota, che consente a un client dannoso di caricare una libreria condivisa su una condivisione scrivibile e quindi di caricarla ed eseguirla.

Possibile scenario di attacco:

A partire da due fattori:

  • La vulnerabilità di Samba non è stata ancora risolta su alcune distribuzioni Linux.
  • Esiste una vulnerabilità di escalation di privilegi locali senza patch su alcune versioni del kernel Linux (ad esempio CVE-2017-7308 sul kernel Ubuntu generico 4.8.0-41).

Un utente malintenzionato può accedere a una macchina Linux ed elevare i privilegi utilizzando una vulnerabilità di exploit locale per ottenere l'accesso root e installare un possibile ramsomware futuro, simile a questo mock up ransomware WannaCry per Linux .

Aggiornare

Un nuovo articolo "Avvertenza! Gli hacker hanno iniziato a usare" SambaCry Flaw "per hackerare i sistemi Linux" dimostrano come utilizzare il difetto Sambacry per infettare una macchina Linux.

La previsione si è rivelata abbastanza accurata, poiché gli honeypot creati dal team di ricercatori di Kaspersky Lab hanno catturato una campagna malware che sta sfruttando la vulnerabilità di SambaCry per infettare i computer Linux con software di mining di criptovaluta.

Un altro ricercatore di sicurezza, Omri Ben Bassat, ha scoperto indipendentemente la stessa campagna e l'ha chiamata "EternalMiner" .

Secondo i ricercatori, un gruppo sconosciuto di hacker ha iniziato a dirottare i PC Linux solo una settimana dopo che il difetto di Samba è stato reso pubblico e ha installato una versione aggiornata di "CPUminer", un software di mining di criptovaluta che estrae valuta digitale "Monero".

Dopo aver compromesso le macchine vulnerabili utilizzando la vulnerabilità di SambaCry, gli aggressori eseguono due payload sui sistemi di destinazione:

INAebsGB.so - Una shell inversa che fornisce accesso remoto agli aggressori.

cblRWuoCc.so - Una backdoor che include utility di mining di criptovaluta - CPUminer.

Rapporto TrendLab pubblicato il 18 luglio 2017: gli utenti Linux hanno chiesto di aggiornarsi mentre una nuova minaccia sfrutta SambaCry

Come posso proteggere un sistema Linux per evitare di essere attaccato?


22
WannaCry è un malware di Windows. Un virus unix potrebbe essere scritto sfruttando questo problema non correlato con questa implementazione non correlata dello stesso protocollo, ma questo non ha nulla a che fare con il malware di Windows. Questo link che dai a WannaCry per Linux è una bufala, dall'esaminare la fonte sembra l'output di un software grafico "fai la tua gui", senza alcun programma reale ma una GUI che non fa nulla.
Nessuno

2
@ GAD3R usando il mio iPhone con Google Translate / modalità fotocamera, i commenti in cinese dicono che la fonte non è completa. Consiglierei di rielaborare la domanda attorno al CVE, di eliminare il link github e non di ransomware che ancora non esiste; o se vuoi ancora aggirare quell'idea, rendere esplicito il collegamento github è solo un modello di quell'idea
Rui F Ribeiro,

8
@ GAD3R Sì, se qualcuno può accedere al mio sistema da remoto con privilegi elevati, è molto meno complicato utilizzare solo utility Linux native per crittografare il mio disco rigido e scrivere una GUI QT come quella nella bufala. Tutte le funzionalità effettive (ovvero la diffusione) di WannaCry dipendono dagli exploit di Windows. Menzionare "WannaCry" è un innesco, puro e semplice.
Nessuno

6
@Nobody Per essere abbastanza onesto, credo che l'OP sia in buona fede e non consapevole che sia solo una GUI; non siamo nativi cinesi per leggere i commenti e, come dice lui stesso, non è molto esperto nella lettura del codice sorgente; IMO sono anche appropriati i parallelismi tra le due vulnerabilità, fornendo i tempi. Dagli un po 'di calma. Tuttavia, le implicazioni del CVE stesso sono preoccupanti.
Rui F Ribeiro,

3
IMO Non consiglierei di chiudere la domanda, se qualcuno ha un'idea diversa, vai avanti. Ho rielaborato il testo della domanda per non menzionare un ransomware che non è stato ancora creato. La soluzione alternativa che menziono era almeno utile in un sistema legacy che abbiamo ancora.
Rui F Ribeiro,

Risposte:


102

Questa nuova vulnerabilità di Samba è già stata chiamata "Sambacry", mentre l'exploit stesso menziona "Eternal Red Samba", annunciato su Twitter (sensazionalmente) come:

Samba bug, il metasploit one-liner da attivare è solo: simple.create_pipe ("/ path / to / target.so")

Le versioni Samba potenzialmente interessate vanno da Samba 3.5.0 a 4.5.4 / 4.5.10 / 4.4.14.

Se l'installazione di Samba soddisfa le configurazioni descritte di seguito, la correzione / aggiornamento dovrebbe essere eseguita APPENA POSSIBILE in quanto vi sono già exploit , altri exploit nei moduli python e metasploit .

Cosa ancora più interessante, ci sono già componenti aggiuntivi per un honeypot noto del progetto honeynet , dionaea sia per i plug-in WannaCry che SambaCry .

Il pianto di Samba sembra già essere (ab) utilizzato per installare più cripto-minatori "EternalMiner" o raddoppiare in futuro come dropper di malware .

i honeypot creati dal team di ricercatori di Kaspersky Lab hanno catturato una campagna malware che sfrutta la vulnerabilità di SambaCry per infettare i computer Linux con software di mining di criptovaluta. Un altro ricercatore di sicurezza, Omri Ben Bassat, ha scoperto indipendentemente la stessa campagna e l'ha chiamata "EternalMiner".

La soluzione alternativa consigliata per i sistemi con Samba installato (che è presente anche nell'avviso CVE) prima di aggiornarlo, si aggiunge a smb.conf:

nt pipe support = no

(e riavvio del servizio Samba)

Ciò dovrebbe disabilitare un'impostazione che attiva / disattiva la possibilità di effettuare connessioni anonime al servizio di pipe denominato IPC di Windows. Da man samba:

Questa opzione globale viene utilizzata dagli sviluppatori per consentire o impedire ai client Windows NT / 2000 / XP la possibilità di effettuare connessioni a pipe IPC $ SMB specifiche di NT. Come utente, non dovresti mai avere bisogno di ignorare l'impostazione predefinita.

Tuttavia, dalla nostra esperienza interna, sembra che la correzione non sia compatibile con le versioni precedenti? Versioni di Windows (almeno alcuni? I client Windows 7 sembrano non funzionare con nt pipe support = no), e come tale il percorso di riparazione può andare in casi estremi nell'installazione o persino nella compilazione di Samba.

Più in particolare, questa correzione disabilita l'elenco delle condivisioni dai client Windows e, se applicato, deve specificare manualmente il percorso completo della condivisione per poterlo utilizzare.

Un'altra soluzione nota è assicurarsi che le condivisioni Samba siano montate con l' noexecopzione. Ciò impedirà l'esecuzione di file binari residenti nel filesystem montato.

La patch ufficiale del codice sorgente di sicurezza è qui dalla pagina di sicurezza di samba.org .

Debian ha già inviato ieri (24/5) un aggiornamento fuori dalla porta e il corrispondente avviso di sicurezza DSA-3860-1 samba

Per verificare se la vulnerabilità è stata corretta in Centos / RHEL / Fedora e derivati, procedere come segue:

#rpm -q –changelog samba | grep -i CVE
– resolves: #1450782 – Fix CVE-2017-7494
– resolves: #1405356 – CVE-2016-2125 CVE-2016-2126
– related: #1322687 – Update CVE patchset

Esiste ora uno nmapscript di rilevamento: samba-vuln-cve-2017-7494.nse per rilevare le versioni di Samba o uno nmapscript molto migliore che controlla se il servizio è vulnerabile su http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve -2017-7494.nse , copiarlo /usr/share/nmap/scriptse quindi aggiornare il nmapdatabase o eseguirlo come segue:

nmap --script /path/to/samba-vuln-cve-2017-7494.nse -p 445 <target>

Informazioni sulle misure a lungo termine per proteggere il servizio SAMBA: il protocollo SMB non dovrebbe mai essere offerto direttamente a Internet in generale.

Va da sé che la SMB è sempre stata un protocollo contorto e che questo tipo di servizi dovrebbe essere protetto da firewall e limitato alle reti interne [a cui vengono servite].

Quando è necessario l'accesso remoto, a casa o in particolare alle reti aziendali, tali accessi dovrebbero essere eseguiti meglio utilizzando la tecnologia VPN.

Come al solito, in queste situazioni il principio Unix di installare e attivare solo i servizi minimi richiesti paga.

Tratto dall'exploit stesso:

Eternal Red Samba Exploit - CVE-2017-7494.
Fa sì che il server Samba vulnerabile carichi una libreria condivisa nel contesto principale.
Le credenziali non sono richieste se il server ha un account ospite.
Per l'exploit remoto è necessario disporre delle autorizzazioni di scrittura per almeno una condivisione.
Eternal Red eseguirà la scansione del server Samba alla ricerca di condivisioni su cui può scrivere. Determinerà anche il percorso completo della condivisione remota.

    For local exploit provide the full path to your shared library to load.  

    Your shared library should look something like this

    extern bool change_to_root_user(void);
    int samba_init_module(void)
    {
        change_to_root_user();
        /* Do what thou wilt */
    }

È anche noto che i sistemi con SELinux abilitato non sono vulnerabili all'exploit.

Vedere Samba Flaw di 7 anni consente agli hacker di accedere a migliaia di PC Linux da remoto

Secondo il motore di ricerca di computer Shodan, oltre 485.000 computer abilitati Samba hanno esposto la porta 445 su Internet e, secondo i ricercatori di Rapid7, oltre 104.000 endpoint esposti a Internet sembravano avere versioni vulnerabili di Samba, di cui 92.000 sono con versioni non supportate di Samba.

Poiché Samba è il protocollo SMB implementato su sistemi Linux e UNIX, alcuni esperti affermano che si tratta della "versione Linux di EternalBlue" utilizzata dal ransomware WannaCry.

... o dovrei dire SambaCry?

Tenendo presente il numero di sistemi vulnerabili e la facilità di sfruttamento di questa vulnerabilità, il difetto di Samba potrebbe essere sfruttato su larga scala con funzionalità wormable.

Anche le reti domestiche con dispositivi NAS (Network-Attached Storage) [che eseguono anche Linux] potrebbero essere vulnerabili a questo difetto.

Vedi anche Un bug eseguibile di codice eseguibile in agguato in Samba da 7 anni. Patch ora!

Il difetto di sette anni, indicizzato come CVE-2017-7494, può essere sfruttato in modo affidabile con una sola riga di codice per eseguire codice dannoso, purché siano soddisfatte alcune condizioni. Tali requisiti includono computer vulnerabili che:

(a) rendere raggiungibile la porta 445 di condivisione file e stampanti su Internet,
(b) configurare i file condivisi in modo da disporre dei privilegi di scrittura e
(c) utilizzare percorsi server noti o indovinabili per tali file.

Quando tali condizioni sono soddisfatte, gli aggressori remoti possono caricare qualsiasi codice di loro scelta e causare l'esecuzione da parte del server, possibilmente con privilegi di root senza restrizioni, a seconda della piattaforma vulnerabile.

Data la facilità e l'affidabilità degli exploit, vale la pena tappare al più presto. Probabilmente è solo questione di tempo prima che gli attaccanti inizino a prenderlo di mira attivamente.

Anche Rapid 7 - Patching CVE-2017-7494 in Samba: It's the Circle of Life

E altro ancora SambaCry: The Linux Sequel to WannaCry .

Fatti da conoscere

CVE-2017-7494 ha un punteggio CVSS di 7.5 (CVSS: 3.0 / AV: N / AC: H / PR: L / UI: N / S: U / C: H / I: H / A: H) 3.

Ambito di minaccia

Una query shodan.io di "port: 445! Os: windows" mostra circa un milione di host non Windows con tcp / 445 aperto su Internet, più della metà dei quali esiste negli Emirati Arabi Uniti (36%) e il Stati Uniti (16%). Sebbene molti di questi possano eseguire versioni con patch, avere protezioni SELinux o non corrispondere ai criteri necessari per eseguire l'exploit, la superficie di attacco possibile per questa vulnerabilità è ampia.

PS La correzione del commit nel progetto SAMBA github sembra essere commit 02a76d86db0cbe79fcaf1a500630e24d961fa149


2
Prego. Aggiungo che nel mio fuso orario, ieri ho agito sull'avviso di sicurezza di Debian intorno alle 9:00
Rui F Ribeiro,

6
A differenza di Windows, però, Samba non è attivo di default nella maggior parte delle distribuzioni Linux, giusto?
Raffaello,

1
@raphael In effetti, ma se avessi ricevuto un centesimo per ogni server che ho trovato con il set completo di DVD core installati ... Ho modificato leggermente la risposta per rispondere a quell'idea.
Rui F Ribeiro,

9
Per quanto ne so, lo script nmap controlla solo la versione di samba, non se sei vulnerabile. AFAICT, per sfruttare la vulnerabilità, è necessario essere in grado di caricare file sul server. Quindi la vulnerabilità non è così grave come quella di Eternalblue Windows. Se consenti il ​​caricamento di file su Internet senza autenticazione, hai un problema se la samba è vulnerabile o meno.
Stéphane Chazelas,

1
@ StéphaneChazelas grazie, non ho ancora avuto il tempo di controllare la sceneggiatura
Rui F Ribeiro,

21

Molti di noi che eseguono server Samba là fuori lo stanno probabilmente eseguendo all'interno di LAN, dietro firewall e non esponendo le sue porte direttamente al mondo esterno.

Sarebbe una pratica terribile se lo facessi, e imperdonabile quando ci sono soluzioni VPN semplici, efficaci e gratuite (come nella birra e nel parlato) come OpenVPN in giro. SMB non è stato progettato pensando a Internet aperto (diamine, TCP / IP è arrivato anche come ripensamento in quel protocollo) e dovrebbe essere trattato come tale. Ulteriori suggerimento è in esecuzione regole del firewall sull'host condivisione di file effettivo che whitelist indirizzi di rete solo locali (ed eventualmente VPN) su tutte le porte SMB ( 139/TCP, 445/TCP, 137/UDPe 138/UDP).

Inoltre, se il tuo caso d'uso lo consente, dovresti considerare l'esecuzione di Samba senza privilegi (come, per esempio, l' sambautente che non è alias di root). Capisco che non è così facile sposare le limitazioni di ACL NT con ACL POSIX con questa configurazione, ma se è possibile farlo nella propria configurazione particolare è la strada da percorrere.

Infine, anche con un tale "blocco" è comunque consigliabile applicare una patch, se possibile (perché ci sono scatole NAS là fuori dove ciò potrebbe non essere fattibile) e testare se il tuo caso d'uso specifico funziona con nt pipe supportset su no.


4
"È accessibile solo sull'Intranet" è probabilmente ciò che alcuni amministratori hanno pensato nelle aziende in cui WannaCry diffondeva.
Carsten S,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.