ONE Jailbreak Ad

mitmproxy reverse engineering toolbox för appar API på iOS

Promotion image of mitmproxy article.

mitmproxy, utvecklad av Mitmproxy-projektet, är en kraftfull och interaktiv avlyssningsproxy som stöder SSL/TLS och tillhandahåller ett konsolgränssnitt för hantering av HTTP/1-, HTTP/2- och WebSocket-trafik. Det här verktyget är särskilt användbart för att samla in och analysera all data som utbyts mellan din iOS-enhet och externa servrar, vilket gör det till en ovärderlig resurs för reverse engineering av privata API:er inom applikationer.

Key Takeaways

  • mitmproxy stöder inte bara HTTP, HTTP/2, HTTP/3, utan även andra webbprotokoll som WebSocket, DNS, Generic TCP/TLS Proxy och Generic UDP/DTLS Proxy.
  • Python API låter dig skriva tillägg och skript med API som erbjuder full kontroll över mitmproxy och gör det möjligt att implementera dina egna kommandon.
  • Ett av huvudsyftena med mitmproxy är möjligheten att bakåtkompilera iOS-appars privata API med kryptering via Man In the Middle (MITM)-attack.
  • mitmproxy är ett kommandoradsverktyg, tillsammans med mitmweb, som tillhandahåller ett intuitivt webbgränssnitt liknande Chromes DevTools för att övervaka nätverkstrafik.

Ladda ner

mitmproxy kan installeras på alla populära skrivbordsplattformar, inklusive Windows, Linux och macOS. För de två första kan du använda ett dedikerat installationsprogram. mitmproxy för macOS rekommenderas att installeras via The Missing Package Manager för macOS – brew.

Översikt

Mitmproxy fungerar som en omfattande verktygslåda för att bakåtkompilera API:erna för applikationer som körs på iOS-enheter. Den består av tre nyckelmoduler: mitmproxy, mitmdump och mitmweb. Modulen mitmdump fungerar som kommandoradsmotsvarighet till mitmproxy, jämfört med tcpdump för HTTP. Samtidigt tillhandahåller mitmweb ett användarvänligt webbaserat gränssnitt för sömlös interaktion med mitmproxys funktioner.

En av de främsta fördelarna med mitmproxy är dess förmåga att generera ett root-SSL-certifikat som kan installeras på din iPhone-enhet. Denna unika funktion ger dig möjlighet att dekryptera HTTPS-kommunikation, vilket möjliggör en omfattande analys av alla appanslutningar till servrar.

Denna transparens är särskilt fördelaktig för reverse engineering av privata API:er, eftersom den underlättar en djup förståelse av de underliggande kommunikationsprotokollen. Dessutom kan mitmproxy användas för att avslöja specifika privata data som överförs av appen till externa servrar, såsom GPS-position, enhetstyp, iOS-version med mera.

skärmdump av mitmproxy.

En annan anmärkningsvärd funktion hos mitmproxy är dess förmåga att fånga upp och modifiera förfrågningar innan de skickas eller tas emot av servern. Denna funktion är särskilt värdefull i samband med säkerhetspenetrationstester, eftersom den tillåter användare att injicera anpassad kod i förfrågningarna. Denna dynamiska modifiering av förfrågningar ger ett praktiskt sätt att bedöma systemets motståndskraft mot olika säkerhetssårbarheter och hjälper till att identifiera potentiella svagheter som kan utnyttjas. mitmproxys flexibilitet i att ändra förfrågningar ökar dess användbarhet som ett kraftfullt verktyg i säkerhetsproffs och forskares arsenal.

Mitmproxy spelade en avgörande roll som ett av de primära verktygen som användes av Kasperskys säkerhetsforskare under Operation Triangulation . Dess funktioner var avgörande för att dekryptera HTTPS-trafik, vilket gjorde det möjligt för forskarna att spåra och analysera den självinstallerande Messages-skadliga programvaran på iOS-enheter som var utformad för att ta över iDevice spårlöst.

Info: mitmproxy stöder Windows-, macOS-, Linux-, iOS- och Android-enheter.

Dessutom underlättar mitmproxy realtidsövervakning och modifiering av förfrågningar, vilket möjliggör dynamiska justeringar under avlyssningsprocessen. Det är dock värt att notera att installationen av ett SSL-root-certifikat inte ger möjlighet att avlyssna HTTPS-trafik från Apple-tjänster, inklusive iMessage. Denna begränsning uppstår på grund av att iOS implementerar SSL-pinning för förbättrade säkerhetsåtgärder.

Nyheter

  • Lägg till stöd för redigering av icke-textfiler i en hex-editor.
  • Lägg till server_connect_error-krok som utlöses när anslutningen misslyckas.
  • Lägg till avsnitt i mitmweb för rendering, lägga till och ta bort en kommentar.
  • Åtgärda oanvändbarheten i formulärsvyn med flera delar.
  • Dokumentationsförbättringar vid generering av CA-certifikat.
  • Gör det möjligt att läsa flöden från stdin med mitmweb.
  • Uppdatera aioquic-beroendet till >= 1.0.0, < 2.0.0.
  • Åtgärda ett fel där async client_connected-hanterare kraschade mitmproxy.
  • Lägg till knapp för att stänga panelen för flödesinformation.
  • Ignorera SIGPIPE-signaler när det finns mycket trafik. Socketfel hanteras direkt och kräver inte extra signaler som genererar brus.
  • Lägg till primitiv websocket-avlyssning och modifiering.
  • Lägg till stöd för export av websocket-meddelanden när

Mitmproxy erbjuder möjligheten att fånga upp både HTTP- och HTTPS-förfrågningar och -svar, vilket möjliggör dynamiska modifieringar i realtid. Användare kan spara hela HTTP-konversationer för efterföljande uppspelning och djupgående analys. Verktyget stöder också uppspelning av klientsidan av en HTTP-konversation och kan reproducera HTTP-svar från en tidigare inspelad server. Dessutom har mitmproxy ett omvänt proxy-läge för att vidarebefordra trafik till en server.

På macOS och Linux tillhandahåller den ett transparent proxyläge. För skriptade ändringar av HTTP-trafik stöder mitmproxy Python, vilket gör det möjligt för användare att göra anpassade ändringar. Dessutom genereras SSL/TLS-certifikat för avlyssning i realtid, vilket förbättrar verktygets flexibilitet och anpassningsförmåga till olika säkerhetsscenarier. Källkod finns på GitHub Repository .

skärmdump av mitmweb.

Mitmweb fungerar som mitmproxys webbaserade användargränssnitt och tillhandahåller en interaktiv plattform för granskning och modifiering av HTTP-trafik. Mitmweb skiljer sig från mitmdump och behåller alla flöden i minnet, vilket gör det väl lämpat för att samla in och manipulera samplingar.

Mitmdump fungerar som kommandoradsmotsvarighet till mitmproxy och erbjuder tcpdump-liknande funktioner. Det här verktyget låter dig observera, registrera och programmatiskt modifiera HTTP-trafik. För omfattande dokumentation, se utdata från flaggan --help.


Hur man installerar mitmproxy på macOS

Den föredragna metoden för att installera mitmproxy på macOS är via Homebrew. Alternativt kan fristående binärfiler av mitmproxy för macOS laddas ner från den officiella webbplatsen mitmproxy.org. Observera att Rosetta krävs för Apple Silicon.

 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install mitmproxy
Author Photo
Skrivet av

Kuba har över 20 års erfarenhet inom journalistik, med fokus på jailbreak sedan 2012. Han har intervjuat yrkesverksamma från olika företag. Förutom journalistik specialiserar sig Kuba på videoredigering och drönarflygning. Han studerade IT på universitetet innan sin författarkarriär.

Skriv en kommentar

Senaste inläggen