Způsoby platby Abuse

Vyhledávání zranitelností na webových stránkách

13.07.2021, 19:11

Testování webu umožňuje najít zranitelnosti a chyby, které mohou být zneužity útočníky. Pokud jste správcem webu, doporučujeme přidat penetrační testování do seznamu nástrojů a pravidelně vyhledávat zranitelnosti, abyste zajistili plné zabezpečení svých webů. Zjištěné problémy vám pomohou slabá místa opravit.

Testování zabezpečení zahrnuje tolik různých nástrojů a úkolů. V tomto článku se budeme věnovat základním aspektům vyhledávání zranitelností webu. S pomocí tohoto návodu budete schopni zajistit bezpečnost svých zdrojů.

VYHLEDÁVÁNÍ ZRANITELNOSTÍ NA WEBOVÝCH STRÁNKÁCH

Penetrační testování a vyhledávání zranitelností na webových stránkách zahrnuje několik činností. Nestačí spustit jeden nástroj a otestovat web, potřebujete správný přístup, který vám pomůže shromáždit co nejvíce informací o zabezpečení systému.

Hlavní kroky jsou následující:

  1. Průzkum - vyhledávání a shromažďování informací o vaší síti nebo serverech;
  2. skenování - tento krok zahrnuje kontrolu webu na zranitelnosti na základě shromážděných informací;
  3. exploatace - tento krok je nepovinný a penetrační testeři jej ne vždy potřebují. Je nezbytný, pokud potřebujete ukázat skutečné nebezpečí zranitelností;
  4. oprava - v této fázi je třeba opravit všechny zranitelnosti nalezené na webu.

Dále se podíváme na to, co je třeba provést v každé z těchto fází a jaké nástroje byste k tomu měli použít. Je lepší neinstalovat všechny tyto programy zvlášť, ale použít hotové prostředí pro penetrační testování - Kali Linux. Jedná se o speciálně připravenou distribuci systému Linux, která již obsahuje všechny potřebné programy. Díky tomu nemusíte nic instalovat. Systém můžete spustit z flash disku nebo můžete Kali Linux nainstalovat na pevný disk.

Inteligence

Chcete-li zjistit, jaké informace mohou o vašem systému zjistit ostatní, musíte použít několik nástrojů:

Jedním z nejoblíbenějších nástrojů pro skenování sítě jenmap. Pomocí něj můžete zjistit, jaké služby jsou na serveru webové stránky spuštěny, jaké porty používají, jejich verze portů a dokonce i verzi operačního systému. Chcete-li zjistit otevřené porty v počítači, spusťte tento příkaz v terminálu systému Kali Linux:

$ nmap -sS 192.168.91.249

Vyhledávání zranitelností na webových stránkách

192.168.91.249 je ip adresa zdroje. Tento příkaz zobrazí otevřené porty a názvy služeb. Můžete získat podrobnější informace, například již v tomto okamžiku můžete získat mnoho informací o systému. Zde například vidíte, že na počítači běží server SSH, webový server, služby sdílení souborů Samba a proxy server na portu 3128. Všechny tyto servery mohou být potenciálně zranitelné.

Skener Nmap umožňuje proniknout hlouběji a provést intenzivnější skenování. K tomu použijte volbu -A:

$ nmap -A 192.168.91.62

Vyhledávání zranitelností na webových stránkách

Zde již uvidíte mnohem více informací, například verze služeb, systémový čas, systém správy obsahu a dokonce i verzi operačního systému. Také v případě nalezení jednoduchých zranitelností, jako je slabé heslo FTP, se o tom dozvíte také. Více informací o tom, jak Nmap používat, si můžete přečíst v samostatném článku. Měli byste také využívat další dostupné zdroje informací. Je důležité pochopit, jaké informace jsou o vás v síti k dispozici a zda útočník může získat informace, ke kterým by neměl mít přístup.

Zde jsou některé služby:

  1. whois - pomocí této služby můžete zjistit veřejně dostupné informace o doméně, registrátorovi, vlastníkovi a další kontaktní informace;
  2. recon-ng - užitečný nástroj pro analýzu, který je součástí systému Kali Linux;
  3. Maltego Chlorine - velmi populární open source nástroj pro shromažďování informací z otevřených zdrojů;
  4. Netcraft - užitečný nástroj, který umožňuje vyhledat subdomény webových stránek;
  5. hackertarget.com/reverse-ip-lookup - umožňuje zjistit, jaké další weby běží na vaší ip adrese.
  6. Jakmile dokončíte shromažďování informací ve fázi průzkumu, musíte přejít ke skenování, tedy přímo k vyhledávání zranitelností na webu Kali Linux.

Skenování

