ONE Jailbreak Ad

mitmproxy reverse engineer toolbox voor apps API op iOS

Promotion image of mitmproxy article.

mitmproxy, ontwikkeld door het Mitmproxy Project, is een krachtige en interactieve interceptieproxy die SSL/TLS ondersteunt en een console-interface biedt voor het verwerken van HTTP/1-, HTTP/2- en WebSocket-verkeer. Deze tool is met name handig voor het vastleggen en analyseren van alle gegevens die worden uitgewisseld tussen uw iOS-apparaat en externe servers, waardoor het een onmisbare bron is voor reverse engineering van private API's binnen applicaties.

Key Takeaways

  • mitmproxy ondersteunt niet alleen HTTP, HTTP/2, HTTP/3, maar ook andere webprotocollen zoals WebSocket, DNS, Generic TCP/TLS Proxy en Generic UDP/DTLS Proxy.
  • Met de Python API kunt u add-ons en scripts schrijven met een API die volledige controle biedt over mitmproxy en het mogelijk maakt uw eigen opdrachten te implementeren.
  • Een van de belangrijkste doelen van mitmproxy is de mogelijkheid om de privé-API van iOS-apps te reverse engineeren met encryptie via Man In the Middle (MITM)-aanvallen.
  • mitmproxy is een opdrachtregeltool, aangevuld met mitmweb, die een intuïtieve webinterface biedt die vergelijkbaar is met Chrome's DevTools om netwerkverkeer te monitoren.

Download

Mitmproxy kan worden geïnstalleerd op alle populaire desktopplatforms, waaronder Windows, Linux en macOS. Voor de eerste twee kunt u een speciaal installatieprogramma gebruiken. Het wordt aanbevolen om mitmproxy voor macOS te installeren via The Missing Package Manager voor macOS – brew.

Overzicht

Mitmproxy fungeert als een uitgebreide toolbox voor reverse engineering van de API's van applicaties die op iOS-apparaten draaien. Het bestaat uit drie belangrijke modules: mitmproxy, mitmdump en mitmweb. De mitmdump-module fungeert als de opdrachtregelversie van mitmproxy, vergelijkbaar met tcpdump voor HTTP. Mitmweb biedt een gebruiksvriendelijke webinterface voor naadloze interactie met de mogelijkheden van mitmproxy.

Een van de belangrijkste voordelen van mitmproxy is de mogelijkheid om een root SSL-certificaat te genereren dat op uw iPhone kan worden geïnstalleerd. Deze unieke functie stelt u in staat om HTTPS-communicatie te decoderen, waardoor een uitgebreide analyse van alle app-verbindingen met servers mogelijk is.

Deze transparantie is met name voordelig voor reverse engineering van private API's, omdat het een diepgaand begrip van de onderliggende communicatieprotocollen mogelijk maakt. Bovendien kan mitmproxy worden gebruikt om de specifieke privégegevens te achterhalen die door de app naar externe servers worden verzonden, zoals gps-locatie, apparaattype, iOS-versie en meer.

mitmproxy-schermafbeelding.

Een andere opmerkelijke mogelijkheid van mitmproxy is de mogelijkheid om verzoeken te onderscheppen en aan te passen voordat ze door de server worden verzonden of ontvangen. Deze functionaliteit is met name waardevol in het kader van beveiligingspenetratietests, omdat gebruikers hiermee aangepaste code in de verzoeken kunnen invoeren. Deze dynamische aanpassing van verzoeken biedt een praktische manier om de veerkracht van het systeem tegen diverse beveiligingskwetsbaarheden te beoordelen en helpt bij het identificeren van potentiële zwakke plekken die kunnen worden uitgebuit. De flexibiliteit van mitmproxy bij het aanpassen van verzoeken vergroot de bruikbaarheid als krachtig hulpmiddel voor beveiligingsprofessionals en onderzoekers.

Mitmproxy speelde een cruciale rol als een van de belangrijkste tools die Kaspersky Security-onderzoekers gebruikten tijdens Operatie Triangulatie . De mogelijkheden ervan speelden een cruciale rol bij het decoderen van HTTPS-verkeer, waardoor de onderzoekers de zichzelf installerende Berichten-malware op iOS-apparaten, die ontworpen was om het iDevice spoorloos over te nemen, konden volgen en analyseren.

Info: mitmproxy ondersteunt Windows-, macOS-, Linux-, iOS- en Android-apparaten.

Bovendien maakt mitmproxy realtime monitoring en aanpassing van verzoeken mogelijk , waardoor dynamische aanpassingen tijdens het onderscheppen mogelijk zijn. Het is echter belangrijk om te vermelden dat de installatie van een root SSL-certificaat niet de mogelijkheid biedt om HTTPS-verkeer van Apple-diensten, waaronder iMessage, te onderscheppen. Deze beperking ontstaat doordat iOS SSL-pinning implementeert voor verbeterde beveiligingsmaatregelen.

Nieuw

  • Ondersteuning toevoegen voor het bewerken van niet-tekstbestanden in een hex-editor.
  • Server_connect_error-hook toevoegen die wordt geactiveerd wanneer de verbinding mislukt.
  • Sectie in mitmweb toevoegen voor het renderen, toevoegen en verwijderen van een opmerking.
  • Oplossing van onbruikbare weergave van multipart-formulierinhoud.
  • Verbeteringen in de documentatie voor het genereren van CA-certificaten.
  • Het is mogelijk om stromen uit stdin te lezen met mitmweb.
  • Aioquic-afhankelijkheid bijwerken naar >= 1.0.0, < 2.0.0.
  • Een bug oplossen waarbij async client_connected handlers mitmproxy lieten crashen.
  • Knop toevoegen om het paneel met stroomdetails te sluiten.
  • SIGPIPE-signalen negeren bij veel verkeer. Socketfouten worden direct afgehandeld en vereisen geen extra signalen die ruis genereren.
  • Primitieve websocket-onderschepping en -wijziging toevoegen.
  • Ondersteuning toevoegen voor het exporteren van websocket-berichten bij gebruik van

Mitmproxy biedt de mogelijkheid om zowel HTTP- als HTTPS-verzoeken en -reacties te onderscheppen, waardoor dynamische wijzigingen in realtime mogelijk zijn. Gebruikers kunnen volledige HTTP-conversaties opslaan voor latere weergave en diepgaande analyse. De tool ondersteunt ook het afspelen van de clientzijde van een HTTP-conversatie en kan HTTP-reacties van een eerder opgenomen server reproduceren. Daarnaast beschikt mitmproxy over een reverse proxy-modus voor het doorsturen van verkeer naar een server.

Op macOS en Linux biedt het een transparante proxymodus. Voor gescripte wijzigingen in HTTP-verkeer ondersteunt mitmproxy Python, waardoor gebruikers aangepaste wijzigingen kunnen aanbrengen. Bovendien worden SSL/TLS-certificaten voor onderschepping direct gegenereerd, wat de flexibiliteit en aanpasbaarheid van de tool aan verschillende beveiligingsscenario's vergroot. De broncode is te vinden op GitHub Repository .

mitmweb-screenshot.

Mitmweb fungeert als de webgebaseerde gebruikersinterface van mitmproxy en biedt een interactief platform voor het onderzoeken en aanpassen van HTTP-verkeer. Mitmweb onderscheidt zich van mitmdump doordat het alle stromen in het geheugen bewaart, waardoor het zeer geschikt is voor het vastleggen en manipuleren van samples.

Mitmdump fungeert als de opdrachtregelversie van mitmproxy en biedt functionaliteit die vergelijkbaar is met die van tcpdump. Met deze tool kunt u HTTP-verkeer observeren, vastleggen en programmatisch wijzigen. Raadpleeg voor uitgebreide documentatie de uitvoer van de --help-vlag.


Hoe mitmproxy op macOS te installeren

De voorkeursmethode voor het installeren van mitmproxy op macOS is via Homebrew. Als alternatief kunnen standalone binaries van mitmproxy voor macOS worden gedownload van de officiële website mitmproxy.org. Let op: voor Apple Silicon is Rosetta vereist.

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

Kuba heeft meer dan 20 jaar ervaring in de journalistiek en richt zich sinds 2012 op jailbreaken. Hij heeft professionals van diverse bedrijven geïnterviewd. Naast journalistiek specialiseert Kuba zich in videobewerking en dronevliegen. Voordat hij aan zijn schrijverscarrière begon, studeerde hij IT aan de universiteit.

Plaats een reactie

Laatste berichten