Kácelo se v našem lese

☠ Tak už se kácelo i v našem lese! Minulý týden se podařilo hackerům prolomit a zašifrovat jeden server u našeho zákazníka. Často to píši a věřím, že sdílení zkušeností je cesta, jak se společně posouvat vpřed. Teď a tady proto předkládám naši zkušenost.

1️⃣ Jak se útočníci dostali na server

Jak se útočníci dostali na server, bylo to první, co nás zajímalo. Nebyli jsme si vědomi, že bychom něco zanedbali. Při vyšetřování incidentu se „naštěstí“ ukázalo, že se jednalo o „supply chain“ útok.

Útočníci na server „zaútočili“ skrze dodavatele IS a jeho přístupové údaje. Slovo zaútočili, dávám do uvozovek schválně, protože když máte k něčemu administrátorský přístup, není to zrovna hackování.😊

Obdobný vektor útoku není nic nového (viz můj článek „Jak hackeři napadají firmy skrze jejich IT dodavatele„). Jen z naší zkušenosti mají dodavatelé častěji štěstí a útočníci si nevšimnou, že se z nich dá „vytěžit“ mnohem víc (jejich zákazníci). Bohužel tento dodavatel toto štěstí neměl a krom jeho samotného zašifrovali útočníci minimálně jednoho jeho zákazníka.

Proč píši minimálně? Jde o to, že dodavatelova prvotní reakce byla ve smyslu „o ničem nevíme, u nás se nic nestalo“. 🤥 Nicméně logy a stopy z napadeného serveru ukázaly jeho směrem. Útočníci nejenže použili jeho přihlašovací údaje, ale zároveň podnikli útok přímo z jeho sítě (počítačů). Stejně tak přestali být dostupné webové stránky dodavatele.

Dodavatel se nakonec k napadení své sítě přiznal. Avšak rozsah napadení (ve své síti i u svých zákazníků), prvotní vektor průniku a provedená opatření si nechává pro sebe. Nabízeli jsme jim pomoc a ptali jsme se po více informacích, ale prý mají vše pod kontrolou. Osobně mě jejich přístup moc neuklidňuje.🙄

Ostatně „máme to pod kontrolou“ slýcháme snad po každém útoku. Jen mi vrtá hlavou, proč když to mají pod kontrolou (myšleno rozumí bezpečnosti), k tomu útoku vůbec došlo. 🤷🏼‍♂️

2️⃣ Jak vyřadili ESET antivirus

Na serveru jsme měli nasazený antivirus ESET Server Security (aktuální verzi) s konfigurací (tudíž i odinstalací) chráněnou heslem. Nicméně útočníkům se podařilo antivirus zničit.

Jasně, vím, když má někdo administrátorská oprávnění, je to jen otázka času a úsilí. Nicméně:

  • Není to zase tak jednoduché, že by stačilo otevřít správce úloh a antivirus jednoduše ukončit. ESET (ale i ostatní antiviry) mají v sobě sebeobranné mechanismy, které se snaží antivirus před útočníky ubránit. Například ESET využívá i funkcionalitu Windows „protected service„.
  • Když to srovnám s jinými útoky, co jsme řešili, tak zde útočníci předvedli rozhodně mnohem více úsilí a schopností. Celý útok, včetně vyřazení AV a nasazení ransomware, jim zabral pouze jednu hodinu.
  • Doufali jsme, že správně nakonfigurovaný antivirus zaměstná útočníky na delší dobu než cca 20 minut. Zároveň jeho zničení provedli tak čistě, že antivirus do centrální konzole nezahlásil ani jednu událost, která by značila problém. Klobouk dolů.🎩

Přesný způsob, jak se útočníkům podařilo antiviru zbavit, nám stále není známý. Doufáme, že nám s analýzou pomohou z ESETu. Můj tip je, že si útočníci na server přinesli vlastní ovladač (běžící v kernel mode), který následně instruovali ke zničení ESETu. Avšak i tak, potřebujete ovladač/tool, který AV před svým zničením nedetekuje.

