Questa nuova vulnerabilità di Samba è già stata chiamata "Sambacry", mentre l'exploit stesso menziona "Eternal Red Samba", annunciato su Twitter (sensazionalmente) come:
Bug di Samba, il metasploit one-liner da attivare è solo:simple.create_pipe("/path/to/target.so")
Le versioni di Samba potenzialmente interessate vanno da Samba 3.5.0 a 4.5.4/4.5.10/4.4.14.
Se la tua installazione di Samba soddisfa le configurazioni descritte di seguito, la correzione/l'aggiornamento dovrebbe essere eseguito al più presto poiché esistono già exploit, altri exploit nei moduli python e metasploit là fuori.
Più interessante, ci sono già componenti aggiuntivi per un noto honeypot dal progetto honeynet, dionaea sia per i plug-in WannaCry che SambaCry.
Samba cry sembra essere già (ab)usato per installare più crypto-miner "EternalMiner" o raddoppiare come dropper di malware in futuro.
Gli honeypot creati dal team di ricercatori di Kaspersky Lab hanno catturato una campagna di malware che sfrutta la vulnerabilità di SambaCry per infettare i computer Linux con software di mining di criptovalute. Un altro ricercatore di sicurezza, Omri Ben Bassat, ha scoperto in modo indipendente la stessa campagna e l'ha battezzata "EternalMiner".
La soluzione alternativa consigliata per i sistemi con Samba installato (presente anche nell'avviso CVE) prima di aggiornarlo, è l'aggiunta a smb.conf
:
nt pipe support = no
(e riavviare il servizio Samba)
Questo dovrebbe disabilitare un'impostazione che attiva/disattiva la possibilità di effettuare connessioni anonime al servizio named pipe di Windows IPC. Da man samba
:
Questa opzione globale viene utilizzata dagli sviluppatori per consentire o impedire ai client Windows NT/2000/XP di effettuare connessioni a pipe SMBIPC$ specifiche di NT. Come utente, non dovresti mai sovrascrivere l'impostazione predefinita.
Tuttavia, dalla nostra esperienza interna, sembra che la correzione non sia compatibile con le versioni precedenti? Le versioni di Windows (almeno alcuni? I client Windows 7 sembrano non funzionare con nt pipe support = no
), e come tale il percorso di correzione può portare in casi estremi all'installazione o addirittura alla compilazione di Samba.
Più specificamente, questa correzione disabilita l'elenco delle condivisioni dai client Windows e, se applicata, devono specificare manualmente il percorso completo della condivisione per poterla utilizzare.
Un'altra soluzione nota è assicurarsi che le condivisioni Samba siano montate con noexec
opzione. Ciò impedirà l'esecuzione di binari che risiedono sul filesystem montato.
La patch del codice sorgente di sicurezza ufficiale è qui dalla pagina di sicurezza di samba.org.
Debian ha già rilasciato ieri (24/5) un aggiornamento e il corrispondente avviso di sicurezza DSA-3860-1 samba
Per verificare se la vulnerabilità è stata corretta in Centos/RHEL/Fedora e derivati, eseguire:
#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
Ora c'è un nmap
script di rilevamento :samba-vuln-cve-2017-7494.nse
per rilevare le versioni di Samba, o un nmap
molto migliore script che controlla se il servizio è vulnerabile su http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve-2017-7494.nse , copialo in /usr/share/nmap/scripts
e poi aggiorna nmap
database , oppure eseguilo 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 anche da sé che SMB è sempre stato un protocollo contorto e che questo tipo di servizi dovrebbe essere protetto da firewall e limitato alle reti interne [a cui vengono serviti].
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 root.
Le credenziali non sono richieste se il server dispone di un account guest.
Per l'exploit remoto devi avere i permessi di scrittura su almeno una condivisione.
Eternal Red eseguirà la scansione del server Samba per le condivisioni su cui può scrivere. Determina inoltre 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.
Scopri un difetto di Samba di 7 anni che consente agli hacker di accedere da remoto a migliaia di PC Linux
Secondo il motore di ricerca per computer Shodan, più di 485.000 computer abilitati per Samba hanno esposto la porta 445 su Internet e, secondo i ricercatori di Rapid7, più di 104.000 endpoint esposti a Internet sembravano eseguire versioni vulnerabili di Samba, di cui 92.000 eseguono versioni non supportate. di Samba.
Poiché Samba è il protocollo SMB implementato su sistemi Linux e UNIX, alcuni esperti dicono che è la "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 capacità 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 di esecuzione di codice wormable è 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, a condizione che vengano soddisfatte alcune condizioni. Tali requisiti includono computer vulnerabili che:
(a) rendere la porta 445 per la condivisione di file e stampanti raggiungibile su Internet,
(b) configurare i file condivisi per avere privilegi di scrittura, e
(c) utilizzare percorsi server noti o indovinabili per tali file.Quando queste condizioni sono soddisfatte, gli aggressori remoti possono caricare qualsiasi codice di loro scelta e far sì che il server lo esegua, possibilmente con privilegi di root illimitati, a seconda della piattaforma vulnerabile.
Data la facilità e l'affidabilità degli exploit, vale la pena tappare questo buco il prima possibile. Probabilmente è solo una questione di tempo prima che gli aggressori inizino a bersagliarlo attivamente.
Anche Rapid 7 - Patch CVE-2017-7494 in Samba:è il cerchio della vita
E ancora SambaCry:il seguito di Linux di 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 della minaccia
Una query shodan.io di "port:445 !os:windows" mostra circa un milione di host non Windows che hanno tcp/445 aperto a Internet, più della metà dei quali esiste negli Emirati Arabi Uniti (36%) e negli Stati Uniti . (16%). Sebbene molti di questi possano eseguire versioni con patch, avere protezioni SELinux o comunque non corrispondere ai criteri necessari per eseguire l'exploit, la possibile superficie di attacco per questa vulnerabilità è ampia.
P.S. La correzione del commit nel progetto SAMBA github sembra essere commit 02a76d86db0cbe79fcaf1a500630e24d961fa149
La maggior parte di noi che esegue server Samba probabilmente lo esegue all'interno di LAN, dietro firewall e non espone 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 come nella parola) come OpenVPN in giro. SMB non è stato progettato pensando a Internet aperto (diamine, TCP/IP è arrivato anche come un ripensamento in quel protocollo) e dovrebbe essere trattato come tale. Un ulteriore suggerimento è l'esecuzione di regole firewall sull'effettivo host di condivisione file che autorizza solo gli indirizzi di rete locali (ed eventualmente VPN) su tutte le porte SMB (139/TCP
, 445/TCP
, 137/UDP
e 138/UDP
).
Inoltre, se il tuo caso d'uso lo consente, dovresti prendere in considerazione l'esecuzione di Samba senza privilegi (come, ad esempio, samba
utente che non è l'alias di root
). Capisco che non sia così facile sposare le limitazioni degli ACL NT con gli ACL POSIX con questa configurazione, ma se è possibile farlo nella tua particolare configurazione è la strada da percorrere.
Infine, anche con un tale "blocco" è comunque consigliabile applicare una patch se possibile (perché ci sono box NAS là fuori dove ciò potrebbe non essere fattibile) e verificare se il tuo particolare caso d'uso funziona con nt pipe support
impostato su no
.