Úvod
mapování zranitelnosti je činnost prováděná za účelem identifikace bezpečnostních nedostatků, které mohou vést ke kompromisu systému. Někdy vědci použijí termín „hodnocení zranitelnosti“ místo „mapování zranitelnosti“.“Jsou to však totéž.
v pentestingu a škodlivém hackování je mapování zranitelnosti krokem, který následuje poté, co tester nebo hacker adekvátně provedl shromažďování informací a výčet cílové sítě nebo hostitele.
v tomto článku se podíváme na to, jak mohou být implementovány různé nástroje v operačním systému Kali Linux, aby se zjistily zranitelnosti, které by mohly vést ke kompromitaci cílů, a tak vést k tomu, že hacker nebo penetrační tester poruší důvěrnost, integritu a dostupnost obchodního systému.
typy zranitelností
dnes existují tři hlavní třídy zranitelností, z nichž lze jasně rozlišit. Tyto tři třídy jsou:
- zranitelnosti návrhu: Ty budou objeveny prostřednictvím slabých stránek, které vyplývají ze specifikací softwaru. Ty jsou zdaleka nejobtížnější vyřešit, protože vyžadují opravy, které mají být použity na základě bezpečnostních požadavků stanovených pentester
- implementace zranitelnosti: kdykoli jsou objeveny závady v softwarovém kódu, jsou zde klasifikovány.
- provozní chyby: tyto chyby zabezpečení budou důsledkem nesprávné konfigurace a nasazení softwaru.
výše uvedené třídy zranitelností se vyskytnou lokálně nebo vzdáleně v cílovém prostředí.
Lokální chyby zabezpečení budou vyžadovat, aby tester nebo útočník měli místní přístup k cílovému systému, aby je mohli zneužít. Dobrým příkladem je CVE-2013-0232, jinak známý jako GP Trap Handler nt!KiTrap0D, který by umožnil útočníkovi nebo testerovi s přístupem k zranitelnému počítači se systémem Windows Server 2008 získat eskalovaný privilegovaný přístup.
vzdálené chyby zabezpečení umožňují vykořisťování bez fyzického přístupu k cílovému systému. K nim může dojít z Internetu nebo v síti, na které zranitelný systém sedí. Jedním z běžných příkladů je chyba zabezpečení služby MS08-067 Windows Server, která ovlivňuje systémy Windows XP.
taxonomie zranitelnosti
vzhledem k tomu, že se počet technologií denně zvyšuje, došlo k mnoha pokusům navrhnout taxonomii, která by nejlépe vyhovovala běžně identifikovatelným zranitelnostem. Navzdory těmto snahám stále není možné zohlednit všechny chyby kódování, které lze provést.
organizace přišly s následujícími standardy, které byly dokonce implementovány v mnoha nástrojích, které lze využít při hledání zranitelností.
taxonomie zabezpečení | odkaz na zdroje |
společný výčet slabostí | http://cwe.mitre.org/data/index.html |
OWASP Top 10 | https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project |
klasifikace hrozeb WASC | http://projects.webappsec.org/w/page/13246978/Threat%20Classification |
národní databáze zranitelností | https://nvd.nist.gov/vuln |
Google Hacking Database (GHDB) | https://www.exploit-db.com/google-hacking-database/ |
skenování zranitelnosti pomocí Kali Linux
Kali Linux je dodáván s mnoha nástroji pro penetrační tester. Některé z těchto nástrojů lze efektivně použít během zapojení pentest k provádění mapování zranitelnosti ve třech výše uvedených třídách.
skenování zranitelnosti webových aplikací
webové aplikace jsou generovány denně, ale většina programátorů nedodržuje zásady bezpečného kódování, které je třeba dodržovat při navrhování aplikací. Následující nástroje umožňují vývojáři nebo pentesteru objevit zranitelnosti, které spadají do dokumentace dostupné v tabulce výše.
Nikto2
Nikto2 je velmi jednoduchý skener zranitelnosti webové aplikace postavený na LibWhisker2, což znamená, že má četné možnosti. Například, to může být nasazen cross-platform, podporuje SSL, může spravovat ověřování hostitele přes NTLM a může dokonce spravovat IDS evasion.
spuštění Nikto proti hostiteli, jak je uvedeno výše, příkazem „nikto-h“ vrátí výsledky, které se budou lišit v závislosti na zranitelnosti cíle. Můžete si být jisti, že Nikto detekuje zastaralé implementace serveru, výchozí instalační soubory, nesprávné konfigurace serveru a řadu dalších bezpečnostních problémů. Port můžete také určit připojením „- p “ po zadání cíle, abyste našli jakékoli problémy na požadovaných portech.
OWASP ZAP
OWASP Zed Attack Proxy (Zap) je vytvořen projektem OWASP, jednou ze stran v tabulce uvedené výše. Jedná se o open-source webový aplikační proxy nástroj a nabízí některé dobré funkce, jako je skenování zranitelnosti webových aplikací.
v systému Kali Linux jej jednoduše spustíte vydáním příkazu níže v terminálu:
#owasp-zap
zobrazí se vám hlavní obrazovka. Provedení skenování je poměrně jednoduché, ačkoli. Chtěli byste vydat cíl, který má být naskenován, jak je uvedeno níže:
jakmile stisknete tlačítko „útok“, začne skenování a na obrazovce se zobrazí určitá aktivita v sekci níže.
OWASP Zap prochází cílový web a hledá zranitelnosti. Identifikuje také některé nesprávné konfigurace, které se objeví na kartě upozornění, takže na tuto kartu také Sledujte. OWASP ZAP vám umožní zúžit na dotčené odkazy, jak je uvedeno níže:
komerčním konkurentem ZAP je BurpSuite, který nabízí podobné funkce s bezplatnou verzí, ale mnohem více ve své komerční verzi.
Nessus
Nessus vám poskytne automatické skenování zranitelnosti webové aplikace pro situace, kdy máte omezený čas a potřebujete rychlé posouzení zranitelnosti nebo pentest.
Nessus lze provozovat zdarma s omezenými možnostmi nebo jako komerční nástroj s mnohem více schopnostmi — které se mohou hodit-zejména pro velké týmy pentest a zakázky.
Chcete – li provést kontrolu zranitelnosti, musíte nejprve nainstalovat bezplatnou verzi Nessus a poté přejděte do prohlížeče na https://localhost:8834. Viz níže:
poté stisknete tlačítko“ Nové skenování “ výše a vyberete typ skenování, který chcete provést, z mnoha dostupných šablon.
šablony uvedené výše budou omezeny v bezplatné verzi Nessus, pokud to spustíte, ale v komerční verzi je mnohem více co do počtu a schopností.
pak byste vydali své cíle. Nessus je schopen provádět skenování na více cílech oddělených čárkami nebo vydaných ve formátu CIDR.
po dokončení vyplňování požadovaných polí se zobrazí výše uvedená obrazovka. Klepnutím na ikonu „Přehrát“ spustíte skenování.
chyby zabezpečení budou prezentovány způsobem na obrazovce výše, shrnující závažnost a případy objevených problémů.
Nessus vám dokonce umožňuje přejít na konkrétní hostitele a zranitelnosti a získat více informací o tom, jak byly objeveny, spolu s doporučeními, jak opravit identifikovaná rizika.
skenování zranitelnosti sítě
Kali Linux také poskytuje nástroje, které jsou schopné skenovat síťová zařízení, jako jsou databáze, směrovače, přepínače a protokoly, jako jsou SNMP a SMB. Existuje mnoho nástrojů, ale podíváme se na nejběžnější.
CISCO Analysis
zařízení CISCO jsou citlivá na řadu zranitelností, které lze posoudit pomocí několika nástrojů. Při auditu směrovačů je Kali Linux dodáván s nástrojem Cisco Audit Tool (CAT), který může útočníkovi nebo penetračnímu testerovi pomoci identifikovat zranitelnosti od řetězců komunity SNMP až po staré chyby CISCO a výchozí pověření, které lze použít k získání nelegálního přístupu k routeru.
abychom otestovali našeho hostitele na Kali, provedli jsme níže uvedený příkaz:
#CAT -h 192.168.67.73 -w lists/community -a lists/passwords -i
CAT pokračuje v auditu výchozích pověření a řetězců komunity SNMP, jak je uvedeno výše.
SNMP analýza
Kali Linux také umožňuje útočníkům a pentesterům získat informace od hostitelů pomocí protokolu SNMP (Simple Network Management Protocol). To může být nesmírně důležité při přípravě dalších útoků zaměřených na hostitele.
na našem útočném stroji jsme provedli příkaz níže a byli jsme schopni získat spoustu informací o našem cíli.
jak je vidět výše, dokázali jsme identifikovat informace o ethernetové kartě, jak dlouho byl systém přes tuto kartu připojen, název hostitele a, jak je uvedeno níže, počet síťových rozhraní s jejich příslušnými informacemi.
hodnocení databáze v Kali Linux
Kali Linux umožňuje testování databází MSSQL MySQL, Oracle a Microsoft na zranitelnosti, jako je SQL injection. Některé nástroje také podporují testy zásad hesel a výchozí kontroly hesel.
SQLMap
SQLMap je čistý nástroj v Kali Linuxu, který je schopen provádět různé SQL injection testy proti několika databází, jako je PostgreSQL, MSSQL, Oracle a MySQL. Je schopen detekovat a využívat zjištěné nedostatky, což z něj činí velmi běžný nástroj pro útočníky a testery. SQLMap vám může rychle pomoci při provádění následujících útoků, které by jinak byly obtížné a časově náročné:
- Inferential blind SQL injection
- UNION query SQL injection
- Stacked query SQL injection
- Time-based blind SQL injection
v našem systému Kali Linux jsme provedli níže uvedený příkaz, abychom se pokusili zjistit informace o naší základní databázi v našem cílovém systému.
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch --dbs
výše uvedený výsledek nám ukazuje dostupné databáze a také nám umožňuje znát injekční parametry v naší webové aplikaci na dané adrese URL.
Chcete-li najít obsah databáze „owasp10“, vydáme níže uvedený příkaz:
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch -D owasp10 –tables
volba-D určuje databázi, která se má použít, a-tables požádá SQLMap o seznam dostupných tabulek.
SQLMap nabízí mnohem více funkcí, které nebudou pokryty, ale které byste měli zkontrolovat v dokumentaci nápovědy pomocí příkazu „sqlmap-h“.
existují i jiné nástroje, jako například SQLNinja, které mají podobnou funkčnost jako SQLMap.
závěr
poté, co jste mapovali zranitelnosti pomocí nástrojů dostupných výše, můžete nyní pokračovat do další fáze, která by během penetračního testu nebo útoku byla exploatace. Mohlo by vás však zajímat pouze výčet zranitelností pro posouzení zranitelnosti. V tomto případě budou výše uvedené nástroje fungovat.