Na toto téma jsem měl v šuplíku jedno PoC. Vzniklo po diskuzi s kolegou, který věřil, že se antivirus nedá ze systému vymazat (bez nouzového režimu). Jen nebyl čas to PoC dotáhnout. Nicméně, tento útok změnil priority a zde máte dané PoC:

3️⃣ Co zafungovalo

Jelikož se na takové věci připravujeme a často po útocích pomáháme jiným firmám, reakce se nám podařila a během hodiny byl server opět online.

Hackerům se na prostředí zákazníka nepodařilo udělat lateral movement (dostat na další servery). Na tomhle si dáváme záležet – na serverech se nevyskytují žádné další přístupové údaje ani uživatelské účty, které by jim umožnili postoupit dále v síti (viz článek „Zabezpečení sítě: Tierování a PAW„). Útok tak zůstal izolován pouze na jednom serveru.

Poslední dva roky jsme investovali hodně úsilí do zálohovací infrastruktury u nás i našich zákazníků. V podstatě většina primárních zálohovacích úložišť je SSD only a propojena skrze 10 Gbps linky. Běžné zálohy (s využitím CBT) nám trvají řádově minuty a celá zákaznická prostředí obnovíme zpravidla do 2 hodin. Což je velký pokrok od doby, kdy jsme skrze celou noc obnovovali Exchange server po havárii a hypnotizovali hodiny – s tím jestli se to dokončí dřív, než lidi přijdou do práce.

Aby se nám dobře spalo, tak jsme si v datacentru zavedli vlastní „Veeam Hardened Repository„, kam zálohujeme všechny zákazníky. Tyto repositáře slouží jako naše „Noemova archa“, kde zálohy přežijí i kompletní ransomware útok na zákazníka. Zúročili jsme tak má zjištění z přednášky „Zálohy, které nepřežijí ransomware„, ve které jsem demonstroval možnosti a taktiky hackerů.

Obnovit server ze zálohy tak zabralo 3 minuty a 44 vteřin. Přičemž zákazník přišel o data (RPO) za poslední 3 hodiny. Nejspíše bychom zvládli ztrátu dat srazit i na 1 hodinu (k zálohám máme i snapshoty na produkčním storage). Nicméně po rychlé poradě padla volba na starší bod obnovy (rychlá kalkulace mezi náklady na nedostupnost systému, důležitost obětovaných dat a pravděpodobnost, že daný recovery point je kompromitovaný).

4️⃣ Co jsme si z útoku odnesli

Samozřejmě, že po útoku jsme strávili několik hodin diskuzí ve smyslu „co by kdyby“. Rádi bychom měli ideální prostředí, ale realita je prostě komplexní záležitost. Rádi bychom u zákazníků měli dodavatele, kterým můžeme důvěřovat. Z naší strany jsme ochotni jim i se spoustou věcí pomoci, ale musí o tom být zájem i na jejich straně.

Trh s tematickými IS bohužel není často příliš konkurenční, aby při výběru mohlo hrát roli, jak se staví dodavatel k bezpečnosti. Zákazníci bývají vůbec rádi, že pro ně má vůbec někdo funkční řešení, které bude fungovat pro jejich „use case“ (situaci / případ užití). Zajistit bezpečnost je tak primárně na nás.

Po tomto incidentu přemýšlíme, že bychom od všech dodavatelů našich zákazníků začali vyžadovat 2FA s využitím mobilních telefonů (TOTP/push notifikace). Aktuální situace je, že už 2FA mají, nebo je jejich přístup omezen pouze na konkrétní IP adresu.

Omezení přístupu na IP je určitým způsobem také druhý faktor (něco mít). Jen jsme nečekali, že útočníci využijí k útoku na zákazníky přímo počítače napadeného dodavatele (tudíž měli jeho IP).🤦🏼‍♂️

