ShellShock Attack, jednoduché

Nedávno rodina chyby zabezpečení související s Bash BUG, nejběžnější interpret na GNU / Linux, MAC OS a některých Unixech, a byl nazýván Spekelný šok nebo Bashdoor (CVE-2014-6271). Nejdůležitější a alarmující otázka v tomto ohledu souvisí se skutečností, že uvedená BUG je v Bash přítomna posledních 20 let, takže se odhaduje, že závažnost této záležitosti je ještě větší než Heartbleed.

The Bash CHYBA nebo ShellShock Sám o sobě není škodlivý kód (například počítačové viry, spyware, malware atd.), Takže jej nelze detekovat a blokovat antivirovým nebo podobným systémem, ale je třeba jej opravit v samotné implementaci softwaru, která na něj „trpí“.

Doporučujeme použít tento výukový program v kontrolovaných prostředích pro účely související s výzkumem a studiem počítačové vědy, jak je vysvětleno zde.

Co je to Bash BUG ShellShock?


Problém v zásadě spočívá v možnosti, že Bash musí uložit definici skriptovacích funkcí do proměnných prostředí, přesněji v tom, jak tyto funkce načte Bash.

CHYBA se projevuje, když je v proměnné prostředí po definici funkce přidán další kód, který Bash bude po načtení funkce nadále analyzovat a spouštět.

Pomocí následujícího příkazu byla do proměnné „x“ načtena definice prázdné funkce, libovolný kód a poté byl vyvolán Bash.

Co se stane, je, že před voláním Bash byla načtena proměnná prostředí a byl spuštěn vložený kód, který jednoduše ukazuje řetězec "zranitelný" na konzole (samozřejmě to mohlo být horší!). Poté byl spuštěn Bash a jako příklad byl vyvolán příkaz echo. Jednodušší varianta příkazu k provedení testu:

 $ env x = '() {:;}; echo zranitelné 'bash 
Tento poslední příkaz zobrazí na obrazovce řetězec „zranitelný“, pokud verze Bash obsahuje CHYBU, nebo nezobrazí nic, pokud se jedná o opravenou verzi.

Jak je naznačeno v úvodu, tato CHYBA určuje skupinu zranitelností, které by útočník mohl použít ke vzdálenému ovládání počítačů. V rámci těchto variant existují některé trochu složitější, jiné velmi jednoduché a některé více či méně složité. Existují varianty související s moduly Apache a CGI, jiné pro klienta DHCP a některé o něco propracovanější než jiné.

Pro tuto příručku bude použit jeden z nejjednodušších případů, útok shellShock na klienta DHCP GNU / Linux.

Zapojené systémyHostitel oběti:
GNU / Linux s Bash 4.3
Klient DHCP je isc-dhclient-4.2.4
IP 192.168.1.88 (přes DHCP)

Útočící hostitel:
Windows Xp
Server DHCP "tftp32" od Ph. Jounina
IP: 192.168.1.100

ZVĚTŠIT

Pro důkaz koncepce předpokládáme LAN, ve které jsou připojeny oběť i útočník.
Protože je klientský software DHCP spuštěn s oprávněními pro správu, pokusí se útočník zahrnout škodlivý kód do některého parametru možnosti DHCP do konfigurace DHCP přiřazené oběti.

Proces

1) Útočník spouští servisní software DHCP {(ftp32 ”od Ph. Jounina) byl použit pro tuto příručku}

1.1) Vyberte síťové rozhraní, které chcete použít, a stiskněte tlačítko „Nastavení“

1.2) Konfigurujte možnosti tak, aby byly spuštěny pouze služby DHCP.

1.3) Přejděte na kartu „DHCP“ a proveďte následující konfiguraci:

1.4) Poznámka v poli „Addiotional Option“ byla zadána možnost 114 (používá se ve VOIP) a do pole podrobností možnosti byla zadána definice funkce Bash a škodlivý kód:

 () {ignorováno;}; echo 'CODE INJECTED'; / bin / cat / etc / passwd 
1.5) Stiskněte „OK“, služba DHCP je připravena.

2) V systémovém terminálu oběti spusťte následující příkaz, abyste odhalili Syslog systému, když provádíme požadavek DHCP:

 # tail -f / var / log / syslog & 
3) Za předpokladu, že eth1 je síťové rozhraní oběti, spusťte klienta DHCP:
 # dhclient eth1 
4) Příkaz udělá požadavku DHCP a útočníkovi odpovídající přiřazení:

5) V terminálu oběti se díky příkazu tail, který byl na pozadí zobrazujícím systémový protokol, zobrazí provedení vloženého kódu, v tomto případě se zobrazí řetězec „INJECTED CODE“ a poté obsah souboru / etc / passwd oběti (mohlo to být mnohem horší …):

Tato poslední část je díky příkazu "/ bin / cat / etc / passwd"Která je součástí řetězce uvedeného jako volba 114."

Útočník mohl provést další příkazy a provést jakoukoli akci, protože má oprávnění „root“, protože klient DHCP oběti běží s těmito oprávněními.

ÚvahyPro tuto příručku byl použit běžný software, bez změn systému Victim. Tato chyba zabezpečení je přítomna v jiných aplikacích, které používají Bash ke spouštění parametrů nebo skriptů v systému.

Je nutné aplikujte na systém odpovídající aktualizace, abyste tomuto typu útoku zabránili.

Stojí za to objasnit, že zde uvedený obsah je užitečný jak pro pochopení mechaniky útoku, tak pro zvýšení povědomí o tomto posledním bodě. Mějte na paměti, že toto rozhodnutí existuje nejméně 20 let, takže mohlo být použito dlouho před jeho vydáním.

Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod
wave wave wave wave wave