Recent o familie de vulnerabilități legate de un Bash BUG, cel mai comun interpret pe GNU / Linux, MAC OS și unele Unix și a fost numit ShellShock sau Bashdoor (CVE-2014-6271). Cea mai importantă și alarmantă problemă în acest sens are legătură cu faptul că BUG a fost prezent în Bash în ultimii 20 de ani, deci se estimează că gravitatea problemei este chiar mai mare decât Heartbleed.
Bash BUG sau ShellShock Nu este el însuși un cod rău intenționat (cum ar fi viruși de computer, spyware, malware etc.), deci nu poate fi detectat și blocat de antivirus sau de sisteme similare, ci trebuie corectat chiar în implementarea software-ului care îl „suferă”.
Se recomandă aplicarea acestui tutorial în medii controlate, în scopuri legate de cercetarea și studiul informaticii, așa cum se explică aici.
Ce este Bash BUG ShellShock?
Practic, problema constă în posibilitatea ca Bash să stocheze definiția funcțiilor de scriptare în variabilele de mediu, mai exact în modul în care aceste funcții sunt încărcate de Bash.
BUG-ul se manifestă atunci când într-o variabilă de mediu, după definirea funcției, se adaugă un cod suplimentar pe care Bash îl va continua să analizeze și să execute după încărcarea funcției.
Cu următoarea comandă, o definiție de funcție goală, cod arbitrar, a fost încărcată în variabila „x” și apoi a fost apelat Bash.
Ce se întâmplă este că înainte de a apela Bash, variabila de mediu a fost încărcată și a fost executat codul injectat care arată pur și simplu șirul „vulnerabil” pe consolă (ar fi putut fi mai rău, desigur!). Apoi Bash a fost executat și comanda echo a fost chemată ca exemplu. O variantă mai simplă a comenzii pentru efectuarea testului:
$ env x = '() {:;}; ecou vulnerabil 'bashAceastă ultimă comandă va afișa șirul „vulnerabil” pe ecran dacă versiunea Bash are BUG sau nu va afișa nimic dacă este o versiune patch.
După cum se indică în introducere, acest BUG determină o familie de vulnerabilități care ar putea fi folosite de un atacator pentru a controla computerele de la distanță. În cadrul acestor variante, există unele puțin mai complexe, altele foarte simple și altele mai mult sau mai puțin complexe. Există variante legate de modulele Apache și CGI, altele pentru clientul DHCP și unele mai elaborate decât altele.
Unul dintre cele mai simple cazuri va fi utilizat pentru acest ghid, atac shellShock asupra clientului DHCP GNU / Linux.
Sisteme implicateGazda victimei:
GNU / Linux cu Bash 4.3
Clientul DHCP isc-dhclient-4.2.4
IP 192.168.1.88 (prin DHCP)
Gazda atacatoare:
Windows XP
Server DHCP „tftp32” de Ph. Jounin
IP: 192.168.1.100
MARI
Pentru dovada conceptului, presupunem o rețea LAN în care sunt conectate atât victima, cât și atacatorul.
Deoarece software-ul client DHCP este executat cu permisiuni de administrare, atacatorul va încerca să includă codul rău intenționat în unii parametri ai opțiunii DHCP în configurația DHCP atribuită victimei.
Proces
1) Atacatorul rulează software-ul de servicii DHCP {(ftp32 ”de Ph. Jounin) a fost folosit pentru acest ghid}
1.1) Selectați interfața de rețea de utilizat și apăsați butonul „Setări”
1.2) Configurați opțiunile pentru a rula numai serviciul DHCP.
1.3) Mergeți la fila „DHCP” și configurați după cum urmează:
1.4) Notă în câmpul „Opțiune suplimentară”, opțiunea 114 (utilizată în VOIP) a fost specificată, iar definiția funcției Bash și codul rău intenționat au fost introduse în câmpul detaliu al opțiunii:
() {ignorat;}; ecou „COD INJECTAT”; / bin / cat / etc / passwd1.5) Apăsați „OK”, serviciul DHCP este gata.
2) În terminalul de sistem al victimei, executați următoarea comandă pentru a expune Syslog-ul sistemului atunci când executăm cererea DHCP:
# tail -f / var / log / syslog &3) Presupunând că eth1 este interfața de rețea a victimei, rulați clientul DHCP:
# dhclient eth14) Comanda va face cererea DHCP și atacatorului sarcina corespunzătoare:
5) În terminalul victimei, datorită comenzii tail care era în fundal afișând syslog-ul sistemului, va fi afișată execuția codului injectat, în acest caz, va fi afișat șirul „COD INJECTAT” și apoi conținutul fișierului / etc / passwd al victimei (ar fi putut fi mult mai rău …):
Această ultimă parte se datorează comenzii „/ bin / cat / etc / passwd”Care face parte din șirul specificat ca opțiunea 114.
Atacatorul ar fi putut să execute alte comenzi și să efectueze orice acțiune, deoarece are permisiuni „root”, deoarece clientul DHCP al victimei rulează cu aceste privilegii.
ConsiderațiiPentru acest ghid a fost utilizat software comun, fără variații ale sistemului Victim. Această vulnerabilitate este prezentă în alte aplicații care folosesc Bash pentru a executa parametri sau scripturi pe sistem.
Este imperativ aplicați actualizările corespunzătoare sistemului pentru a preveni acest tip de atac.
Merită clarificat faptul că conținutul prezentat aici este util atât pentru a înțelege mecanica atacului, cât și pentru a crește gradul de conștientizare cu privire la acest ultim punct. Rețineți că această hotărâre există de cel puțin 20 de ani, deci este posibil să fi fost aplicată cu mult înainte de a fi lansată.
V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv