ShellShock Attack, enkelt

Nylig en familie på sårbarheter knyttet til en Bash BUG, den vanligste tolken på GNU / Linux, MAC OS og noen Unix, og har blitt kalt ShellShock eller Bashdoor (CVE-2014-6271). Det viktigste og alarmerende problemet i denne forbindelse har å gjøre med det faktum at BUG har vært til stede i Bash de siste 20 årene, så det anslås at alvoret i saken er enda større enn Heartbleed.

De Bash BUG eller Granatsjokk Det er ikke i seg selv en ondsinnet kode (som datavirus, spionprogrammer, skadelig programvare, etc.), så den kan ikke oppdages og blokkeres av antivirus eller lignende systemer, men må korrigeres i selve programvareimplementeringen som "lider" av den.

Det anbefales å bruke denne opplæringen i kontrollerte miljøer, for formål knyttet til datavitenskapelig forskning og studier, som forklart her.

Hva er Bash BUG ShellShock?


I utgangspunktet ligger problemet i muligheten for at Bash må lagre definisjonen av skriptfunksjoner i miljøvariabler, mer presist i hvordan disse funksjonene lastes inn av Bash.

BUG'en manifesterer seg i en miljøvariabel, etter funksjonsdefinisjonen, blir det lagt til ytterligere kode som Bash vil fortsette å analysere og utføre etter at funksjonen er lastet inn.

Med følgende kommando ble en tom funksjonsdefinisjon, vilkårlig kode, lastet inn i variabelen "x" og deretter ble Bash kalt.

Det som skjer er at før du ringer Bash, har miljøvariabelen blitt lastet inn og den injiserte koden er blitt utført som ganske enkelt viser strengen "sårbar" på konsollen (det kunne selvfølgelig vært verre!). Deretter er Bash blitt utført og ekkokommandoen har blitt kalt som et eksempel. En enklere variant av kommandoen for å utføre testen:

 $ env x = '() {:;}; ekko sårbar 'bash 
Denne siste kommandoen vil vise strengen "sårbar" på skjermen hvis Bash -versjonen har BUG eller den ikke vil vise noe hvis det er en lappet versjon.

Som angitt i innledningen, bestemmer denne BUG en familie av sårbarheter som en angriper kan bruke til å fjernstyre datamaskiner. Innen disse variantene er det noen litt mer komplekse, andre veldig enkle og noen mer eller mindre komplekse. Det er varianter relatert til Apache- og CGI -moduler, andre for DHCP -klienten, og noen litt mer utførlige enn andre.

En av de enkleste sakene vil bli brukt for denne guiden, shellShock -angrep på GNU / Linux DHCP -klient.

Systemer involvertOffervert:
GNU / Linux med Bash 4.3
DHCP-klient isc-dhclient-4.2.4
IP 192.168.1.88 (via DHCP)

Angripende vert:
Windows XP
DHCP Server "tftp32" av Ph. Jounin
IP: 192.168.1.100

FORSTØRRE

For bevis på konseptet antar vi et LAN der både offeret og angriperen er koblet til.
Siden DHCP -klientprogramvaren kjøres med administrasjonstillatelser, vil angriperen prøve å inkludere skadelig kode i en eller annen DHCP -alternativparameter i DHCP -konfigurasjonen som er tildelt offeret.

Prosess

1) Angriperen kjører DHCP -tjenesteprogramvaren {(ftp32 ”av Ph. Jounin) ble brukt til denne veiledningen}

1.1) Velg nettverksgrensesnittet du vil bruke, og trykk på "Innstillinger" -knappen

1.2) Konfigurer alternativene til bare å kjøre DHCP -tjenesten.

1.3) Gå til "DHCP" -fanen og konfigurer som følger:

1.4) Merk i "Addiotional Option" -feltet, alternativ 114 (brukt i VOIP) er spesifisert og definisjonen av Bash -funksjonen og den ondsinnede koden er angitt i alternativdetaljfeltet:

 () {ignorert;}; ekko 'KODE INJEKTERT'; / bin / cat / etc / passwd 
1.5) Trykk "OK", DHCP -tjenesten er klar.

2) I offerets systemterminal utfører du følgende kommando for å avsløre systemets Syslog for når vi utfører DHCP -forespørselen:

 # tail -f / var / log / syslog & 
3) Forutsatt at eth1 er offerets nettverksgrensesnitt, kjør DHCP -klienten:
 # dhclient eth1 
4) Kommandoen vil gjøre DHCP -forespørselen og angriperen den tilsvarende oppgaven:

5) I offerets terminal, takket være hale -kommandoen som var i bakgrunnen som viser systemsloggen, vil utførelsen av den injiserte koden vises, i dette tilfellet vil strengen "INJECTED CODE" vises og deretter innholdet i filen / etc / passwd til offeret (kunne vært mye verre …):

Denne siste delen er takket være kommandoen "/ bin / cat / etc / passwd”Som er en del av strengen som er angitt som alternativ 114.

Angriperen kunne ha utført andre kommandoer og utført enhver handling siden han har "root" -tillatelser siden offerets DHCP -klient kjører med disse privilegiene.

BetraktningerVanlig programvare har blitt brukt for denne veiledningen, uten variasjoner på Victim -systemet. Dette sikkerhetsproblemet er tilstede i andre applikasjoner som bruker Bash til å utføre parametere eller skript på systemet.

Er avgjørende bruke de tilsvarende oppdateringene på systemet for å forhindre denne typen angrep.

Det er verdt å presisere at innholdet som presenteres her er nyttig både for å forstå angrepets mekanikk og for å øke bevisstheten om dette siste punktet. Husk at denne kjennelsen har eksistert i minst 20 år, så den kan ha blitt brukt lenge før den ble utgitt.

Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave