This package implement command line and python package tool for Man In The Middle in IPv6.
Project description
mim_ipv6
Description
Un package python pour performer un attaque de type "Man in the middle" avec Scapy, et de manipuler les paquets ip.
Le but de notre programme, consiste à usurper l'identité d'un destinataire dans une communication ipv6, pour voler des données au vrai destinataire.
Les données une fois copiées seront tjr acheminée au vrai destinataire, pour que ce spoofing reste indetectable.
Notre programme n'est pas detectable en wifi, mais le deviens en ethernet.
Requis
- Python 3
- Librairies standarts
Installation
se mettre dans le dossier git et lancer :
pip install .
Utilisation
mimV6
C'est un sniffeur de trame, qui une fois lancé, récupereras toutes les trames ipv6 du reseau sur lequel il est connecté.
Le programme n'as besoin d'aucune interection utilisateur, et "spoofera", c'est à dire qu'il voleras, afficheras les trames volés sur votre terminal au format ASCII (droite) et hexadecimal(gauche), et enverras la trame volée aux différentes victime de son attaque.
le programme est codé pour tourner de façon constante et nécessite une interuption utilisateur (CTRL + C) pour être arrêté.
Nous avons aussi codé un outil de statistiques, qui fournira des info relatives à l'attaque que vous venez de lancer.
Les statistiques seronts affichés dès l'interruption utilisateur.
Test
Nous avons crée des codes de test qui importent l'ensemble des fonctions nécessaire au fonctionnnement du code.
Ces test sont des fichiers indépendants qui peuvent êtres appellés à tout moment via :
pytest
Exemples
Packetstat.py
from MimV6 import statistics, PacketStats
from scapy.all import Ether, IP, TCP, UDP, IPv6
statistics.append(PacketStats(Ether()))
statistics.append(PacketStats(Ether()/IP()))
statistics.append(PacketStats(Ether()/IP()/TCP()))
statistics.append(PacketStats(Ether()/IP()/UDP()))
statistics.append(PacketStats(Ether()/IPv6()/TCP()))
statistics.append(PacketStats(Ether()/IPv6()/UDP()))
statistics.append(PacketStats(Ether()/IPv6()))
statistics.append(PacketStats(Ether()))
print(f"""
UDP: {PacketStats.udp}
TCP: {PacketStats.tcp}
Other: {PacketStats.other}
""")
print("Lenght: " + ", ".join([str(pkt.lenght) for pkt in statistics]))
hexa_packet.py
from MimV6 import hexa_packet
from scapy.all import Ether, IP, TCP, UDP, IPv6
hexa_packet(Ether()/IP()/TCP())
hexa_packet(Ether())
hexa_packet(Ether()/IP())
hexa_packet(Ether()/IP()/TCP())
hexa_packet(Ether()/IP()/UDP())
hexa_packet(Ether()/IPv6()/TCP())
hexa_packet(Ether()/IPv6()/UDP())
hexa_packet(Ether()/IPv6())
hexa_packet(Ether())
mim_attack.py
from MimV6 import mim_attack
mim_attack()
License
Licensed under the GPL, version 3.
Lien
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.