Samy kamkar (slavný výzkumník zabezpečení známý pro vytváření různých sofistikovaných útočných zařízení, jako je keylogger na nabíječce telefonu USB) představil novou útočnou techniku nazvanou „NAT slipstreaming“.
Útok umožňuje při otevření stránky v prohlížeči navázat spojení ze serveru útočníka na libovolný port UDP nebo TCP v systému uživatele umístěný za překladačem adres. Sada nástrojů Attack Toolkit je publikována na GitHubu.
Metoda spoléhá na oklamání mechanismu sledování připojení ALG (Gateway na úrovni aplikace) v překladačích adres nebo branách firewall, který se používá k organizaci předávání NAT protokolů, které používají více síťových portů (jeden pro data a druhý pro řízení), jako je SIP. H323, IRC DCC a FTP.
Útok je použitelný pro uživatele, kteří se připojují k síti pomocí interních adres z rozsahu intranetu (192.168.xx, 10.xxx) a umožňuje odesílání jakýchkoli dat na libovolný port (bez hlaviček HTTP).
Chcete-li provést útok, stačí, aby oběť provedla kód JavaScript připravený útočníkemNapříklad otevřením stránky na webu útočníka nebo prohlížením škodlivé reklamy na legitimním webu.
V první fázi útočník získá informace o interní adrese uživatele, To lze určit pomocí WebRTC nebo, pokud je WebRTC deaktivováno, útoky hrubou silou s měřením doby odezvy při požadavku na skrytý obrázek (u stávajících hostitelů je pokus o vyžádání obrázku rychlejší než u neexistujících z důvodu časového limitu před návratem odpověď TCP RST).
Ve druhé fázi kód JavaScript provedeno 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 k zahájení ladění parametrů fragmentace TCP a velikosti MTU na zásobníku TCP oběti.
V odpověď, server útočníka vrátí paket TCP s možností MSS (Maximální velikost segmentu), která určuje maximální velikost přijatého paketu. V případě UDP je manipulace podobná, ale spoléhá se na odeslání velkého požadavku WebRTC TURN ke spuštění fragmentace na úrovni IP.
«NAT Slipstreaming využívá prohlížeč uživatele ve spojení s mechanismem sledování připojení Application Level Gateway (ALG) zabudovaným do NAT, routerů a firewallů zřetězením interní extrakce IP prostřednictvím časového útoku nebo WebRTC, zjišťování fragmentace automatizované vzdálené IP a MTU, TCP masírování velikosti paketu, zneužití autentizace TURN, precizní kontrola limitů paketů a záměna protokolu ze zneužití prohlížeče, “uvedl Kamkar v analýze.
Hlavní myšlenka je který, protože zná parametry fragmentace, může odeslat velký požadavek HTTP, jehož fronta spadne na druhý paket. Zároveň je vybrána fronta, která jde do druhého paketu, takže neobsahuje záhlaví HTTP a je oříznuta na datech, která zcela odpovídají jinému protokolu, pro který je podporován průchod NAT.
Ve třetí fázi pomocí výše uvedené manipulace kód JavaScript vygeneruje a odešle speciálně vybraný požadavek HTTP (nebo TURN pro UDP) na port TCP 5060 serveru útočníka, který bude po fragmentaci rozdělen do dvou paketů: a paket s hlavičkami HTTP a částí dat a platný paket SIP s interní IP oběti.
Systém pro sledování připojení na síťovém zásobníku bude tento paket považovat za začátek relace SIP a umožní předávání paketů pro jakýkoli port vybraný útočníkem, za předpokladu, že se tento port použije pro přenos dat.
Útok lze provést bez ohledu na použitý prohlížeč. Abychom tento problém vyřešili, navrhli vývojáři Mozilly blokování možnosti odesílat požadavky HTTP na síťové porty 5060 a 5061 spojené s protokolem SIP.
Vývojáři motorů Chromium, Blink a WebKit také plánují implementovat podobné ochranné opatření.
zdroj: https://samy.pl