Dalším možným opatřením je omezit dodavatelské přístupy pouze na pracovní dobu. Reálně to nemá tak velký přínos, ale na druhou stranu je to snáze aplikovatelné.

Ono se totiž řekne, že nasadit 2FA není těžké. Jakmile se však začnou věci promýšlet do detailu, začne se to komplikovat. Například od jednoho dodavatele se nám už vrátila odpověď, že kvůli výdrži baterky nepoužívají smartphony…

Také bychom byli rádi, kdyby nám ESET pomohl s analýzou toho, jak útočníci antivirus vypnul. A implementoval opatření do svého antiviru. Přeci jen víc času na detekci a včasné zastavení útoku se vždycky hodí.😊

Závěr

Tak to byla naše zkušenost a naše myšlenkové pochody. Co si o tom myslíte? Dělali byste něco jinak? Už máte také osobní zkušenost se „suplly chain“ útokem? Budu rád když mi napíšete do komentářů níže, nebo na mail.

Ať jsou vaše sítě bezpečné,

Martin

Líbí se vám témata, o kterých píši?

Abyste nemuseli kontrolovat, jestli už vyšel nový článek, rád vám ho ihned po zveřejnění pošlu do e-mailu. Každý kontakt, který mi poskytnete, si nechám vždy jen pro sebe.

Diskuze k článku

Roman Krutina

31. 01. 2022 v 08:31

Dobré ráno Martine,
nevím, jestli je to náhoda, ale cca. v posledních 14. dnech jsme tohle u jednoho malého zákazníka zaregistrovali. Systém mají „hostovaný“ u poskytovatele IS = vystrčené RDP do internetu :-). No chvíli neprodávali, pak to údajně dali „do kupy“ a jede se dál, stejně jako předtím :-).

Odpovědět

Odpovědět

Martin Haller

31. 01. 2022 v 10:02

Možná máme společné „známé“ 😂.

Odpovědět

Odpovědět

Lukáš

31. 01. 2022 v 09:52

Problém s 2FA u uživatelů, kteří nepoužívají/nechtějí aplikaci ve smartphonu chceme řešit OTP klíčenkou, která generuje kód. Sice to nepovažuji tak bezpečné jako aplikaci ve smartphonu (klíčenku přeci jen můžou nechat někde ležet), ale bereme to jako schůdnou alternativu.

Odpovědět

Odpovědět

Martin Haller

31. 01. 2022 v 10:05

Taky jsem nad tím přemýšlel. Ty HW tokeny mají výhodu, že se nedají na dálku hacknout (což se nedá říct o každém smartphonu). Nevýhodou zase je, že kdo se k nim fyzicky dostane, dokáže si sám generovat kód (jak píšete).

Tím, že se bojíme hlavně útoků na dálku, tak by nás asi tolik netrápilo, že HW token bude ležet hned vedle PC.

Odpovědět

Odpovědět

Martin M

31. 01. 2022 v 12:38

I kdyby ležel zapojený přímo v USB portu počítače, tak i ty ne-biometrické U2F/FIDO2 tokeny přece mají tlačítko, kde uživatel musí na výzvu v prohlížeči/aplikaci to tlačítko co se rozbliká zmáčknout a tím přihlášení potvrdit.
Ty dražší tokeny místo prostého tlačítka mají dedikovanou čtečku otisků prstů a to je pak robustní i před odcizením toho tokenu. V těchto U2F s dedikovanou čtečkou otisků prstů vidím aktuálně nejrobustnější a uživatelsky srozumitelnou technologii 2FA. Jen mě mrzí, že tyhle U2F+biometrické tokeny (např. https://www.yubico.com/cz/store/#yubikey-bio-series-fido-edition) jsou docela drahé, abych je hromadně nakoupil, pro 100 lidí najednou to je docela raketa jako jednorázová investice (85 EUR × 100 = 8500 EUR…)

Odpovědět

Odpovědět

Martin Haller

31. 01. 2022 v 12:49

Já si původně představoval takové ty prapůvodní HW TOTP generátory s jedním tlačítkem.

Co se týče těch FIDO2, tak ty se mi taky moc líbí. Myslím, že by to mohla být budoucnost. Mohou nám pomoci i s phishingem.

Já používám „Kensington VeriMark Guard USB-C Fingerprint Key“ za cca 1.300 Kč (jen je nevýhoda chybějící software pro nějakou lepší správu).

Co se týče ceny, tak mi to nepřijde tak špatné. Většina 2FA se stejně musí licencovat. Ať už jednorázově, nebo v měsíční platbě.

V přednášce o passwordless ukazoval Michale Grafnetter i další zařízení jiných výrobců (https://wug.cz/zaznamy/677-WUG-Days-2020-Svet-bez-hesel-Uz-tam-budem). Věřím, že při 100 ks se sežene dobrá množstevní cena :).

Odpovědět

Odpovědět

Josef Novák

16. 07. 2022 v 06:09

Čtečkám otisků prstů jsem věřil do té doby, než mi moje vnučka přímo před mýma očima šmatláním po displeji odblokovala takhle chráněný telefon. Od té doby téhle technologii moc nevěřím. Možná není čtečka jako čtečka. Na nějaké jejich testy jsem ale zatím nenarazil.

Odpovědět

Odpovědět

Martin Haller

17. 07. 2022 v 20:50

Jak píšete, není čtečka jako čtečka. Stejně tak i kvalita technologií pro odemykání obličejem se liší.

Odpovědět

Odpovědět

Jarda Kuba

31. 01. 2022 v 12:16

Před časem jsem narychlo psal věc, která trůnila před RDP a k přihlášení pustila jen člověka, který se už přihlásil do webové služby (webmailu) v jiné lokalitě. I takováto blbinka často pomůže a v Golangu je to hotové razdva. Jinak máte moc hezky řešené zálohy. 🙂

Odpovědět

Odpovědět

Martin Haller

31. 01. 2022 v 12:40

To je taky možnost 👍🏼.

Odpovědět

Odpovědět

Martin M

31. 01. 2022 v 12:44

I když tady když to znovu čtu asi chápu že má jít o ty TOTP – generátory číselných kódů, jako jsou ty klasické RSA SecurID (700 Authenticator). I tam se ale dělávaly verze těchto tokenů, co kdysi dávno rozdávala tuším Česká spořitelna, co nezobrazovaly ty TOTP samy od sebe, ale až po zadání nějakého PINu na integrované mini klávesnici. Donedávna jako druhý faktor do internetového bankovnictví ty RSA hardwarové TOTP tokeny (ale ten základní model 700) rozdávala Sberbank. Už i ti s tím přestali a převedli klienty na mobilní aplikace.

Odpovědět

Odpovědět

Martin Haller

01. 02. 2022 v 09:06

Ano, tyto tokeny jsem myslel, jen jsem nevěděl, že se dělaly i modely s klávesnicí.

Odpovědět

Odpovědět

Jiří Švejda

01. 02. 2022 v 14:30

„Zároveň jeho zničení provedli tak čistě, že antivirus do centrální konzole nezahlásil ani jednu událost, která by značila problém.“

A nějakého agenta, nebo něco, co by hlídalo, že proces antiviru běží/neběží nemáte?

Odpovědět

Odpovědět

Martin Haller

01. 02. 2022 v 15:08

To máme, ale to co nemáme je 24×7 dohledové centrum 😁.

Odpovědět

Odpovědět

Pavel Hůla

04. 02. 2022 v 00:47

Tak to klidu na spaní moc nepřidá :). Ale rychlost obnovy je naprosto super, včetně Noemovy archy. Palec hore Martine. Kdyby se pak podařilo zjistit, jak to sundali, tak to bych to rád viděl, pokud k tomu teda budeš dělat video 🤔😊.

Odpovědět

Odpovědět

Martin Haller

07. 02. 2022 v 11:55

Řešil jsem to s ESETem, ale na nic se nepřišlo – je to tedy stále záhadou 🤷🏼‍♂️. V ESETu prý pracují na tom, jak by mohli zlepšit obranu ESETu. Nedávno k problematice ovladačů vydali i článek https://www.welivesecurity.com/2022/01/11/signed-kernel-drivers-unguarded-gateway-windows-core/ .

Odpovědět

Odpovědět

Jaromír Kubík

07. 02. 2022 v 11:38

Ohledně odinstalace ESETu. Myslím, že lze tuto ochranu před odinstalací/změnou nastavení jednoduše obejít nasazením vlastního Management Agenta a přesměrováním komunikace na jiný ESET Protect Server.
Nic z toho není chráněno heslem.

Přemýšlel jsem, že to ESETu odreportuji jako možné bezpečnostní riziko.
j.

Odpovědět

Odpovědět

Martin Haller

07. 02. 2022 v 11:53

Dobrý nápad, to mě nenapadlo 👍🏼. Určitě to bude fungovat v případě, když na stanici ještě management agent nebude. Nicméně pokud tam už je, tak si myslím, že jeho odinstalace/změna je chráněna taky tím konfiguračním heslem, ne?

Odpovědět

Odpovědět

Jaromír Kubík

07. 02. 2022 v 20:16

Právě že ne. Vždy, když jsme přebírali správu u nového zákazníka, stačilo právě jen přeinstalovat Management agenta, ochrana heslem se na něj nevztahuje.

Odpovědět

Odpovědět

Martin Haller

08. 02. 2022 v 08:48

Aha, zajímavé zjištění 👍🏼. Díky za info, zařadím si to do seznamu věcí co někdy zkusit 😊.

Odpovědět

Odpovědět

Filip Danko

12. 02. 2022 v 21:11

Odinstalaci/reinstalaci management agenta lze pochopitelně chránit heslem. Jedná se pouze o úpravu konfigurace pomocí aplikované politiky z pohledu centrální správy ESET PROTECT. https://help.eset.com/protect_admin/90/en-US/fs_agent_deploy_password_protection.html

Odpovědět

Odpovědět

Martin Haller

13. 02. 2022 v 11:23

Filipe, díky za upřesnění 👍🏼.

Odpovědět

Odpovědět

Vaclav

21. 02. 2022 v 23:06

Co jsem naposledy zkoušel obejít ESET, tak stačí v powershellu vyřadit AMSI (one-liner). Pak si v tom procesu powershellu může člověk spouštět, co chce a nemusí ani nic stahovat, aby mu do toho ESET nekecal 🙂

Odpovědět

Odpovědět

Martin Haller

22. 02. 2022 v 08:41

Díky za tip 👍🏼

Odpovědět

Odpovědět

Martin B.

20. 03. 2022 v 00:58

Zdravím,
od té doby co mi eset nenašel vira na DVD mu nedůvěřuji – řešil jsem to i přímo s jejich technickou podporou. Jelikož se počítači a programováním zabývám už od osmé třídy, tak tuším , kde měli chybu. To co se stalo vám mi potvrzuje, že eset není dobrý. Stejně jako neveřím avastu a avg, naposledy co jsem měl dotaz na INVEXU a lidé z avg mě zazdili. Sláva „Tří psů“ v sys. DOS je již pryč.

Odpovědět

Odpovědět

Martin Haller

21. 03. 2022 v 10:43

Nj. taky si pamatuji dobu kdy si člověk kupoval časopis Chip s CD aby si z něj aktualizoval antivirovou databázi 😅.

On žádný AV nebude 100%. Situace se nám teď i hodně komplikuje s tím, jak se útočníci zlepšují a používají stále více běžných toolů při svých útocích. U firem kde jsou data důležitá, či výpadek systémů by byl drahý se EDR nevyhneme.

Odpovědět

Odpovědět

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

Hack The Box OSCP MCSE CHFI ECSA CCNP CCNA