Prezentēta Mitmproxy 11 projekta izlaišana, kas attīsta rīkus trafika pārtveršanai HTTPS savienojumos, ar iespēju pārbaudīt, modificēt un atkārtoti reproducēt trafiku. Galvenais Mitmproxy mērķis ir organizēt trafika uzraudzību korporatīvajās sistēmās un diagnosticēt problēmas, piemēram, atklāt slēptu tīkla aktivitāti lietojumprogrammās. Projektā izmantotie avoti ir uzrakstīti Python valodā un izplatīti saskaņā ar MIT licenci.
HTTPS trafika analīzei Mitmproxy tiek izvietots tranzīta mezglā, kur tas pārtver klienta pieprasījumus un pārraidīt tos kā savus pieprasījumus uz mērķi. serverim. Saistībā ar pieprasīto serveri Mitmproxy izveido parastu HTTPS savienojumu, bet ar klientu izveido viltus savienojumu ar uzliktu SSL sertifikātu, kas tiek ģenerēts klientam uz vietas. Klienta pārsūtītais trafiks tiek novirzīts uz mērķa serveri, bet saņemtās atbildes tiek atkārtoti sūtītas klientam.

Lai novirzītu trafiku caur mitmproxy, tiek atbalstīti vairāki paņēmieni, piemēram, mitmproxy adreses norādīšana kā HTTP starpniekserveris pārlūkprogrammas iestatījumos, darbība kā SOCKS5 starpniekserveris, izmantošana kā apgrieztais starpniekserveris pirms HTTP servera, un caurspīdīgas caurlaišanas organizēšana ar paketes filtrēšanas noteikumiem vai maršrutēšanas apņemšanu. Lai izmantotais viltus sertifikāts savienojumā ar klientu neradītu pārlūkprogrammai brīdinājumus par savienojuma drošības problēmām, lietotājam tiek ieteikts uzstādīt mitmproxy saknes sertifikātu, ko var izdarīt gan manuāli, gan atverot pārlūkā īpašu mitm.it hostu.

Mitmproxy atbalsta HTTP/2, HTTP/3, Websockets, pakotņu secības normalizāciju straumē, skriptu apstrādātāju pievienošanu trafika modificēšanai uz vietas, pieprasījumu saglabāšanu turpmākai atkārtotai reproducēšanai, ģenerēšanu TLS sertifikātiem tika iejauktiem sesijām, galvenes laika tīrīšanai, lai atslēgtu kešatmiņu klienta pusē, apgriezto starpniekservera režīms (Reverse proxy), lai novirzītu trafiku uz serveri, bloķēšanas saraksti, lai filtrētu noteiktus pieprasījumus, selektīva pieprasījumu novirzīšana (ieskaitot lokālo failu atgriešanu), satura un galvenes maiņa, pamatojoties uz regulārajiem izteiksmēm. Trafika analīzei tiek piedāvāta līdzīga tcpdump utilīta komandrindā mitmdump un web-interfeiss mitmweb.


Galvenais uzlabojums jaunajā versijā ir pilnīga HTTP/3 protokola atbalsts, kurā tiek izmantots QUIC (Quick UDP Internet Connections) kā transports HTTP/2 (QUIC ir augstākā slāņa protokols virs UDP, kas atbalsta daudzu savienojumu multiplexing un nodrošina šifrēšanas metodes, kas ir līdzvērtīgas TLS/SSL). Mitmproxy ļauj izmantot gan caurspīdīgu trafika ķeršanu, gan darbu kā apgriezto starpniekserveri HTTP/3. HTTP/3 trafika ķeršana ir pārbaudīta Firefox, Chrome un dažādās cURL versijās.
Citi nozīmīgi uzlabojumi jaunajā versijā ir saistīti ar DNS atbalsta uzlabošanu attiecībā uz HTTPS un ECH (Encrypted Client Hello) ierakstu izvietošanu DNS. Jaunajā versijā ir pievienota atbalsts DNS ierakstu pieprasījumiem, kas atšķiras no A/AAAA (piemēram, ECH informācija par atslēgu šifrēšanu tiek nodota DNS ierakstos HTTPSSVC). Ir pievienots ECH atslēgu tīrīšanas režīms no HTTPS ierakstiem DNS. DNS apstrādei ir veikts pārejais uz Rust valodā rakstīto Hickory bibliotēku, kuru attīsta Let's Encrypt projekts. Ir pievienots supports DNS-over-TCP. Ir izstrādāta opcija, lai atslēgtu iestatījumu apstrādi no /etc/hosts.
Avots: opennet.lv
