Nyligen en familj på sårbarheter relaterade till en Bash BUG, den vanligaste tolkaren på GNU / Linux, MAC OS och vissa Unix, och har kallats ShellShock eller Bashdoor (CVE-2014-6271). Den viktigaste och alarmerande frågan i detta avseende har att göra med det faktum att BUG har funnits i Bash under de senaste 20 åren, så det uppskattas att allvaret i saken är ännu större än Heartbleed.
De Bash BUG eller ShellShock Det är inte i sig en skadlig kod (som datavirus, spionprogram, skadlig kod, etc.) så den kan inte upptäckas och blockeras av antivirus eller liknande system, utan måste korrigeras i själva programvaruimplementationen som "lider" av den.
Det rekommenderas att tillämpa denna handledning i kontrollerade miljöer, för ändamål relaterade till datavetenskaplig forskning och studier, som förklaras här.
Vad är Bash BUG ShellShock?
I grund och botten ligger problemet i möjligheten att Bash måste lagra definitionen av skriptfunktioner i miljövariabler, närmare bestämt i hur dessa funktioner laddas av Bash.
BUG manifesteras när det i en miljövariabel, efter funktionsdefinitionen, läggs till ytterligare kod som Bash kommer att fortsätta att analysera och köra efter att funktionen har laddats.
Med följande kommando laddades en tom funktionsdefinition, godtycklig kod in i variabeln "x" och sedan kallades Bash.
Det som händer är att innan du ringer Bash har miljövariabeln laddats och den injicerade koden har körts som helt enkelt visar strängen "sårbar" på konsolen (det kunde ha varit värre förstås!). Sedan har Bash körts och ekokommandot har kallats som ett exempel. En enklare variant av kommandot för att utföra testet:
$ env x = '() {:;}; eko sårbart 'bashDet sista kommandot visar strängen "sårbar" på skärmen om Bash -versionen har BUG eller om den inte visar något om det är en patched version.
Såsom anges i inledningen bestämmer denna BUG en familj av sårbarheter som en angripare kan använda för att fjärrstyra datorer. Inom dessa varianter finns det lite mer komplexa, andra mycket enkla och några mer eller mindre komplexa. Det finns varianter relaterade till Apache- och CGI -moduler, andra för DHCP -klienten och några lite mer genomarbetade än andra.
Ett av de enklaste fallen kommer att användas för den här guiden, shellShock -attack på GNU / Linux DHCP -klient.
Inblandade systemOffer värd:
GNU / Linux med Bash 4.3
DHCP-klient isc-dhclient-4.2.4
IP 192.168.1.88 (via DHCP)
Angripande värd:
Windows XP
DHCP -server "tftp32" av Ph. Jounin
IP: 192.168.1.100
FÖRSTORA
För bevis på konceptet antar vi ett LAN där både offret och angriparen är anslutna.
Eftersom DHCP -klientprogramvaran körs med administratörsbehörighet kommer angriparen att försöka inkludera skadlig kod i någon DHCP -alternativparameter i DHCP -konfigurationen som tilldelats offret.
Bearbeta
1) Angriparen kör DHCP -serviceprogramvaran {(ftp32 ”av Ph. Jounin) användes för den här guiden}
1.1) Välj det nätverksgränssnitt som ska användas och tryck på knappen "Inställningar"
1.2) Konfigurera alternativen för att bara köra DHCP -tjänsten.
1.3) Gå till fliken "DHCP" och konfigurera enligt följande:
1.4) Observera i fältet "Tilläggsalternativ", alternativ 114 (används i VOIP) har specificerats och definitionen av Bash -funktionen och den skadliga koden har angetts i alternativdetaljfältet:
() {ignoreras;}; eko 'KOD INJEKTERAD'; / bin / cat / etc / passwd1.5) Tryck på "OK", DHCP -tjänsten är klar.
2) I offrets systemterminal, kör följande kommando för att avslöja systemets Syslog för när vi kör DHCP -begäran:
# tail -f / var / log / syslog &3) Antag att eth1 är offrets nätverksgränssnitt, kör DHCP -klienten:
# dhclient eth14) Kommandot gör DHCP -begäran och angriparen till motsvarande tilldelning:
5) I offrets terminal, tack vare svanskommandot som fanns i bakgrunden som visar systemets syslog, kommer körningen av den injicerade koden att visas, i detta fall visas strängen "INJECTED CODE" och sedan innehållet i filen / etc / passwd för offret (kunde ha varit mycket värre …):
Denna sista del är tack vare kommandot "/ bin / cat / etc / passwd”Som är en del av strängen som anges som alternativ 114.
Angriparen hade kunnat utföra andra kommandon och utföra alla åtgärder eftersom han har "root" -behörigheter sedan offrets DHCP -klient kör med dessa privilegier.
ÖvervägandenVanlig programvara har använts för den här guiden, utan variationer på Victim -systemet. Denna sårbarhet finns i andra program som använder Bash för att köra parametrar eller skript på systemet.
Är tvingande tillämpa motsvarande uppdateringar på systemet för att förhindra denna typ av attack.
Det är värt att förtydliga att innehållet som presenteras här är användbart både för att förstå attackens mekanik och för att öka medvetenheten om denna sista punkt. Tänk på att denna dom har funnits i minst 20 år, så den kan ha tillämpats långt innan den släpptes.
Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng