Webový shell - Web shell
Web skořápka je shell-jako rozhraní , které umožňuje webový server , které mají být vzdáleně přistupovat, často za účelem kybernetickými útoky . Webový shell je jedinečný v tom, že se s ním používá webový prohlížeč .
Webový shell lze naprogramovat v libovolném programovacím jazyce, který je podporován na serveru. Webové skořápky jsou nejčastěji psány v programovacím jazyce PHP kvůli rozsáhlému používání PHP pro webové aplikace . Nicméně, ASP , ASP.NET , Python , Perl , Ruby , a Unix shell skripty jsou také používány, ačkoli tyto jazyky jsou méně běžně používaný.
Pomocí nástrojů pro monitorování sítě může útočník najít chyby zabezpečení, které mohou potenciálně umožnit doručení webového prostředí. Tyto chyby zabezpečení se často vyskytují v aplikacích spuštěných na webovém serveru.
Útočník může pomocí webového prostředí vydávat příkazy prostředí, provádět eskalaci oprávnění na webovém serveru a schopnost nahrávat , mazat , stahovat a spouštět soubory na webový server a z něj.
Obecné použití
Webové skořápky se používají při útocích hlavně proto, že jsou víceúčelové a obtížně detekovatelné.
Webové skořápky se běžně používají pro:
- Krádež dat
- Infekce návštěvníků webových stránek ( útoky zavlažovacích otvorů )
- Znehodnocení webových stránek úpravou souborů se škodlivým úmyslem
- Spusťte útoky s distribuovaným odmítnutím služby ( DDoS )
- K přenosu příkazů uvnitř sítě, která je nepřístupná přes internet
- Použít jako velitelská a řídicí základna, například jako robot v systému botnet nebo způsobem, který by narušil zabezpečení dalších externích sítí.
Dodávka webových mušlí
Webové skořápky se instalují prostřednictvím chyb zabezpečení ve webové aplikaci nebo slabé konfigurace zabezpečení serveru, včetně následujících:
- SQL injection ;
- Zranitelnosti v aplikacích a službách (např. Software webového serveru, jako je NGINX nebo aplikace systému pro správu obsahu , jako je WordPress );
- Chyby zabezpečení týkající se zpracování a nahrávání souborů, které lze zmírnit např. Omezením typů souborů, které lze nahrát;
- Chyby zabezpečení týkající se vzdáleného začlenění souborů (RFI) a místního začlenění souborů (LFI);
- Vzdálené spuštění kódu ;
- Odkrytá administrační rozhraní;
Útočník může také upravit ( spoof ) Content-Typezáhlaví, které má být zasláno útočníkem, při nahrávání souboru, aby obešel nesprávné ověření souboru (ověření pomocí typu MIME zaslané klientem), což povede k úspěšnému nahrání shellu útočníka.
Příklad
Následuje jednoduchý příklad webového prostředí napsaného v PHP, které provádí a vydává výsledek příkazu prostředí:
<?=`$_GET[x]`?>
Předpokládejme, že název souboru je example.php, příklad, který by vydal obsah /etc/passwdsouboru, je uveden níže:
https://example.com/example.php?x=cat%20%2Fetc%2Fpasswd
Výše uvedený požadavek převezme hodnotu xparametru řetězce dotazu a odešle následující příkaz prostředí:
cat /etc/passwd
Tomu by bylo možné zabránit, kdyby byly funkce shellu v PHP deaktivovány, takže z PHP nelze provádět libovolné příkazy shellu.
Prevence a zmírňování
Webový shell se obvykle instaluje s využitím slabých míst v softwaru webového serveru. Proto je odstranění těchto zranitelností důležité, aby se zabránilo potenciálnímu riziku napadeného webového serveru.
Níže jsou uvedena bezpečnostní opatření zabraňující instalaci webového prostředí:
- Pravidelně aktualizujte aplikace a operační systém hostitelského serveru, abyste zajistili odolnost proti známým chybám
- Nasazení demilitarizované zóny (DMZ) mezi servery směřujícími na web a interní sítě
- Zabezpečená konfigurace webového serveru
- Uzavření nebo blokování portů a služeb, které se nepoužívají
- Použití ověření vstupních dat uživatele k omezení zranitelností lokálního a vzdáleného začlenění souborů
- Pomocí služby reverzního proxy omezte administrativní adresy URL na známé legitimní
- Časté skenování zranitelností k detekci rizikových oblastí a provádění pravidelných skenů pomocí webového bezpečnostního softwaru (nezabrání to útokům nulového dne )
- Nasadit bránu firewall
- Zakázat procházení adresářů
- Nepoužívá výchozí hesla
Detekce
Webové skořápky lze snadno upravit, takže není snadné detekovat webové skořápky a antivirový software často nedokáže webové skořápky detekovat.
Následují běžné indikátory, že je webový shell přítomný na webovém serveru:
- Abnormální vysoké využití webového serveru (kvůli silnému stahování a nahrávání útočníkem);
- Soubory s neobvyklým časovým razítkem (např. Novější než datum poslední úpravy);
- Neznámé soubory na webovém serveru;
- Soubory, které mají pochybné reference, například,
cmd.exeneboeval; - Neznámá připojení v protokolech webového serveru
Například soubor generující podezřelý provoz (např. Soubor PNG vyžadující parametry POST ); Pochybné přihlašování ze serverů DMZ do interních podsítí a naopak.
Webové skořápky mohou také obsahovat přihlašovací formulář, který je často maskovaný jako chybová stránka .
Pomocí webových skořápek mohou protivníci upravit soubor .htaccess (na serverech, na nichž běží software Apache HTTP Server ) na webových serverech tak, aby přesměrovával požadavky vyhledávače na webovou stránku pomocí malwaru nebo spamu . Webové skořápky často detekují agenta uživatele a obsah prezentovaný pavouku vyhledávače se liší od obsahu prezentovaného v prohlížeči uživatele. K nalezení webového prostředí je obvykle nutná změna user-agent robota prohledávače. Jakmile je webový shell identifikován, lze jej snadno odstranit.
Analýza protokolu webového serveru by mohla určit přesné umístění webového prostředí. Legitimní uživatelé / návštěvníci mají obvykle různé uživatelské agenty a referery (referrery) , na druhou stranu webový shell obvykle navštěvuje pouze útočník, proto mají velmi málo variant řetězců user-agent.