„ShellShock“ ataka, paprasta

Neseniai šeima pažeidžiamumas, susijęs su „Bash BUG“, labiausiai paplitęs GNU / Linux, MAC OS ir kai kurių Unix vertėjas, vadinamas ShellShock arba „Bashdoor“ (CVE-2014-6271). Svarbiausia ir nerimą kelianti problema šiuo klausimu yra susijusi su tuo, kad minėtas BUG „Bash“ buvo pastaruosius 20 metų, todėl manoma, kad šio klausimo rimtumas yra dar didesnis nei „Heartbleed“.

The Bash BUG arba „ShellShock“ Tai nėra kenkėjiškas kodas (pvz., Kompiuterių virusai, šnipinėjimo programos, kenkėjiškos programos ir kt.), Todėl jo negali aptikti ir užblokuoti antivirusinės ar panašios sistemos, tačiau jis turi būti ištaisytas pačioje programinės įrangos diegime, kuri „kenčia“.

Šią mokymo programą rekomenduojama taikyti kontroliuojamoje aplinkoje, siekiant tikslų, susijusių su kompiuterių mokslo tyrimais ir studijomis, kaip paaiškinta čia.

Kas yra „Bash BUG ShellShock“?


Iš esmės problema yra ta, kad „Bash“ turi saugoti scenarijų funkcijų apibrėžimą aplinkos kintamuosiuose, tiksliau, kaip šias funkcijas įkelia „Bash“.

KLAIDA pasireiškia, kai aplinkos kintamajame, po funkcijos apibrėžimo, pridedamas papildomas kodas, kurį „Bash“ ir toliau analizuos bei vykdys įkėlęs funkciją.

Naudojant šią komandą, į kintamąjį „x“ buvo įkelta tuščia funkcijos apibrėžtis, savavališkas kodas, ir tada buvo iškviestas Bash.

Kas atsitinka, prieš skambinant „Bash“, buvo įkeliamas aplinkos kintamasis ir įvykdytas įvestas kodas, kuris tiesiog parodo eilutę „pažeidžiamas“ konsolėje (žinoma, galėjo būti ir blogiau!). Tada „Bash“ buvo įvykdytas ir komanda „echo“ buvo pavadinta kaip pavyzdys. Paprastesnis komandos variantas atlikti testą:

 $ env x = '() {:;}; aidas pažeidžiamas 'bash 
Ši paskutinė komanda ekrane parodys eilutę „pažeidžiama“, jei „Bash“ versija turi BUG arba ji nieko nerodys, jei tai pataisyta versija.

Kaip nurodyta įvade, ši BUG nustato pažeidžiamumų šeimą, kurią užpuolikas galėtų naudoti nuotoliniu būdu valdydamas kompiuterius. Šiuose variantuose kai kurie yra šiek tiek sudėtingesni, kiti - labai paprasti, o kai kurie - daugiau ar mažiau sudėtingi. Yra variantų, susijusių su „Apache“ ir CGI moduliais, kiti skirti DHCP klientui, o kai kurie - šiek tiek įmantresni nei kiti.

Šiame vadove bus naudojamas vienas iš paprasčiausių atvejų, „shellShock“ ataka prieš GNU / Linux DHCP klientą.

Dalyvaujančios sistemosAukos šeimininkas:
GNU / Linux su Bash 4.3
DHCP klientas isc-dhclient-4.2.4
IP 192.168.1.88 (per DHCP)

Atakuojantis šeimininkas:
Windows XP
DHCP serveris "tftp32", Ph. Jounin
IP: 192.168.1.100

DIDELIS

Koncepcijos įrodymui mes manome, kad LAN, kuriame yra prijungtas auka ir užpuolikas.
Kadangi DHCP kliento programinė įranga vykdoma turint administravimo leidimus, užpuolikas bandys įtraukti kenksmingą kodą į kai kuriuos DHCP parinkties parametrus prie aukai priskirtos DHCP konfigūracijos.

Procesas

1) Užpuolikas naudoja DHCP paslaugų programinę įrangą {šiam vadovui buvo naudojama {(ftp32 ”Ph. Jounin)}

1.1) Pasirinkite naudojamą tinklo sąsają ir paspauskite mygtuką „Nustatymai“

1.2) Konfigūruokite parinktis, kad būtų paleista tik DHCP paslauga.

1.3) Eikite į skirtuką „DHCP“ ir sukonfigūruokite taip:

1.4) Pastaba laukelyje „Papildoma parinktis“ buvo nurodyta 114 parinktis (naudojama VOIP), o funkcijos „Bash“ apibrėžimas ir kenkėjiškas kodas buvo įvesti parinkties išsamios informacijos lauke:

 () {ignoruojamas;}; echo 'KODAS ĮSKIRTAS'; / bin / cat / etc / passwd 
1.5) Paspauskite „Gerai“, DHCP paslauga paruošta.

2) Aukos sistemos terminale vykdykite šią komandą, kad atskleistumėte sistemos „Syslog“, kai vykdome DHCP užklausą:

 # tail -f / var / log / syslog & 
3) Darant prielaidą, kad eth1 yra aukos tinklo sąsaja, paleiskite DHCP klientą:
 # dhclient eth1 
4) Komanda pateiks DHCP užklausą, o užpuolikas - atitinkamą priskyrimą:

5) Aukos terminale, dėka uodegos komandos, kuri buvo fone, rodančiame sistemos sistemos žurnalą, bus rodomas įvesto kodo vykdymas, tokiu atveju bus rodoma eilutė „INJECTED CODE“ ir tada failo turinys / etc / passwd aukos (galėjo būti daug blogiau …):

Ši paskutinė dalis yra dėka komandos "/ bin / cat / etc / passwd“Tai yra eilutės, nurodytos kaip 114 parinktis, dalis.

Užpuolikas galėjo vykdyti kitas komandas ir atlikti bet kokius veiksmus, nes turi „root“ teises, nes Aukos DHCP klientas veikia su šiomis privilegijomis.

SvarstymaiŠiame vadove buvo naudojama įprasta programinė įranga be nukentėjusiųjų sistemos pakeitimų. Šis pažeidžiamumas yra kitose programose, kurios naudoja „Bash“ sistemos parametrams ar scenarijams vykdyti.

Būtina pritaikykite atitinkamus sistemos naujinius, kad išvengtumėte tokio tipo atakų.

Verta patikslinti, kad čia pateiktas turinys yra naudingas tiek norint suprasti atakos mechanizmą, tiek didinant informuotumą apie šį paskutinį dalyką. Turėkite omenyje, kad ši nutartis galioja mažiausiai 20 metų, todėl ji galėjo būti taikoma gerokai prieš paskelbiant.

Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką
wave wave wave wave wave