Příručka našeho zákazníka I - Nethemba

BLOG

Příručka našeho zákazníka I

Vše, co jste chtěli vědět o našich  službách v IT bezpečnosti

Cílem následujícího dokumentu je na základě našich 14-letých zkušeností v oblasti etického hackování (provedených stovky penetračních testů a bezpečnostních auditů pro množství našich zákazníků) vysvětlit jak si vybrat vhodný penetrační test nebo bezpečnostní audit, a to tak, aby byl v souladu s vašimi očekáváními proveden maximálně profesionálně a za co možná nejlepší cenu.

Dokument je rozdělen na tři části, které budou postupně zveřejněny na našem blogu.

První část:

Jaký penetrační test nebo bezpečnostní audit potřebuji (Request For Information)

Druhá část:

Chci nabídku, co ode mě potřebujete? (Request For Proposal)

Rozhodl jsem se pro vaše služby, pojďme do toho!

Jak připravím testovací prostředí a testovací účty?

Testování úspěšně probíhá, co mám čekat?

Výsledná zpráva

Třetí část:

Opakované testy a bug bounty program

Jaké technologické certifikáty by měli mít etičtí hackeři?

Proč právě testy u “svobodné” firmy?

Jaký penetrační test nebo bezpečnostní audit potřebuji? (RFI)

Testy webových aplikací

Pokud jste malá firma bez vlastní interní infrastruktury tak vás zřejmě bude zajímat penetrační test vašeho webu nebo vaší webové aplikace. Pokud máte malý nebo středně velký web bez komplexní dynamické funkcionality, tak vám postačí náš nejpopulárnější standardní penetrační test. Jeho cílem je během fixního času (3 dny) odhalit co nejvíce kritických nebo jiných vážných zranitelností. Jde o “blackbox” simulaci reálného hackerského útoku, kdy potenciální útočník má na vyháckování vaší aplikace fixní čas tři dny. Odpovídá tedy na otázku – co všechno dokáže profesionální hacker odhalit a zneužít během uvedeného času?

Bohužel tři dny obvykle nestačí k odhalení většiny zranitelností, obzvláště v složitějších a komplexnějších aplikacích. Na toto je vhodný detailní bezpečnostní audit, který provádíme podle standardu OWASP (momentálně ve verzi 4.2). Jde o nejdetailnější webový test, který provádíme striktně podle této otevřené metodologie.

V případě zájmu zákazníka realizujeme i audit zdrojových kódů aplikace. Jelikož zdrojový kód je obvykle rozsáhlý, soustředíme se speciálně na z hlediska bezpečnosti, kritické části kódu – autentizaci, autorizaci a session management.

Při detailním bezpečnostním auditu procházíme a testujeme všechny formuláře webové aplikace na všechny druhy známých webových útoků. Proto je tento audit i výrazně pracnější (potřebujeme cca 2-4 týdny na detailní otestování jedné aplikace). Součástí tohoto testu je i tvorba (programování) exploitů, což jsou specializované programy, kterými prakticky demonstrujeme zneužití odhalených kritických zranitelností. Detailní bezpečnostní audit doporučujeme pro všechny z hlediska bezpečnosti kritické aplikace, které disponují citlivými osobními nebo finančními údaji, tedy i např. zda umožňují finanční převody. Tento test je proto vhodný pro finanční sektor středně velké či velké společnosti. Doporučujeme jej realizovat před nasazením jakékoli nově vyvinuté aplikace do produkčního prostředí.

Testy mobilních aplikací

Mít pěknou a funkční mobilní aplikaci je v současné době pro velké množství firem již nezbytnost a standard současně. Mobilní aplikace pro Android nebo iPhone mohou obsahovat takové druhy zranitelností, které se ve webových aplikacích nenacházejí. Proto doporučujeme každou takovou mobilní aplikaci před jejím oficiálním spuštěním důkladně otestovat.

V rámci služby bezpečnostní audit mobilní aplikace provádíme jak testování serverové části webových služeb (REST / SOAP), tak klientské části (frontend) samotné aplikace (Android aplikace napsané v Javě dekompilujeme a iOS aplikace napsané v Objective C reverzujeme). Součást testování je také aktivní sledování a intervence do komunikace mezi samotnou mobilní aplikací a její serverovou stranou (při této komunikaci upravujeme jak žádosti aplikace, tak odpovědi ze strany serveru s cílem identifikovat možné zranitelnosti). Využíváme k tomu různé tzv. “fault injection” nástroje. Dokážeme obejít různé bezpečnostní ochrany, kterými se aplikace chrání (například SSL pinning, detekce roota / jailbreaku, obfuskace kódu atd). Otestování jedné mobilní aplikace na jedné platformě trvá řádově 1-3 týdny.

Externí penetrační testy

Pokud jste větší firma, tak pravděpodobně již disponujete vlastní síťovou infrastrukturou (externí a interní firemní sítí), kterou je třeba udržovat a chránit. Na to vám pomůže náš externí penetrační test. Ten dokáže být realizován v kompletní “blackbox” formě, kdy nám jako zákazník neposkytnete žádné informace o vaší síťové infrastruktuře. V rámci fáze, která se nazývá “information gathering” se tyto potřebné informace pokusíme získat z veřejně dostupných registrů či databází. Naším cílem je identifikovat vaše potenciální síťové IP rozsahy nebo IP adresy. Tato fáze je pasivní, což znamená, že vašich serverů či síťových prvků se “nedotýkáme”, jen shromažďujeme dostupné informace o vaší infrastruktuře. Poté co získáme seznam vašich potenciálních IP adres nebo IP rozsahů, vás kontaktujeme a necháme si od vás explicitně potvrdit, že jde skutečně o vaše reálné IP adresy. Pokračovat v aktivním testování IP adres, které vám nepatří, je totiž nelegální.

Druhá, zhruba o jeden den rychlejší alternativa je nám rovnou poslat vaše IP rozsahy nebo seznamy IP adres, které chcete otestovat. Následně se dokážeme pustit do penetračního testování. Externí penetrační test trvá řádově pár dní až týdnů (podle velikosti testované infrastruktury).

Interní penetrační testy

60% všech bezpečnostních incidentů pochází od interních zaměstnanců nebo z interní sítě. Proto je důležité dbát i o bezpečnost interní síťové infrastruktury. Na její otestování nabízíme penetrační test intranetu. Ten může být realizován, buď z pohledu náhodného anonymního útočníka (člověk, který přišel do firmy na pohovor a připojil si laptop v zasedačce), nebo z pohledu běžného zaměstnance (například sekretářky, která má přístup do firemního doménového serveru). Obvykle nám stačí anonymní přístup do interní sítě, abychom dokázali obejít ochrany jako MAC security, 802.1x či jiné ochrany na linkové vrstvě. Útoky jako ARP poisoning a vydáváním se za “oficiální” síťový router dokážeme relativně rychle získat oprávnění jiných interních uživatelů (takže častokrát oficiální účet sekretářky nakonec ani nepotřebujeme). Dokud to není stanoveno jinak, tak největším cílem interního penetračního testu je kompromitovat hlavní doménový server (AD) a hlavní síťový router, který směřuje veškerý síťový provoz z vaší firmy do Internetu. Toto de facto znamená, že se nám podařilo získat plnou kontrolu nad vaší interní sítí. V minulosti jsme většinu interních penetračních testů realizovali “onsite”, tedy fyzicky u zákazníka. V současné pandemické době jsme se prakticky úplně “přepnuli” do testování na dálku přes zákazníky vytvořené VPN spojení. Pokud se najdou korporace, které mají mnoho poboček na celém světě s oddělenými interními sítěmi, tak na jejich kompletní otestování potřebujeme VPN spojení do každé z těchto lokalit.

Lokální bezpečnostní audit

Při “toulkách” po interní síti častokrát objevíme z pohledu zákazníka klíčový nebo kritický server, který vyžaduje detailní otestování, a to z pohledu jak neprivilegovaného, ​​tak privilegovaného uživatele. V tomto případě zahájíme lokální bezpečnostní audit, jehož cílem je odhalit všechny možné zranitelnosti v daném lokálním systému a instalovaných aplikacích. A pomoci následně při jeho dalším zabezpečení (tzv. hardening). Při tomto systémovém auditu například ověřujeme všechny možné způsoby neautorizované eskalace neprivilegovaných uživatelů na privilegované (administrátor / root).

Sociální inženýrství

Všechny výše uvedené testy se týkaly hledání zranitelností, které umožňují útoky na technologie. Bohužel častokrát se stává, že i přesto, že používáte vysoce bezpečné technologie (systémy a aplikace), tak se stanete obětí hackerského útoku. V tomto případě hovoříme o tzv. útocích sociálního inženýrství, kdy předmětem útoku nejsou technologie, ale samotní lidé. Útočník při sociálním inženýrství využívá typické lidské vlastnosti jako altruismus, důvěřivost, potřeba pomáhat, ale i sobectví či strach z autorit.

Test Sociální inženýrství, které provádíme, se skládá ze tří částí.

První část představuje internetový cílený phishing (tzv. Spear-phishing), kdy se obvykle snažíme pomocí kanálů jako jsou e-maily nebo klienti instantní komunikace zmanipulovat vaše zaměstnance to tak, aby nám poskytli zvolené citlivé informace nebo nám umožnily provést jinak nepovolené operace.

Druhá část probíhá telefonicky nebo SMS zprávami, kdy využíváme metody impersonifikace (vydávání se za jinou osobu) či caller ID spoofing (např. voláme oběti z předem známých podvržených čísel, kterým důvěřuje).

Třetí fáze představuje samotnou fyzickou infiltraci do budovy zákazníka. K tomu obvykle potřebujeme tzv. “Get Out Of Jail Letter”, tedy dokument podepsaný vedením firmy, prohlašujícího, že jde jen o test, abychom se vyhnuli případné fyzické konfrontaci.

Každý zákazník je jiný a vyžaduje jiné scénáře sociální inženýrství. Někteří zaměstnanci zákazníků mají vyšší bezpečnostní povědomí, a proto jsou imunní na triviální útoky sociálního inženýrství (například na phishing e-maily či rozsypané USB klíče s malwarem). Proto vypracováváme i sofistikovanější scénáře, které následně otestujeme. 

Dobře realizované sociální inženýrství je často velmi úspěšné. I v dnešní době můžeme vidět, jak výborně fungují podvodníci vydávající se za zaměstnance Microsoftu, kteří vám zavolají přes telefon a snaží se získat přístup k počítači a citlivým osobním údajům.

Specializované testy

Pokud jste zákazník, který má zájem o specifické testy nějaké konkrétní technologie nebo platformy, tak nám dejte vědět. Máme experty a zkušenosti s bezpečností následujících technologií:

Bezpečnostní audit smart kontraktů – pokud potřebujete otestovat decentralizované aplikace nad Ethereum (či jiným) blockchainem, umožňujícím smart kontrakty. Tématu zranitelností v smart kontraktech jsme se věnovali v tomto delším článku.

Bezpečnostní audit SAP systémů – pokud chcete otestovat bezpečnost vašich SAP systémů a aplikací. Jelikož SAP je velmi složitý robustní systém, tak máme velmi vysokou úspěšnost v jeho kompromitacích.

Bezpečnostní audit čipových karet – v minulosti jsme demonstrovali prolomení nejrozšířenějších čipových karet na světě (Mifare Classic) a také jsme jako první publikovali open-source nástroj na jejich prolomení (mfoc, dostupný například v hackerské distribuci Kali). Tyto zkušenosti jsme opakovaně využili na auditování různých technologií bezdrátových čipových karet (splňující standardy ISO 15693 a ISO / IEC 14443).

Bezpečnostní audit bezdrátových (WiFi) sítí – podvržené wifi hotspoty (tzv. “Rogue APs”) mohou představovat nežádoucí způsob úniku citlivých informací z vaší interní sítě. Podobně nedostatečně zabezpečená interní wifi síť znamená, že útočník kompromituje vás, vaše zaměstnance nebo zákazníky. Toto všechno dokáže odhalit bezpečnostní audit bezdrátových (WiFi) sítí, který rádi realizujeme fyzicky ve vašich prostorách.

Bezpečnostní audit SCADA a IoT – ať už jen používáte nebo i vyrábíte vlastní hardware nebo jste podnik s kritickou průmyslovou infrastrukturou, tak můžete využít naše specializované SCADA a IoT bezpečnostní audity, které dokáží odhalit zranitelnosti ve vašem hardwaru či v průmyslové infrastruktuře. Tyto zranitelnosti mohou mít v případě zneužití často fatální důsledky – například selhání výrobní linky, generátoru, znefunkčnění kardio stimulátoru atd.

V naší firmě máme zkušeností s testováním bezpečnosti proprietárních VoIP telefonů, WiFi routerů, palubních jednotek do aut, mobilními BTS stanicemi či průmyslové infrastruktury.

Ve druhé části článku si vysvětlíme, jaké přesně informace potřebujeme od vás na vytvoření vhodné nabídky, podepsání smluv, vytvoření testovacího prostředí a testovacích účtů a spuštění samotného testování.