Spoofing
Transcrição
Spoofing
Verlässliche Verteilte Systeme 1 Angewandte IT-Robustheit und IT-Sicherheit Vorlesung im Wintersemester 2004/2005 Prof. Dr. Felix Gärtner Teil 14: Schwächen von und Angriffe auf die Internet-Protokolle (spoofing, hijacking, denial of service) 1 Lehr- und Forschungsgebiet Informatik 4, RWTH Aachen, http://www-i4.informatik.rwth-aachen.de/lufg/ Ankündigungen Vorlesungsplan: ● heute: TCP/IP-Protokollschwächen und Angriffe (spoofing, hijacking, denial of service) anschließend: ● ● ● ● ● ● ● ● ● sicheres System-Setup und Absichern von Diensten sicheres System-Management Integritätskontrolle, sicheres booten IDS und Vulnerability Scanner Firewalls und VPNs Best practices und Zertifizierung Social engineering 2 Übersicht Die IP-Protokollsuite wurde entworfen, ohne an bösartige Mitspieler zu denken ● ● Folge: viele verschiedene Arten von Angriffen möglich Heute examplarische Untersuchung einiger Angriffe: ● ● ● ● ● Spoofing (ARP, IP) Hijacking von TCP-Verbindungen Denial of Service (IP-Fragmentierung, Packet Storm, SYN flood) Distributed Denial of Service Quellen: ● ● ● Juliane Mathes, Ingo Weisemöller: IP Spoofing und (Distributed) Denial of Service Angriffe. Unterlagen aus dem Hackerseminar 2004, RWTH Aachen. Stefan Krecher: The Hijacker's Guide to the Galaxy. Vortrag bei CCC 2002. http://www.krecher.de/ 3 Spoofing Spoofing: Austausch der Absenderadresse eines Datenpaketes ● ● ● ● Normal: Absenderadresse ≠ gespoofte Adresse Absender bleibt unerkannt Antworten auf gespooftes Paket landen bei gespoofter Adresse 4 ARP-Spoofing ● ● Versenden gefälschter ARP-Pakete Angreifer schaltet sich in den Netzverkehr hinein (man-inthe-middle-Angriff) 5 IP-Spoofing Fälschen der Absenderadresse eines IP-Paketes Beispiel: DNS-Spoofing ● ● ● ● ● Fälschen von Antworten auf eine DNS-Anfrage (Paketkonstruktion trivial) „aufgelöste“ IP-Adresse wird vom Angreifer kontrolliert richtige Antwort von DNS-Server kommt auch, aber zu spät 6 Tools ● ettercap: ● ● ● ursprünglich ein Sniffer, jetzt einfach Belauschen einer Verbindung mittels ARP-Spoofing http://ettercap.sourceforge.net dsniff's dnsspoof: automatisiertes DNS-Spoofing 7 Hijacking Hijacking = überfallen, entführen Durch Ausnutzen von TCP-Protokollschwächen kann man bestehende TCP-Verbindungen angreifen ● ● eine Verbindung abbrechen eine „abgebrochene“ Verbindung aufrechterhalten Anweisungen in eine bestehende Verbindung einschleusen ● ● ● Voraussetzungen: ● Angreifer muss in der Lage sein, Pakete von/für mindestens eines der Opfer zu empfangen Idealerweise: Rechner sind über Hub oder Switch miteinander verbunden Netzwerkadapter des Angreifers muss in den promiscuous mode schaltbar sein ● ● ● ● ● Mitlesen des kompletten Netzverkehrs auf dem Netzsegment entsprechende Software (Sniffer, Paketgeneratoren, fertige Hijacking Software) 8 Exkurs: TCP-Verbindungsaufbau ● Drei-Wege-Handshake, RFC 793 9 Beenden einer TCP-Verbindung time-out beidseitiger Abbau via FIN-Pakete einseitiger Abbau via RST-Paket ● ● ● ● Angriff: Angreifer sendet gespooftes RST-Paket mit richtiger Sequenznummer an Opfer 10 Einschleusen von Anweisungen Angreifer sendet gespooftes Datenpaket mit „falschen Daten“ zum richtigen Zeitpunkt Beispiel: take-no-prisoners-Angriff ● ● ● ● ● ● Einschleusen von Anweisungen ohne Rücksicht auf Verluste keine Vertuschung, schnelles Handeln nach dem Angriff erforderlich zielt auf unerfahrene, reaktionsschwache Opfer einfache Tools reichen (sniffer, Paketgenerator) Idee: ● ● ● Angreifer belauscht eine bestehende telnet-Session sendet echo “m::0:0::::/bin/bash“ >> /etc/passwd als payload 11 Nach dem Angriff Alternativen: ● ● ● ● ● Abhängen des Clients mit FIN oder RST (vor oder nach dem Angriff) Client bewegungsunfähig machen (durch RST-Daemon den Aufbau neuer Verbindungen verhindern) Verbindung resynchronisieren anschliessend Laptop zusammenklappen und weglaufen 12 Tools ● hunt ● ● ● ● ● juggernaut ● ● ● ● ● Datenbank aller TCP-Verbindungen (playback) einfache Auswahl der zu übernehmenden Verbindung usw. spak (Send PAcKet) ● ● Auswahl der zu störenden Verbindung ARP spoofing reset daemon usw. kann IP, TCP, UDP, ARP, Ethernet Pakete generieren Weitere Angriffe (z.B. ARP Spoofing in geswitchten Netzen) nachzulesen bei Stefan Krecher Real World Hijacking: Zeitungs-, Post-, Identitäts-, Einkaufswagen-Hijacking 13 Denial of Service (DoS) Angriff auf die Verfügbarkeit eines Rechners ● Ziel: den Rechner lahmlegen durch Absturz oder Überlastung ● Überlastung von Ressourcen: ● ● Bandbreite der Netzanbindung Kernel-Datenstrukturen ● aber auch Festplattenplatz, Speicher, ... ● ● Mailbomben, Kompressionsbomben Distributed Denial of Service (DDoS): ● Denial of Service Angriff mit Hilfe von vielen verteilten Hosts Voraussetzung: Kompromittierung und Fernsteuerung vieler fremder Rechner (oft durch Würmer, Viren, etc.) ● ● DoS oft als Vorlauf eines anderen Angriffs: ● erst IDS-Host unschädlich machen, dann unerkannt eindringen kann auch Werkzeug bei Erpressungen sein: ● ● ● http://www.heise.de/newsticker/meldung/48613 14 Historisches ● ● Beginn DDoS etwa 2000 DoS prinzipiell immer möglich, wo Dienste angeboten werden 15 IP-Fragmentierung: Ping of Death (1996) ● ● nutzte Schwachstelle in vielen verbreiteten Betriebssystemen (heute sind alle dagegen immun) übergroße ICMP-Pakete sorgen für Pufferüberlauf und bringen Empfangsrechner zum Absturz 16 Bandbreite: UDP Packet Storm Basierte auf den Diensten echo und chargen ● ● ● ● chargen: antwortet auf eine eingehende Verbindung mit einer ununterbrochenen Zeichenkette echo: antwortet auf eine eingehende Zeichenkette mit derselben Zeichenkette Angreifer sendet eine gespoofte Anfrage an chargen mit der Port-Nummer von echo 17 Bandbreite: ICMP Packet Storm Senden eines ICMP Echo Request (=Ping) ● ● ● ● ● an eine Broadcastadresse IP-Adresse des Opfers als Absenderadresse alle Rechner in Broadcast Domain antworten und überfluten das Opfer Ping-Anfragen an Broadcastadressen werden heute von vielen Routern nicht mehr weitergeleitet 18 Kernel-Datenstrukturen: SYN-Flooding Erzeugen vieler hängender TCP-Verbindungen ● ● ● ● Angreifer sendet SYN-Paket Opfer antwortet mit SYN,ACK Angreifer sendet finales ACK nicht Anzahl hängender Verbindungen durch Kernel-Datenstruktur beschränkt ● ● ● schnell erschöpft, keine neuen Verbindungen mehr möglich besser: SYN-Pakete spoofen 19 Distributed Denial of Service (DDoS) Angreifer übernimmt Kontrolle über große Anzahl von Rechnern ● Fernsteuerung der Übernahme durch Master-Agent-Technologie ● ● ● ● Angreifer übernimmt kleine Anzahl an ausgesuchten Rechnern (Mastern = leistungsfähige Systeme mit breitbandigem Anschluß und schlafenden Administratoren) Master greifen wahllos Rechner an und versuchen sie zu übernehmen (Agents) Angreifer startet durch zentrales Kommando den Angriff 20 Tools ● smurf ● ● ● trinoo ● erzeugt UDP Flood nach dem Master-Agent-Prinzip IRC Botnets ● ● ● ● Verwendung von IRC zur Fernsteuerung Installation spezieller IRC-Clients Einrichtung spezieller Channels auf denen die Bots Befehle Empfangen TFN/TFN2K ● ● ● kann UDP-, TCP-SYN-, ICMP-Echo- und Smurf-Angriffe erzeugen stacheldraht ● ● erzeugt ICMP Packet Storm ICMP Packet Storm Angriff wird oft auch als smurf-Angriff bezeichnet wie TFN, jetzt neu mit verschlüsselter Master/Agent-Kommunikation DDoS-Würmer (Mydoom, Blaster, Phatbot, später mehr dazu) 21 Zusammenfassung und Ausblick Die TCP/IP-Protokollsuite hat viele Schwächen ● Wesentlich: Mangel an Authentifizierung, erlaubt spoofing Spoofing ist Grundlage vieler Protokollangriffe ● ● ● Hijacking, ICMP Packet Storm, ... Gegenmaßnahmen: ● Verhindern, dass Pakete von anderen mitgelesen werden können ● ● ● Verschlüsselte und authentifizierte Verbindungen verwenden ● ● ● Switches statt Hubs weniger anfällige Netztopologien verwenden IPsec, SSL, SSH Monitoring durch arpwatch, IDS oder statische ARP-Tabellen gegen Denial of Service kann man wenig tun (semantischer Angriff) Etablierte Praxis: wenig Angriffsfläche bieten ● ● ● Rechner initial gut konfigurieren und managen... 22