Anzeige:
Ergebnis 1 bis 7 von 7

Thema: basic ethernet hijackinig

  1. #1
    disorgoth
    Gast

    basic ethernet hijackinig

    Ethernet Hijacking




    1. Grundlagen Hijacking
    1.1 Was ist Hijacking?
    Hijacking bedeutet infiltrieren, umlenken, stören. Dies kann erfolgen auf:
    - Layer 2: Spoofen von ARP
    - Layer 3/4: Klassisches TCP, UDP/IP Hijacking
    - Layer 5: HTTP, HTTPS, FTP, POP3, DNS, etc.

    1.2 Ziele von Hijacking
    - Bestehende Verbindungen werden übernommen. Während des Angriffs wird die
    Identität eines, sich in Kommunikation befindlichen externen Rechners
    vorgetäuscht.
    - Leisten von Vermittlungsdienst zwischen zwei kommunizierenden Rechnern.
    - Einfügen von irrelevanten, stupiden Informationen.
    - Imitieren von Services (Router/Gateway, DNS, etc; direktes Umlenken des
    Service)
    - Imitieren von Antowrten von Services (kein direktes Umlenken). Wichtig zB
    bei POP3 - Hijacking.

    1.3 Voraussetzung
    - Hardware:
    Idealerweise Verbindung zu Hub/Switch, eigene IP und NIC, welche in promiscous mode schaltbar ist.
    - Software:
    Sniffer: tcpdump (X frontend: ethereal), sniffit
    Paket-Generator: TkIpConstructor (Tk/Perl), SPak, IPPackage
    ARP-Flooder \
    Reset-Daemons => HAND (nachfolger von SATAN, Security Analysing Tool And Networkguard), D-Sniff
    SYN-Flooder /

    2. Grundlagen TCP
    TCP verwendet einen vollständigen 3-Way-Handshake Verbindungsaufbau zu anderen Rechnern im Netz. Dieser gestaltet sich wie folgt:
    (c) SYN, Sequencenumber
    (s) SYN | ACK, Sequencenumber+1
    (c) ACK

    Das Beenden von bestehenden Verbindungen kann durch unterschiedliche Faktoren erreicht werden:
    - Rechner/Service kann ausfallen
    - Rechner/Service kann ausgefallen werden (DOS)
    - Erreichen des Timeouts
    - Gegenseitiges Aushandeln mittels SYN/FIN Flags
    - Abrupte Beendigung durch RESET-Flag

    3. Angriff eines Rechners und Angriffsstrategien auf Layer 3/4 und 5
    Der für einen Angriff essentielle und somit zu erreichende Zustand des Opfers ist die desynchronisierte Verbindung. Dieser wird erreicht, wenn die Sequenznummern des am Server eingehenden Paketes außerhalb des Em pfangsfensters liegen. Wird vom Server ein solches Paket empfangen, dropt er dieses unverzüglich.

    1. Infiltration
    Infiltration entspricht der absichtlichen Desynchronisation einer Verbindung mittels Einschleusen von Daten in einen Strom.

    Bsp.: Telnet
    Der Angreifer schickt ein als Client getarntes Payload-Paket an den Server, mit den vom Server erwarteten Sequenznummern. In dem Paket liegen Anweisungen die der Server ausführen soll. Somit ist die Verbindung zw ischen wirklichen Client und Server desynchronisiert und es ist keine direkte Kommunikation mehr möglich.
    Die Verbindung kann aber trotz allem noch aufrecht erhalten werden, durch Vermittlung. Das heißt die Verbi ndung zwischen Client und Server funktioniert nur mit Hilfe des Angreifers.

    - Client öffnet Telnet Session
    - Wir (Angreifer) warten einen Zeitpunkt ab an dem die Verbindung still steht um die derzeitgen Sequenznummern der einzelnen Pakete zu erkennen. Dies geschieht mittels eines sniffers (tcptump). Dies ist auch möglich ohne direkten Stillstand der Verbindung, durch automatisierte Sequencesoftware.
    - Wir erkennen: Der Server hat eine Sequenznummer von 5000, und erwartet eine Clientsequenz von 1000.
    - Wir schicken nun ein Packet mit gesetztem ACK und PUSH Flag (PUSH bewirkt, dass der empfangene Protokollstack die Daten sofort in die Anwendung hochreichen soll).
    - Server führt payload-Daten aus und erwartet nun ein Paket mit der Nummer 1001.
    - 'Realer' Client meldet sich mit einem Paket seiner ursprünglichen Sequenz 1000, was der Server nun natürlich dropt - somit ist die Verbindung desynchronisiert und der Server fürt möglicherweise böse Anweisungen aus.

    Auf die Praxis bezogen heißt dies:
    - ifconfig eth0 promisc # NIC in promiscous mode schlaten
    - tcpdump -s #-S: absolute Sequenznummern; bei Stillstand merken
    - tkIpConstruktor #zum generieren von IP Paketen mit SYN/PUSH mit richtigen IPs, Ports und einen #Infiltrationsstring der am Server ausgeführt wird (echo "xx" >> xx")

    4. Angriff eines Rechners und Angriffsstrategien auf Layer 2
    4.1 Layer 2 Grundlagen
    Im Ethernet wird auf Layer 2 mittels MAC-Adressen jede NIC eindeutig identifiziert. Via ARP werden IPs und MAC-Adressen umgewandelt. Dies funktioniert so, dass der ARP-Request von irgendeinem Rechner an die Broadc astadresse des Netzwerks gesendet wird und jener Rechner mit der gesuchten MAC-Adresse meldet sich anschli eßend beim fragenden Rechner. Eine Optimierung ist ein ARP-Cache, um sich MAC-Adressen temporär zu merken. Ein weiterer Angriff wäre hie r der MAC-Table-Overflow, wobei der ARP-Cache durch ARP-Replies überflutet wird. Dies wirkt sich in einem DOS aus.

    4.2 ARP-Spoofing
    ARP-Spoofing ist das vortäuschen einer anderen MAC-Adresse. Ist ein Switch beispielsweise so konfiguriert, dass er an einem bestimmten Port nur eine bestimmte MAC-Adresse zulässt (zB Heim) kann man mit dem ifconfi g Kommando einfach seine MAC-Adresse ändern, in die die vom Switch angenommen wird.
    Von großer Bedeutung ist hier auch das Spoofen der IP mittels ifconfig, um strategisch wichtige Positionen im Netzwerk zu erhalten, zB die eines Gateways, Servers, etc. Ändert man seine eigene IP in die eines Serv ers, braucht man nur den Victim-Rechner ein ICMP Ping request zu senden. Dieser entdeckt dass er vom Server einen pink request erhalten hat, und somit auch dass der Server seine MAC-Adresse geändert hat. Er merkt sich dies und schickt seine an den Server adressierten Pakete nun immer an den Angreifer.

    4.3 ARP-Spoofing fremder MACs
    Hierbei wird ein fremder ARP-Cache manipuliert

    Prinzip:
    3 Rechner: 192.168.0.1 (Client)
    192.168.0.2 (Server)
    192.168.0.3 (Angreifer)

    Wir (Angreifer) möchten dass 192.168.0.2 denkt, dass 192.168.0.1 eine andere MAC-Adresse hat. Daher generi eren und senden wir einen gefälschten ARP-Reply an die MAC-Adresse der 192.168.0.2, tragen die gewünschte neue MAC-Adresse von 102.168.0.1 ein und setzen die original source und destination IPs ein. Nun denkt 192 .168.0.2 dass 192.168.0.1 eine andere IP hat.
    Dies funktioniert nicht unter BSD, da dieses erkennt wenn andere Rechner Pakete mit der eigenen IP senden. Eine Gegenmaßnahme wäre das Abfangen von empfangen Replies ohne Requests, kommt aber nicht zum Einsatz.

    5. Angriffe im Switched Ethernet (ARP-Relaying)
    Bsp: Switch mit 3 Ports, Schema s.o.

    5.1 Spoofen fremder MAC-Adressen mit unserer eigenen.
    Wir suggerieren Client und Server, dass der gegenseitige Zielhost unser Rechner ist, somit sind wir Vermit tler von Pakete zwischen den beiden Rechnern (dazu muss der Linuxkernel neu kompiliert werden mit der Opti on IP-Forwarding). Da wir somit ein Forarding Host sind ist die Kommunikation zwischen Client und Server n ur über unseren Rechner möglich und wir haben Einblick in alle gesendeten Pakete, können diese umbauen, du rchforstern nach Passwörtern, etc.

    5.2 Spoofen fremder MAC-Adressen mit inexistenten MAC-Adressen
    Essentielle Angriffsmöglichkeit in geswitchter Umgebung. Wir suggerieren beide Kommunikationspartner eine Zieladresse die im Netzwerk nicht existent ist. Effekt: Sie schicken ihre Pakete los, und kommen schließli ch an allen Ports des Switches raus, da dieser nicht weiß an welchem Port der Rechner mit der (von uns gefälschten) MAC-Adresse hängt; somit wäre das Sicherheitsprinzip eines Switches deaktiviert. Jeder Host drop t dieses Paket natürlich, da er eine andere MAC-Adresse hat, bis auf uns, weil wir das Paket natürlich als unser eigenes erkennen. Wir können das Paket nun umbauen und an den originalen Empfänger schicken, was das Hijacken in geswitchten Umgebungen ermöglicht.

    6. Hijacking von Sicherheitsprotokollen SSH und HTTPS
    Im Netz wird nach DNS-Request Paketen abgehört. Kommt ein solches Paket an, wird es nicht, wie bei anderen Rechnern, gedropt sondern eine gefälschte Antwort auf das DNS-Querie zurückgesendet. Die Wahrscheinlichkei t dass wir als Angreifer schneller reagieren als der tatsächliche DNS, ist groß da DNS oftmals nicht im in ternen Netz liegen (zB bei ISP). Sucht also beispielsweise ein Browser die Seite www.ccc.de, sucht er zuerst einen DNS auf um die IP dieses Servers in Erfahrung zu bringen. Wir schicken zuerst einen reply, daher wird unser Paket angenommen. Man n ehme an es handle sich hierbei um eine HTTPS-Anfrage, generieren wir auf unserem Rechner einfach ein neues Verschlüsselungszertifikat und schicken dies an den Anfragenden Rechner. Dieser bekommt eine Meldung über ein neues Zertifikat, was meist belanglos bestätigt wird. Nun können wir mit Hilfe von bereits angeführten Techniken, die vermeindlich sichere Verbindung überwachen. Selbe Strategie ist bei SSH anzuwenden.

    Soviel zur kurzen Einführung von Ethernet Hijacking. Der Text entstand aufgrund eines Projektes im Rahmen von Prozessregelung und Rechnerverbund und wurde von mir ursprünglich in Englisch verfasst; Verbesserungsvorgschläge, Fehler etc bitte kommentieren. Have a lot of fun

  2. #2
    Der Trottel :P
    Registriert seit
    Aug 2001
    Beiträge
    103
    auf den aktuellen chaos congress seiten gibt es dazu auch eine sehr interessante pdf folie!
    *******e passiert. Euch selten, mir häuffig ;)

  3. #3
    disorgoth
    Gast
    yup -> sehr interessant diesbezüglich ist auch der vortrag von stefan krecher/18c3.

    dis

  4. #4
    Der Trottel :P
    Registriert seit
    Aug 2001
    Beiträge
    103
    genau, ich meinte die folie von krecher vom 19c3
    *******e passiert. Euch selten, mir häuffig ;)

  5. #5
    Karl-Klammer-hasser
    Registriert seit
    Jan 2002
    Ort
    Hünibach, CH
    Beiträge
    397
    hmm wenn ihr mir noch den Link haettet
    gruss akula

    ICQ: 105337952
    Jabber: akula@swissabber.ch
    GPG-Public Key
    Mein System:
    Debian SID
    Toshiba P10 804: P4 3.0 GHz, GForceFX 5200

  6. #6
    Registrierter Benutzer Avatar von derRichard
    Registriert seit
    Nov 2001
    Beiträge
    5.069
    Original geschrieben von akula
    hmm wenn ihr mir noch den Link haettet
    schon mal von google gehört?
    http://www.google.at/search?q=ccc+kr...le-Suche&meta=

    //richard
    There are two factions of CS, the ones that hate computers, and the ones that hate science.

  7. #7
    Karl-Klammer-hasser
    Registriert seit
    Jan 2002
    Ort
    Hünibach, CH
    Beiträge
    397
    upppsss sorry
    gruss akula

    ICQ: 105337952
    Jabber: akula@swissabber.ch
    GPG-Public Key
    Mein System:
    Debian SID
    Toshiba P10 804: P4 3.0 GHz, GForceFX 5200

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •