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é 'bashTento 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 / passwd1.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 eth14) 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