Red Teaming – Červená proti modré, aneb evoluce penetračních testů
Je Red Teaming nástupce penetračních testů? Je to náhrada nebo doplněk k nim? Je to evoluce? Pojďme si tyto dvě služby přehledně srovnat a poté vysvětlit, co tedy Red Teaming je a jakými metodikami ho můžeme formalizovat.
O pojmu penetrační testování pravděpodobně už slyšel každý informovanější člověk pohybující se v rámci IT a hlavně v odvětví jeho bezpečnosti. Penetrační testy jsou s oblibou popisovány jako simulace útoku vůči zadané IT oblasti. Předmětem penetračního testu je vždy určitá izolovaná část IT ekosystému společnosti jako například webová aplikace, desktopová aplikace, či síťová infrastruktura. Slovo izolovaná v předchozí větě by zasloužilo dvakrát podtrhnout. Právě v této izolovanosti tkví největší slabina penetračních testů. Jako výsledek periodického provádění těchto testů můžeme mít informaci, že veškerá bezpečnostní rizika byla snížena na akceptovatelnou úroveň a testovaný systém je odolný vůči útoku.
Co nám už výsledek penetračního testu nepoví, že systém je možné kompromitovat zasláním emailu s malware v příloze jeho správci, že je možné dostat se k datům kompromitací zcela jiného systému, který však s původním sdílí stejné datové úložiště a tak dále. Penetrační testy jsou jednoduše úzkoprofilově zaměřeny na konkrétní oblast a z podstaty věci nemohou pokrýt komplexnost provázanosti celého ekosystému společnosti a z toho vyplývajících rizik.
Přestože společnosti do bezpečnosti investují pořád vyšší a vyšší sumy, stávají se stále cíli sofistikovaných útoků. Z nedávné doby si můžeme připomenout například kauzy okolo Sony Pictures, Equifax, Deloitte či British Airways. Ve všech těchto případech došlo k zásadnímu úniku citlivých dat a poškození reputace dané společnosti. Navíc se čím dále ve větší míře setkáváme s útoky vládou sponzorovaných hackerských skupin, kdy hlavním cílem je zpravidla špionáž či sabotáž. To jen zvyšuje poptávku po službě, která by zabezpečení vůči externí hrozbě zhodnotila komplexně.
V tomto bodě přichází na řadu tzv. Red Teaming. Tento pojem je odvozen od výrazu Red Team, jenž označuje tým zkušených etických hackerů, který simulovaný útok realizuje a využívá při tom stejně sofistikované prostředky jako reální útočníci. Red Teaming pokrývá velice široký rozsah vektorů útoků a cílí lidi, technologie i fyzická aktiva. Kromě pokusu o průnik zneužitím zranitelnosti v dané technologii využívá i prostředků sociálního inženýrství, sběru informací z otevřených zdrojů (OSINT, dumpster diving) či fyzického průniku.
Proti Red Teamu stojí na straně cílové společnosti tzv. Blue Team, což je tým odborníků, který se stará o prevenci, detekci a řešení kybernetických incidentů. Jeho cílem je udělat vše pro to, aby útok nebyl úspěšný a pokud už útok úspěšný je, potom ho co nejrychleji odhalit, zadržet a zabránit jeho opakování. V dnešní době se u větších společností jedná o oddělení Security Operations (SOC) či Cyber Defense Centra (CDC).
Red Team vs Blue Team
Role Red Teamu a Blue Teamu jsou asymetrické. V prvotní fázi, kdy se útočící tým pokouší proniknout do interní sítě chráněné obraným týmem, má navrch Red Team. Blue Team musí zabezpečit každý z mnoha potenciálních vektorů útoků a že je toto pole velice široké. Útočícímu týmu stačí najít jednu zranitelnost, jedno pochybení, zneužít důvěry jednoho ze zaměstnanců a získá tak přístup dovnitř sítě.
V tomto momentě se však situace obrací. Výhoda se překlápí do rukou obranného týmu. Útočící tým se dostává na neznámou půdu interní sítě, kterou má pevně pod kontrolou Blue Team. Jakmile zde udělá Red Team jedinou chybu, začne se chovat příliš “hlučně”, aktivuje honeypot či na svoji aktivitu upozorní jiným způsobem, je z vnitřní sítě nemilosrdně Blue Teamem vystrnaděn a jeho práce začíná nanovo. Přirovnání s pomyslnou hrou na kočku a myš je zde tak více než na místě.
Pokud už se Red Team dostane na hřiště Blue Teamu, co je vlastně jeho cílem? Cílem je nepozorovaně získat tzv. Flag neboli vlajku, která je definována spolu se zadavatelem za začátku Red Teaming cvičení. Může se například jednat o přístup do určitého segmentu interní sítě, přístup ke konkrétnímu serveru či předem nachystaným datům v databázi, fyzický přístup do serverovny, odcizení notebooku či instalace HW backdooru. Principem je definovat Flag způsobem, aby po jeho dosažení Red Teamem bylo možné konstatovat, že zabezpečení na úrovni technické, fyzické a procesní není dostatečné pro zabránění cílené infiltrace zvenčí. V rámci výsledného reportu je pak celý útok včetně slepých cest či nezdařených infiltrací detailně analyzován a popsán a jsou navrženy doporučení pro úspěšnou obranu napříč různými oblastmi.
Z výše uvedeného vyplývá, že pro dosažení co nejvěrnějších výsledků je nezbytné, aby o provádění Red Teamingu nebyli informování zaměstnanci, především pak lidé z IT jednotek (IT Operations, SOC, CDC) cílové společnosti. Na straně zadavatele ví o provádění Red Teamingu pouze úzká skupina lidí, tzv. White Team, který se stará o součinnost během procesu dodání služby. Dle dohody mohou útoky probíhat i mimo pracovní dobu, je tak nezbytné, aby byla kontaktní osoba neustále dostupná. V případě fyzických průniků dostávají členové Red teamu tzv. Get Out of Jail Free kartu, kterou se prokáží v případě, ze jsou úspěšně detekováni.
Penetrační test | Red Teaming |
---|---|
Metodický přístup | Flexibilní přístup |
Striktně daný rozsah | Neomezený rozsah |
Obvyklá délka trvání 1 – 3 týdny | Obvyklá délka trvání 1 – 3 měsíce |
Předem ohlášený | Tajný, o realizaci ví pouze White Team |
Cílem je identifikace zranitelností konkrétní oblasti | Cílem je otestovat odolnost celého prostředí společnost vůči útoku |
Cyber Kill Chain
Tak jako existují metodiky pro realizaci penetračních testů (OWASP, PTES, OSSTMM, …), existují frameworky, které lze uchopit buď z pohledu Security Operations Center pro prevenci útoků, tak z pohledu Red Teamu pro popis a realizaci útoků. Jedná se o frameworky Cyber Kill Chain (CKC) vyvinutý společnostní Lockheed Martin, Unified Kill Chain či MITRE ATT&CK. V následujícím textu bude představen Framework CKC z důvodu jeho přímočarosti. Ostatní frameworky budou popsány v následujících článcích.
CKC popisuje sedm navazujících aktivit, které musí být vykonány, aby byl útok úspěšný. Úkolem Blue Teamu je tento řetězec událostí narušit, zatímco Red Team se snaží tyto útočné aktivity dotáhnout do úspěšného konce.
Reconnaissance
Fáze průzkumu, kdy Red Team využívá volně dostupné i neveřejné zdroje pro zjištění co největšího množství informací o cíli. Jsou využity techniky Open-source intelligence (OSINT), průzkum sociálních sítí či nástroje jako Maltego, Shodan nebo ZoomEye. Součástí je sběr osobních informací o zaměstnancích (jméno, emailová adresa, telefonní číslo atd.) a informací o použitých technologiích a službách vystavených do Internetu.
Weaponization
Přípravná fáze, kdy Red team na základě zjištění z předchozí fáze vytvoří malware na míru danému cíli. Jsou použity vlastní in-house techniky pro obfuskaci kódu a použitých exploitů, to vše s cílem minimalizace toho, že bude útočný software detekován antimalwarovými prostředky cílové sítě.
Pro metody sociálního inženýrství jsou vytvořeny tzv. návnady – dokumenty (pdf, docx, …) obsahující útočný kód. Jsou využívány exploity na známé i neznámé (zero-day) zranitelnosti, makra dokumentů či Dynamic Data Exchange (DDE).
Delivery
Fáze, ve které jsou zahájeny samotné útoky. Útoky prostřednictvím sociálního inženýrství mohou zahrnovat zasílání emailů s infikovanými přílohami (phishing), kontaktování zaměstnanců prostřednictvím telefonu (vishing), interakce na sociálních sítích či využití útočných USB zařízení (baiting) jako jsou například RubberDucky, Bash Bunny či Raspberry Pi.
Zároveň jsou zahájeny útoky na externí infrastrukturu a vystavené služby, jakými jsou například webové, poštovní a DNS servery či VPN endopinty. Součástí fáze je i útok na zaměstnanecké a návštěvnické WiFi sítě.
Exploitation
Tato fáze značí úspěšný průnik. Může se jednat o zneužití technické chyby formou exploitu vůči externí infrastruktuře či WiFi síti nebo zneužití lidské chyby v rámci sociálního inženýrství, kdy zaměstnanec cílové společnosti spustí útočný kód připravený Red Teamem a doručený v předchozí fázi.
Installation
Red Team úspěšně kompromitoval server či koncový bod (uživatelská stanice nebo mobilní zařízení) a zajišťuje si perzistentní přístup. V případě kompromitace například webového serveru může být perzistence dosaženo využitím webshellu. V případě koncového zařízení se potom jedná o backdoor, který je automaticky spouštěn při staru. Na stanici s operačním systémem Windows toho může být docíleno například tím, že je backdoor spouštěn jako systémová služba či modifikací AutoRun klíčů v rámci registrů. Takový malware je v síti nasazen jako předmostí pro podnikání dalších útoku v rámci interní sítě.
Command and Control
Malware nainstalovaný v předchozí fázi naváže komunikaci směrem do Internetu na server Red Teamu. Comand and Control (C2) server slouží k vzdálenému ovládání malware v síti a to obvykle skrze protokoly HTTP(s) či DNS. To z důvodu, že u těchto protokolů je nejmenší problém s odchozí komunikací směrem z interní sítě do Internetu. Red team zde stojí před otázkou, zda použít jeden z volně dostupných C2 (Empire Framework, Pupy, Koidac, …), komerční C2 (Cobalt Strike) či své vlastní inhouse řešení.
Actions on Objectives
Jakmile Red Team získá persistentní vzdálený přístup do cílové interní sítě, započne aktivity k dosažení předem stanového cíle – získání vlajky. Tyto aktivity zahrnují interní průzkum sítě, nepozorované šíření (lateral movement), sběr uživatelských účtů a hesel, eskalaci privilegií a ve finální fázi potom exfiltraci dat.
Red Teaming je ve v rámci československého trhu nastupující službou, která však do několika let bude považována zcela za běžnou, jakou jsou v dnešní době penetrační testy. Red Teaming nemá za úkol zcela nahradit penetrační testy, spíše nabízí komplexní doplňkovou službou v reakci na moderní sofistikované kyber útoky.