Aktives Sniffing...

hallo,
Zitat von meinem Buch:
Bei einer geswitchten oder vermittelten Netzwerkumgebung werden Pakete nur an den Port gesendet.
Zitat Ende

Ich dachte mit tcpdump kann ich alle Packte reinbekommen?
In dem Fall von dem Zitat, läuft es auf Nemesis hinaus, PC 1 ( Sniffer ) versäucht mit arp Pc 2 und Pc 3

nemesis arp -v -r -d eth0 -S 192.168.0.1 -D 192.168.0.118 -h 00:00:ad:d1:c7:ed -m 00:c0:f0:79:3d:30 -H 00:00:ad:d1:c7:ed -M 00:c0:f0:79:3d:30

ok, man versäucht arp und dann? Ich verstehe die Logoic nicht?
 
ok ... versuchen wir es mal in "einfach" ... (einfach != kurz)

ich gehe davon aus dass dir begrifflichkeiten wie IP adressen und MAC adressen geläufig sind...


wenn z.B. ein PC in einem ethernet basierten LAN mit einem anderen kommunizieren will, kommt heutzutage für gewöhnlich das IP protokoll zum einsatz ...

IP hat den vorteil dass es sich nicht um das übertragungsmedium kümmert, und auch ohne weiteres von einem ethernet netz in z.B. ein ATM weitverkehrsnetz gerouted werden kann, ohne dass die kommunizierenden maschinen etwas darüber wissen müssen welche technologien unterwegs zum einsatz kommen.

diesen vorteil "bezahlt" man damit das man mindestens doppelte addressierung machen muss, soll heißen:

machst du in einem reinen ethernet IP, hast du neben den IP adressen noch mindestens ein weiteres adress schema: MAC

da deine ethernet hardware nichts mit IP adressen anfangen kann, und ausschließlich mittels MAC adressiert, deine kommunizierenden anwendungen aber höchstens IP adressen kennen, muss nun irgendwie eine abbildung geschaffen werden die eine IP in eine MAC adresse auflößt ...

will man dann mit einer fremden IP "sprechen" benutzt man diese abbildung um die zugehörige MAC zu bekommen und nutzt dann diese

diese abbildung wird durch ein protokoll realisiert: ARP

ARP dient dazu einem system zu erlauben in einem Ethernet herauszufinden welche MAC zu einer IP gehört ... dazu werden ARP requests versendet die in etwa os aussehen: "Welche MAC gehört zu IP_1? Bitte melden an IP_2 MAC_2" ... die logische antwort kommt dann in der form "IP_1 ist MAC_1" und ist an den fragenden sprich IP_2 MAC_2 gerichtet ...

Switches (oder förmlich: multi port bridges) unterscheiden sich von hubs dadurch, dass sie anhand von ARP merken welche MAC addressen hinter welchem port angeschlossen sind ... wird dann an eine solche MAC ein frame versendet, kann der switch zuordnen wo es hin soll, und wird es nur auf diesem port ausgeben ... ein hub tut das nicht ... der schmeißt alles was er auf einem beliebigen port empfängt auf allen anderen wieder raus ...

dadurch das der switch das nicht tut, kann es eben sein, dass du beim sniffen die daten die du haben willst erst gar nicht bekommst, da der switch weiß dass die ziel MAC nicht über deinen switchport erreichbar ist, und die daten nicht auf diesen port leitet ...

was du dann tust wird ARP poisoning genannt. kurz gesagt, du antwortest auf arp anfragen, die es gar nicht gegeben hat ... du teilst darüber einem system mit, dass die ziel IP unter einer anderen MAC erreichbar ist ... z.B. deiner MAC

da ARP verbindungslos ist, schauen die implementationen nicht wirklich nach, ob sie auch eine anfrage gestellt haben, sondern nehmen informationen aus arp replys direkt in den jeweiligen cache auf, und "wissen" von nun an, dass die IP die sie erreichen wollen die von dir genannte MAC hat ... für das ziel macht man genau das umgekehrte ... das ziel bekommt mitgeteilt, dass die MAC für die quelle sich geändert hat ... das ist dann auch die von dir genannte ... und schon werden die dinge zwar auf IP ebene noch richtig adressiert, aber auf MAC ebene hat sich die zuordnung geändert ... die frames haben nun jeweils deinen rechner als ziel ... du musst die daten nur noch nachdem du sie gesehen hast an den richtigen empfänger weiterleiten, und schon kannst du mitlesen ...

da die datenpakete der kommunikationspartner nun deine MAC im feld "destination" haben, wird ein switch natürlich die frames auf den port legen an dem du hängst ... da nun wieder die daten bei deinem port ankommen kannst du prinzipiell diese daten mitlesen ...

wenn du allerdings keine besonderen vorkehrungen triffst, gehen die daten verloren und werden das eigentliche ziel nie erreichen ... IP routing zu aktivieren sollte hier genügen
 
Zurück
Oben