tom@home.htb:~$

Blog o HTB

25 November 2020

sslscan

Úvod a kontext

sslscan je úzký, ale velmi praktický nástroj pro situaci, kdy problém neleží v samotné aplikaci, ale v tom, jak se k ní připojit přes TLS. Nepomůže najít webový exploit a neotevře shell. Pomůže ale rychle zjistit, které verze protokolu, cipher suite a certifikátové parametry cílová služba skutečně přijímá.

Na Fatty byl právě tohle klíčový detail. Starý Java klient i server trvali na TLSv1.0 a cipheru AES128-SHA. Bez takového ověření bylo snadné uvíznout v dojmu, že proxy nebo MITM nefunguje, i když problém ve skutečnosti ležel v nekompatibilním TLS nastavení. Samotný aktivní MITM krok pak řešil až sslsplit.

Co tenhle nástroj v praxi řeší

sslscan má největší praktickou hodnotu ve chvíli, kdy potřebujete rychle zjistit:

To je důležité hlavně tehdy, když:

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

Potvrzení, že problém je v TLS kompatibilitě

Na Fatty měl klient fungovat přes starý Java stack a bylo nutné přizpůsobit proxy i MITM workflow. sslscan rychle ukázal, že server akceptuje jen TLSv1.0 a AES128-SHA:

sslscan 10.10.10.174:1337

Jakmile je tohle zřejmé, dává smysl přepnout ostatní nástroje do kompatibilního režimu. Bez toho by další experimenty vypadaly jako selhání proxy nebo certifikátu, i když skutečný problém byl nižší v transportní vrstvě.

Rychlé ověření, jestli dává smysl ladit certifikáty nebo cipher

V praxi je velmi častý omyl, že se problém přisoudí certifikátu, i když server ve skutečnosti odmítá verzi TLS nebo konkrétní cipher. sslscan právě tenhle zmatek rychle rozbije. Pomůže určit, jestli:

Kdy je sslscan nejlepší volba

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

Naopak není vhodný jako náhrada za hlubší TLS analýzu nebo jako obecný síťový skener. Je to rychlý diagnostický nástroj pro velmi konkrétní otázku.

Nejčastější chyby v praxi

Řešení aplikace, když problém leží v transportu

Na Fatty by bez sslscan bylo snadné trávit čas dekompilací klienta nebo laděním proxy, i když první problém byl prostě starý TLS profil.

Předpoklad, že moderní klient vždy funguje

Starší interní služby, Java klienti nebo proprietární protokoly často stojí na parametrech, které moderní nástroje ve výchozím stavu odmítají. sslscan je rychlý způsob, jak to potvrdit.

Zaměnění podpory cipher za funkční celkový řetězec

To, že server podporuje určitý cipher, ještě neznamená, že máte vyřešenou certifikační část nebo klientský handshake. Je to jen první potvrzení kompatibility.

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 - certificates - transport - crypto