Byla odhalena nová varianta útoku vklouznutí do sítě NAT, který umožňuje navázat síťové připojení ze serveru útočníka na libovolný port UDP nebo TCP v systému uživatele, který otevřel webovou stránku připravenou útočníkem v prohlížeči.
Útok umožňuje útočníkovi posílat data na libovolný port uživatele, bez ohledu na použití vnitřního rozsahu adres oběti v systému oběti, přístup k síti, ze které je uzavřena přímo, a je možný pouze prostřednictvím překladače adres.
Princip fungování nové varianty útokem NAT slipstreaming (CVE-2021-23961, CVE-2020-16043) aje totožný s původní metodou, rozdíly se omezují na použití jiných protokolů, které zpracovává ALG (Brány na úrovni aplikace).
V první variantě útoku byla k oklamání ALG použita manipulace s protokolem SIP, který využívá několik síťových portů (jeden pro data a druhý pro ovládání). Druhá možnost umožňuje podobné manipulace s protokolem VoIP H.323, který používá TCP port 1720.
Také druhá verze navrhuje techniku, jak obejít černou listinu portů, které jsou nepřijatelné pro použití s protokolem TURN (Traversal Using Relays around NAT), který se ve WebRTC používá ke komunikaci mezi dvěma hostiteli za různými NAT.
Připojení TURN ve WebRTC lze navázat prostřednictvím prohlížečů nejen pro UDP, ale také přes TCP a přejděte na libovolný síťový port TCP.
Tato funkce umožňuje aplikovat útoky typu „slipstreaming“ NAT nejen na H.323, ale také na jakýkoli jiný kombinovaný protokoljako jsou FTP a IRC, které jsou zahrnuty v seznamu portů, ke kterým není povolen přístup přes HTTP, ale nejsou zahrnuty v seznamu zakázaných portů pro TURN.
Metoda také umožňuje obejít přidanou ochranu prohlížečů proti prvnímu útoku typu NAT, založeném na odmítnutí požadavků HTTP na port 5060 (SIP).
Problém již byl vyřešen v posledních verzích Firefoxu 85, Chrome 87.0.4280.141, Edge 87.0.664.75 a Safari 14.0.3.
Kromě síťových portů přidružených k protokolu H.323 jsou prohlížeče také blokovány v odesílání požadavků HTTP, HTTPS a FTP na porty TCP 69, 137, 161 a 6566.
V linuxovém jádře, funkce modulu conntrack ALG v netfilteru je zakázána ve výchozím nastavení od verze 4.14, tj. Ve výchozím nastavení není problém s překladači adres založenými na nových linuxových jádrech.
Např OpenWRT není ovlivněn problémem ani při instalaci balíčků s moduly ALG. Zároveň se tato chyba zabezpečení projevuje v distribuci VyOS, která používá jádro Linuxu 4.14, ale je výslovně povolen příznak nf_conntrack_helper, který spouští ALG pro FTP a H.323.
Problém taky ovlivňuje mnoho spotřebitelských směrovačů dodávaných se staršími linuxovými jádry nebo které mění nastavení ALG. Schopnost útoku byla potvrzena také u hardwarových podnikových bran firewall a adresových překladačů Fortinet (FG64, 60E), Cisco (csr1000, ASA) a HPE (vsr1000).
Připomínáme, že k provedení útoku typu „streamstream“ NAT stačí, aby oběť spustila kód JavaScript připravený útočníkem, například otevřením stránky na webu útočníka nebo zobrazením škodlivého inzerátu na webu. Legitimní.
Útok se skládá ze tří fází:
- V první fázi útočník získá informace o interní adrese uživatele, které lze určit pomocí WebRTC, nebo pokud je WebRTC deaktivováno, útoky hrubou silou s měřením doby odezvy při vyžádání skrytého obrazu.
- Ve druhé fázi jsou určeny parametry fragmentace paketu, pro které kód JavaScript provedený v prohlížeči oběti generuje velký požadavek HTTP POST (který se nevejde do paketu) na server útočníka pomocí nestandardního čísla síťového portu ke spuštění konfigurace parametrů segmentace TCP a MTU velikost v zásobníku oběti TCP.
- Ve třetí fázi Kód JavaScript generuje a odesílá speciálně vybraný požadavek HTTP (nebo TURN pro UDP) na port TCP útočícího serveru 1720 (H.323), který se po fragmentaci rozdělí na dva pakety: první obsahuje hlavičky HTTP a část dat a druhý tvoří paket Valid H .323, který obsahuje interní IP oběti.
zdroj: https://www.armis.com