Montag, 13. Oktober 2008

entwickler.com Magazine Konferenzen Entwickler Akademie Entwickler-Forum Jobbörse Bücher
Software & Support Verlag

Großer Lauschangriff

Wenn die NIC (Network Interface Card) eines Computers in den sogenannten promiscuous mode geschaltet wird, kann Sie den gesamten Datenverkehr „mitlesen“. Diese Eigenschaft machen sich Angreifer zu Nutze: sie versuchen, einen Sniffer im Netzwerk zu installieren, um so an sensible Daten zu gelangen (Passwörter, Benutzernamen etc.). Ein Wort zum promiscuous mode: derselbe bezeichnet einen Empfangsmodus für netzwerk-technische Geräte, die NIC liest in diesem Modus den gesamten ankommenden Datenverkehr und reicht die Daten an das Betriebssystem durch. Im Normalfall (non-promiscuous mode) verarbeitet eine NIC nur Pakete, die für den entsprechenden Rechner bestimmt sind (Beispiel: Ethernet über die Auswertung der MAC-Adresse). Soweit, so gut.
Möchten Sie kontrollieren, ob die NIC im promiscuous mode arbeitet, rufen Sie den Befehl ifconfig auf:


ich@meinrechner:~> /sbin/ifconfig -a
...
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Im Beispiel ist das nicht der Fall, sonst würde die Zeichenkette PROMISC auftauchen (zwischen RUNNING und MULTICAST, um genau zu sein). Das folgende Python-Programm kürzt diesen Vorgang ab; es startet ebenfalls den Befehl ifconfig und sucht die Zeichenkette PROMISC. Wird die Zeichenkette gefunden, gibt es einen Hinweis auf der Konsole:

#!/usr/bin/env python

import os
import sys

def getPromiscAlert(com):

MODE = 'PROMISC'
RES = os.popen(com, "r").read()
if MODE in RES:
print '* PROMISCOUS MODE *'
else:
print '* Die Luft ist rein *'

if __name__ == '__main__':
if sys.platform[:5] == 'linux':
com = '/sbin/ifconfig -a eth0'
getPromiscAlert(com)

Um das Programm pm.py zu testen, starten Sie iptraf. Loggen Sie sich als root ein und rufen Sie iptraf auf:

ich@meinrechner:~> su
Password:
ich@meinrechner # iptraf all

Daraufhin erscheint der Startbildschirm, anschließend drücken Sie irgendeine Taste (SPACE etc.) und wählen aus dem Menü IP traffic monitor, dann All interfaces. iptraf schaltet die NIC in den promiscuous mode. Rufen Sie pm.py auf (machen Sie das Programm vorher mit chmod 755 pm.py ausführbar):

ich@meinrechner:~> ./pm.py
  • PROMISCOUS MODE *

Tipp: mit Hilfe von cron lässt sich der Vorgang auch automatisieren (es könnte eine Email an den Administrator geschickt werden etc.). Oder Sie schieben pm.py (als root) in das Verzeichnis /usr/bin/ und legen einen symbolischen Link an (man ln hilft weiter). Beispiel:

ich@meinrechner: # ln -s pm.py PROM

Nun können Sie PROM jederzeit aufrufen, da es sich im Pfad befindet - und es ist weniger Tipperei als ifconfig -a;-).







Software & Support Verlag GmbH