Pro skenování se často používá metoda Fuzzing. Smyslem fázování je poslat na web velké množství náhodných dat a pokusit se najít zranitelnosti. Různé nástroje, na které se podíváme níže, simulují útoky, aby otestovaly zranitelnost aplikace.

Fuzzing aplikací může identifikovat zranitelnosti, ale pro dosažení nejlepších výsledků stojí za to pochopit, jak tyto aplikace fungují a v čem spočívá chyba. Pokud máte přístup ke zdrojovému kódu projektu, můžete fuzzing a manuální analýzu používat souběžně a najít problémy s větší přesností. Fuzzingové útoky jsou velmi hlasité, protože vyžadují přenos velkého množství dat. Systém ochrany proti vniknutí si jich všimne, musíte být opatrní. Dále se podívejme na nástroje, které lze použít.

WPScan je open source projekt napsaný v jazyce Ruby speciálně pro skenování WordPressu. Jeho použití je velmi snadné a může být užitečné pro weby, které používají mnoho zásuvných modulů nebo nejsou aktualizovány. Nástroj nepotřebuje zdrojový kód a skenování provádí na dálku.

Nikto je skener zranitelností pro webové stránky. Funguje mnohem déle než WPSan, ale je určen nejen pro WordPress. Zahrnuje spoustu zásuvných modulů a během skenování spustí mnoho dotazů. Software například dokáže najít soubor, který vypíše informace o phpinfo. Nikto však generuje mnoho falešně pozitivních výsledků, takže je třeba pečlivě analyzovat výstup.

Burp Suite je velmi výkonný program pro vyhledávání zranitelností webových stránek nebo webových aplikací. Tento nástroj funguje pouze prostřednictvím webového prohlížeče. Nástroj umožňuje zkontrolovat všechny formuláře, které se na webu nacházejí, zkontrolovat odesílání různých hlaviček, zobrazit odpovědi a požadavky prohlížeče, provést aktivní skenování adres URL, provést statickou analýzu javascriptového kódu a vyhledat zranitelnosti XSS na webu. Je to skvělý nástroj, ale může se zdát složitý.

SQLMap je program pro vyhledávání zranitelností sql webových stránek. Můžete v něm najít všechna možná místa, kde lze provést injekce SQL. Pokud například předpokládáte, že by v parametru id mohlo dojít k injekci sql, použijte tento příkaz

 $ sqlmap -u http://example.com/?id=1 -p id

Program otestuje různé typy databází, takže můžete zadat pouze tu správnou:

$ sqlmap --dbms=MySQL -u http://example.com/?id=1 -p id

Tyto příkazy umožňují testovat pole, zadávat různé parametry, například databáze, tabulky nebo hesla.

Exploit

Exploitace dokončí vyhledávání zranitelností na webu a zajistí využití zranitelností pro získání přístupu do systému nebo k datům. Obecně platí, že pokud se vám podařilo najít díry v zabezpečení a uzavřít je, nemusíte dělat nic dalšího. Někdy je však třeba prokázat, že problém je skutečně závažný.

Doporučuje se nepoužívat využívání zranitelností v produkčních systémech. protože to může vést k problémům. Je lepší vytvořit virtuální počítač a již v něm ukázat vše, co potřebujete. Zde je několik nástrojů, které můžete použít:

  • SQLMap - nástroj pro vyhledávání zranitelností sql a jejich využívání;
  • Burp Suite - nástroj pro vyhledávání zranitelností XSS a jejich využívání;
  • Metasploit - využití zranitelností v systému.

Metasploit je celé prostředí pro penetrační testování, které obsahuje mnoho hotových exploitů. Můžete v něm najít exploity pro nainstalované zásuvné moduly nebo služby objevené v prvním kroku. Na to, jak Metasploit používat, se blíže podíváme v některém z příštích článků.

Záplatování

Jedná se o závěrečnou fázi vyhledávání zranitelností. Na základě všeho, co bylo nalezeno, je třeba vyvodit závěry a uzavřít všechny díry. Až budete mít všechny údaje o zranitelnostech. Stanovte priority a opravte vše, co jste našli. Pokud jste byli schopni tyto zranitelnosti najít, může je najít kdokoli jiný.

Závěry

V tomto článku jsme provedli velmi rychlý kurz vyhledávání zranitelností webových stránek a podívali jsme se na hlavní software pro vyhledávání zranitelností webových stránek, který můžete použít, abyste zajistili, že váš zdroj nebo infrastruktura budou co nejbezpečnější. Mnohé z těchto nástrojů jsou standardem v oboru. Nyní se můžete zamyslet nad svou strategií testování a pokusit se eliminovat všechny zranitelnosti.