Nesen ģimene ievainojamības, kas saistītas ar Bash BUG, visizplatītākais tulks GNU / Linux, MAC OS un dažos Unix, un to sauc par ShellShock vai Bashdoor (CVE-2014-6271). Vissvarīgākais un satraucošākais jautājums šajā sakarā ir saistīts ar faktu, ka minētais BUG ir bijis Bašā pēdējos 20 gadus, tāpēc tiek lēsts, ka lietas nopietnība ir pat lielāka nekā Heartbleed.
Bash BUG vai ShellShock Tas pats par sevi nav ļaunprātīgs kods (piemēram, datorvīrusi, spiegprogrammatūra, ļaunprātīga programmatūra utt.), Tāpēc to nevar atklāt un bloķēt antivīruss vai tamlīdzīgas sistēmas, bet tas ir jālabo pašā programmatūras ieviešanā, kas to "cieš".
Šo pamācību ieteicams izmantot kontrolētā vidē ar datorzinātņu pētniecību un studijām saistītiem mērķiem, kā paskaidrots šeit.
Kas ir Bash BUG ShellShock?
Būtībā problēma ir saistīta ar iespēju, ka Bash ir jāglabā skriptu funkciju definīcija vides mainīgajos, precīzāk tajā, kā Bash ielādē šīs funkcijas.
BUG izpaužas, kad vides mainīgajā pēc funkcijas definīcijas tiek pievienots papildu kods, kuru Bash turpinās parsēt un izpildīt pēc funkcijas ielādes.
Ar šādu komandu mainīgajā "x" tika ielādēta tukša funkcijas definīcija, patvaļīgs kods, un pēc tam tika izsaukts Bash.
Notiek tas, ka pirms Bash izsaukšanas ir ielādēts vides mainīgais un izpildīts ievadītais kods, kas konsolē vienkārši parāda virkni "neaizsargāts" (protams, varēja būt sliktāk!). Tad Bash ir izpildīts, un kā piemērs ir izsaukta komanda echo. Vienkāršāks komandas variants testa veikšanai:
$ env x = '() {:;}; atbalss neaizsargāts 'bashŠī pēdējā komanda ekrānā parādīs virkni "neaizsargāta", ja Bash versijai ir BUG vai tā neko nerādīs, ja tā ir ielāpēta versija.
Kā norādīts ievadā, šī kļūda nosaka ievainojamību kopu, ko uzbrucējs varētu izmantot, lai attālināti kontrolētu datorus. Šajos variantos daži ir nedaudz sarežģītāki, citi ļoti vienkārši un daži vairāk vai mazāk sarežģīti. Ir varianti, kas saistīti ar Apache un CGI moduļiem, citi DHCP klientam, un daži ir nedaudz sarežģītāki nekā citi.
Šajā rokasgrāmatā tiks izmantots viens no vienkāršākajiem gadījumiem, shellShock uzbrukums GNU / Linux DHCP klientam.
Iesaistītās sistēmasUpura saimnieks:
GNU / Linux ar Bash 4.3
DHCP klients isc-dhclient-4.2.4
IP 192.168.1.88 (izmantojot DHCP)
Uzbrukuma saimnieks:
Windows Xp
DHCP serveris "tftp32", autors Ph. Jounin
IP: 192.168.1.100
PALIELINĀT
Koncepcijas pierādīšanai mēs pieņemam LAN, kurā ir savienots gan upuris, gan uzbrucējs.
Tā kā DHCP klienta programmatūra tiek izpildīta ar administrēšanas atļaujām, uzbrucējs upurim piešķirtajā DHCP konfigurācijā mēģinās iekļaut ļaunprātīgu kodu kādā DHCP opcijas parametrā.
Process
1) Uzbrucējs vada DHCP pakalpojuma programmatūru {(ftp32 ”Ph. Jounin) tika izmantota šai rokasgrāmatai}
1.1) Izvēlieties izmantojamo tīkla saskarni un nospiediet pogu "Iestatījumi"
1.2) Konfigurējiet opcijas, lai palaistu tikai DHCP pakalpojumu.
1.3) Dodieties uz cilni "DHCP" un konfigurējiet šādi:
1.4) Piezīme laukā "Papildu opcija" ir norādīta 114. opcija (izmantota VOIP), un funkcijas Bash definīcija un ļaunprātīgais kods ir ievadīti opcijas informācijas laukā:
() {ignorēts;}; echo 'KODS INJEKTĒTS'; / bin / cat / etc / passwd1.5) Nospiediet "OK", DHCP pakalpojums ir gatavs.
2) Upura sistēmas terminālī izpildiet šādu komandu, lai parādītu sistēmas Syslog, kad mēs izpildām DHCP pieprasījumu:
# tail -f / var / log / syslog &3) Pieņemot, ka eth1 ir upura tīkla saskarne, palaidiet DHCP klientu:
# dhclient eth14) Komanda padarīs DHCP pieprasījumu un uzbrucēju par atbilstošu uzdevumu:
5) Upura terminālī, pateicoties astes komandai, kas atradās fonā, parādot sistēmas sistēmas žurnālu, tiks parādīts ievadītā koda izpilde, šajā gadījumā tiks parādīta virkne "INJECTED CODE" un pēc tam faila saturs / etc / upwd (var būt daudz sliktāk …):
Šī pēdējā daļa ir pateicoties komandai "/ bin / cat / etc / passwd”Kas ir daļa no virknes, kas norādīta kā 114. opcija.
Uzbrucējs varēja izpildīt citas komandas un veikt jebkādas darbības, jo viņam ir “root” atļaujas, jo upura DHCP klients darbojas ar šīm privilēģijām.
ApsvērumiŠajā rokasgrāmatā ir izmantota parasta programmatūra bez izmaiņām upura sistēmā. Šī ievainojamība ir citās lietojumprogrammās, kas izmanto Bash, lai sistēmā izpildītu parametrus vai skriptus.
Ir obligāti lietot atbilstošos sistēmas atjauninājumus, lai novērstu šāda veida uzbrukumus.
Ir vērts precizēt, ka šeit sniegtais saturs ir noderīgs, lai izprastu uzbrukuma mehāniku, kā arī lai palielinātu izpratni par šo pēdējo punktu. Paturiet prātā, ka šis spriedums ir spēkā vismaz 20 gadus, tāpēc tas, iespējams, tika piemērots ilgi pirms tā publicēšanas.
Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu