tom@home.htb:~$

Blog o HTB

2 November 2020

Impacket pro vzdálené vykonávání a SMB pomocné workflow

Úvod a kontext

Jiná část Impacketu dává smysl až ve chvíli, kdy už máte použitelný účet nebo hash a potřebujete z něj udělat vzdálené vykonávání nebo technický SMB mezikrok. Sem patří hlavně psexec.py, wmiexec.py, smbexec.py a impacket-smbserver. Nejde o jednu kategorii exploitu. Jde o čtyři různé způsoby, jak převést existující identitu do praktické práce s cílovým Windows hostem.

Na Bankrobberu se tyto utility objevují jako přirozené pokračování po získání účtu. Na Driveru a Resolute je zase dobře vidět role impacket-smbserver jako jednoduchého doručovacího kanálu. Tato rodina je praktická hlavně proto, že řeší úplně obyčejnou, ale kritickou otázku: jak z existujících creds udělat použitelnou interakci s hostem.

Co tyhle utility v praxi řeší

Prakticky pokrývají dvě sousední potřeby:

To je důležité oddělit od jiných AD nástrojů. Tady už nejde o enumeraci nebo dump tajemství. Jde o to, jak s už získanou identitou nebo hashem skutečně pracovat.

Nejčastější scénáře využití v tomto projektu

psexec.py, wmiexec.py, smbexec.py: převod účtu na vzdálené vykonávání

Na Bankrobberu se právě tato trojice přirozeně objevuje jako sada kandidátů, jak z nového přístupu udělat shell nebo příkazový kanál.

Každý z nástrojů řeší podobný cíl trochu jinak:

Praktický rozdíl nebývá “který je nejlepší obecně”, ale “který se hodí na konkrétním hostu, s konkrétním účtem a konkrétním typem oprávnění”.

Na hostech, kde je otevřený WinRM, může být pohodlnější Evil-WinRM. Když ale WinRM není k dispozici nebo potřebujete jiný typ přístupu, sahá se právě po této Impacket trojici.

impacket-smbserver: rychlé doručení souboru cílovému hostu

Na Driveru je role impacket-smbserver velmi čistá. Pro PrintNightmare bylo potřeba vystavit škodlivou DLL přes SMB share:

impacket-smbserver data .

Na Resolute se stejný pattern objevuje u DLL pro DNS plugin. V obou případech je hlavní hodnota nástroje v jednoduchosti: během několika vteřin vytvoříte SMB share, ze kterého si cílový host může načíst soubor.

To je přesně důvod, proč má impacket-smbserver vysokou praktickou hodnotu i mimo “velké” AD řetězce. Je to malý technický pomocník, který výrazně zjednoduší doručení dalšího kroku.

Volba mezi WinRM, SMB exec a pomocným share

V místních rozborech se pěkně opakuje jeden pattern:

Právě to je užitečný praktický rámec. Tyto utility neřeší stejný problém, i když všechny spadají do jednoho toolkitu.

Kdy jsou tyto utility nejlepší volba

Tahle rodina dává největší smysl tehdy, když:

Naopak nedávají smysl jako náhrada za první enumeraci nebo za privilege analysis. Když ještě nevíte, zda účet vůbec k něčemu vede, je brzy je vytahovat.

Nejčastější chyby v praxi

Zaměnění všech tří exec utilit za totéž

psexec.py, wmiexec.py a smbexec.py mají podobný výsledek, ale jinou provozní stopu a jinou vhodnost podle cíle. Vyplatí se vybírat podle kontextu, ne podle zvyku.

Ignorování jednoduššího kanálu

Když už běží WinRM, bývá pohodlnější Evil-WinRM. Když jde jen o doručení souboru, často stačí impacket-smbserver bez složitějšího exec workflow.

Přeskakování technického mezikroku

Na Driveru a Resolute je hezky vidět, že SMB helper může být stejně důležitý jako samotný exploit. Bez něj by cílový host neměl odkud načíst DLL nebo jiný payload.

Související články v projektu

Co si odnést do praxe

Další Související Články V Projektu

HTB Stroje

Techniky

Nástroje

tags: nastroje - windows - smb - winrm - lateral-movement - execution