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ž:
- chcete aktivně interceptovat TLS komunikaci,
- máte k dispozici vhodný klíč a certifikát,
- potřebujete číst aplikační data, ne jen TLS parametry,
- a běžný proxy nástroj naráží na kompatibilitu nebo nestandardní klientské chování.
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á:
- nastavit kompatibilní TLS parametry,
- správně ukončit a znovu navázat spojení,
- a ukládat provoz tak, aby se dal dál analyzovat.
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ž:
- už víte, že klient a server komunikují přes TLS,
- potřebujete aktivní intercept místo pouhého handshake přehledu,
- máte certifikátový materiál nebo jinou důvěryhodnou pozici,
- a ostatní proxy nástroje narážejí na nestandardní transport nebo starý stack.
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
sslsplitje praktický nástroj na aktivní MITM nad TLS provozem, když už máte pod kontrolou vhodný certifikátový materiál.- Největší hodnotu má tam, kde potřebujete z neprůhledného spojení dostat čitelný aplikační protokol.
- Sám o sobě nic neláme. Navazuje až na správně pochopený trust model, kompatibilní TLS a připravené klíče.
Další Související Články V Projektu
Techniky
- SSRF, reverse proxy a localhost trust assumptions
- Port forwarding, proxy a protokolové mosty jako exploitační primitivum
- AD CS a certifikáty jako cesta k Administratorovi