Skip to main content

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

Gitlab Page

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MimV6-0.0.1.tar.gz (4.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page