tom@home.htb:~$

Blog o HTB

25 November 2020

sslsplit

Úvod a kontext

sslsplit je nástroj pro aktivní MITM nad TLS komunikací v situaci, kdy už máte pod kontrolou důvěryhodný certifikát nebo jiný způsob, jak se mezi klienta a server vložit. Není to skener a neřeší samotný foothold. Jeho hodnota leží v tom, že z neprůhledného šifrovaného provozu udělá čitelný aplikační protokol.

Na Fatty byl právě tohle rozhodující moment. Nestačilo vědět, že server používá staré TLS. Bylo potřeba dostat se mezi Java klient a backend tak, aby bylo možné číst a upravovat vlastní klientský protokol. sslsplit tu fungoval jako most mezi rozbaleným certifikátem a čitelným MITM logem.

Co tenhle nástroj v praxi řeší

sslsplit má praktický smysl hlavně tehdy, když:

To je důležitý rozdíl proti sslscan. sslscan vám řekne, jaké TLS server umí. sslsplit řeší, jak se do takové komunikace prakticky vložit.

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

MITM nad starým TLS klientem

Na Fatty byl první problém transportní: server přijímal jen TLSv1.0 a AES128-SHA. To rychle ověřil sslscan. Druhý problém byl aplikační: potřebovali jsme číst vlastní protokol mezi klientem a serverem.

Jakmile byl z fatty.p12 přes OpenSSL vytažen klíč a certifikát, nastoupil sslsplit:

sslsplit -k fatty.key -c fatty.crt -Z -D -P -L con.log -r tls10 -s AES128-SHA ssl 127.0.0.1 8000 10.10.10.174 1339

Tady je jeho praktická hodnota velmi čistá. Nástroj sám nic nevynucuje. Jen postaví funkční MITM mezi kompatibilního klienta a server a uloží čitelný provoz.

Překlenutí mezery mezi certifikátem a aplikací

V podobných scénářích bývá častý omyl myslet si, že jakmile máte certifikát, máte hotovo. Nemáte. Pořád zbývá:

Právě tady sslsplit dává smysl. Dělá z certifikátového materiálu skutečně použitelný MITM kanál.

Kdy je sslsplit nejlepší volba

sslsplit se vyplácí hlavně tehdy, když:

Naopak nedává smysl tam, kde ještě ani nevíte, jaké TLS parametry server akceptuje. V takové chvíli je první krok spíš sslscan.

Nejčastější chyby v praxi

Přeskakování TLS kompatibility

Na Fatty nešlo rovnou přejít k MITM. Nejdřív bylo potřeba potvrdit staré TLS parametry. Bez toho by sslsplit vypadal jako nefunkční, i když problém byl v nekompatibilním transportu.

Představa, že certifikát stačí sám o sobě

Certifikát a klíč jsou jen vstup. Praktický úspěch závisí na tom, zda je dokážete použít v kompatibilním MITM workflow.

Zaměnění MITM za debugging TCP vrstvy

sslsplit je užitečný tehdy, když potřebujete číst aplikační data uvnitř TLS. Pokud řešíte jen směrování, porty nebo forwarding, bývají vhodnější socat nebo chisel.

Související články v projektu

Co si odnést do praxe

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

Techniky

Nástroje

tags: nastroje - tls - ssl - mitm - proxy - certificates