2010-01-25 9 views
9

J'essaie de voir comment un certain application parle à un serveur en SSL. Fondamentalement, le processus se bloque quand il prétend avoir fait une certaine communication SSL. Je veux déboguer le problème en attrapant le trafic, mais je ne peux pas vraiment utiliser un sniffer puisque SSL ressemblera probablement à un hexdump.Comment créer l'instrument Man in the Middle

Existe-t-il un bon outil man-in-the-middle que je pourrais utiliser comme instrumentation? J'ai juste besoin de quelque chose qui me montrera la communication déchiffrée. J'espère que c'est très facile à installer. Je pourrais même pointer l'application à n'importe quelle adresse IP/port disponible à ma machine (par exemple localhost: 8888), ainsi les proxies iraient bien. En outre, je peux probablement configurer l'application pour accepter n'importe quel certificat.

Qu'est-ce que vous utilisez pour simuler une attaque SSL man-in-the-middle (mitm)? MISE À JOUR: J'ai essayé le violoneux et je n'arrive pas à le faire fonctionner. J'ai installé openssl et j'ai tapé la commande suivante: openssl s_client -connect smtp.gmail.com:465

Gmail répond avec leur certificat et 220 mx.google.com ESMTP .... Cependant, Fiddler ne capture pas le trafic. Je définis les options WinINET dans fiddler sur "Utiliser le même serveur proxy pour tous les protocoles". Quelqu'un d'autre peut-il faire fonctionner cela (ou ne pas travailler)? Je pense que je dois trouver un moyen d'avoir openssl utiliser un proxy.

+0

Avez-vous configuré le fiddler pour déchiffrer HTTPS? http: //www.fiddler2.com/Fiddler/help/httpsdecryption.asp L'application que vous essayez de déboguer se connecte-t-elle via https? –

+0

L'application est cryptée SMTP dans SSL. – User1

+0

Fiddler débogue le trafic HTTP (S) et ne pourra pas afficher quoi que ce soit d'utile pour le trafic SMTP. – EricLaw

Répondre

2

Je ne l'ai pas utilisé à cette fin, mais Fiddler devrait être capable de faire ce que vous voulez.

Fiddler est un proxy Web Debugging qui journaux tout le trafic HTTP (S) entre votre ordinateur et l'Internet. Fiddler vous permet d'inspecter tout le trafic HTTP (S) , de définir des points d'arrêt et de "violon" avec des données entrantes ou sortantes. Fiddler comprend un puissant sous-système de script basé sur les événements , et peut être étendu en utilisant n'importe quel langage .NET .

Fiddler est un logiciel gratuit et peut déboguer trafic à partir de pratiquement toutes les applications , y compris Internet Explorer, Mozilla Firefox, Opera et des milliers d'autres.

+0

J'ai aussi utilisé le proxy Paros pour cela. –

7

Vous permet d'implémenter un homme dans l'attaque du milieu contre vous-même pour voir ce qu'il y a dans le tunnel SSL.

Fiddler génère un certificat SSL racine unique pour votre ordinateur, puis crée un certificat de session signé par la racine. Lorsque vous configurez Fiddler pour décrypter SSL pour vous, il agit en tant que proxy entre vous et la destination, décryptant le trafic en utilisant le certificat SSL du site, puis en le chiffrant de nouveau à l'aide de son propre certificat.

Votre navigateur/application verra une erreur de certificat non approuvée. Vous pouvez contourner cette erreur en choisissant de faire confiance au certificat racine de Fiddler.

Les gens de .Net Rocks ont fait un excellent podcast episode sur l'utilisation de Fiddler pour renifler votre trafic.

+0

de toute façon pour que cela fonctionne avec l'iPhone sur un mac? – chovy

+0

@chovy Utilisez Charles à la place de Fiddler. Voir https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/ pour savoir comment installer le certificat racine sur ios. –

0

Si vous utilisez le sniffer Wireshark incroyablement utile, alors vous pouvez l'avoir decrypt SSL si vous êtes capable de lui fournir les fichiers clés appropriés.

+2

Il n'a probablement pas accès au serveur, donc cela ne fonctionnera pas. –