INetSim: Programm zur Simulation von Internet-Diensten

Features

Implementierte Dienst-Module

Derzeit sind Module zur Simulation folgender Dienste im INetSim-Paket enthalten:

  • HTTP / HTTPS
    • unterstützt die Methoden GET, HEAD, POST und OPTIONS mit HTTP/1.0 und HTTP/1.1
    • "Real-Modus"
      • Liefert existierende Dateien aus einem Webroot-Verzeichnis
    • "Fake-Modus"
      • Liefert konfigurierte Fake-Dateien basierend auf der Dateiendung in der HTTP-Anfrage (z.B. .html, .jpeg oder .exe)
      • Anfragen an checkip.dyndns.org werden mit der IP-Adresse des Clients beantwortet
  • SMTP / SMTPS
    • empfangene E-Mails werden im mbox-Format gespeichert
    • unterstützt ESMTP und die flexible Konfiguration von "Service Extensions"
    • unterstützt die Authentifizierungsmethoden PLAIN, LOGIN, ANONYMOUS, CRAM-MD5 und CRAM-SHA1
    • beliebige Authentifizierungsdaten werden akzeptiert und im Klartext protokolliert
  • POP3 / POP3S
    • dynamische Erzeugung zufälliger Postfachinhalte aus mbox-Dateien
    • unterstützt APOP und die flexible Konfiguration von "Service Capabilities"
    • unterstützt die Authentifizierungsmethoden PLAIN, LOGIN, ANONYMOUS, CRAM-MD5 und CRAM-SHA1
    • beliebige Authentifizierungsdaten werden akzeptiert und im Klartext protokolliert
  • DNS
    • Vorwärts- und Rückwärtsauflösung mit Standardeinstellungen und konfigurierbaren statischen Zuordnungen
  • FTP / FTPS
    • Download und Upload
    • erzeugt ein virtuelles Dateisystem basierend auf einer existierenden Verzeichnisstruktur und ermöglicht das Erstellen und Löschen beliebiger Dateien in dieser Umgebung
  • TFTP
    • Download und Upload
    • flexible Konfiguration von "Service Options"
    • erzeugt ein virtuelles Dateisystem basierend auf einer existierenden Verzeichnisstruktur und ermöglicht das Erstellen beliebiger Dateien in dieser Umgebung
  • IRC
    • Basiskommandos
  • NTP
  • Ident
  • Finger
  • Syslog
  • "Small servers":
    • Daytime,
    • Time,
    • Echo,
    • Chargen,
    • Discard und
    • Quotd
  • Dummy

Die Portnummer, auf der ein Dienst lauscht, kann für jeden Dienst konfiguriert werden.

Faketime

INetSim kann in einem "Faketime"-Modus gestartet werden, um das Laufzeitverhalten von Schadprogrammen zu analysieren, die NTP oder Time/Daytime verwenden, um bestimmte Aktionen in Abhängigkeit des aktuellen Datums und der Uhrzeit zu starten.

Im "Faketime"-Modus antworten alle Dienste, die Informationen zum Datum und zur Uhrzeit liefern (z.B. NTP oder HTTP) mit einem gefälschten Zeitstempel, welcher auf einem konfigurierbaren Delta zur aktuellen Systemzeit basiert. Optional kann dieses Delta automatisch in festgelegten Intervallen erhöht bzw. verringert werden.

Umleitung von Verbindungen

Zusätzlich zur Umleitung von Verbindungen mittels gefälschter DNS-Antworten ermöglicht INetSim die IP-basierte Umleitung beliebiger Verbindungen (TCP, UDP und ICMP). Diese Funktion ist nur verfügbar, wenn INetSim auf Linux-Plattformen mit Kernel-Unterstützung für "packet queueing" (Kernel-Option CONFIG_NETFILTER_NETLINK_QUEUE) eingesetzt wird.

Diese Funktion unterstützt statische Regeln zur Umleitung von Verbindungen basierend auf Ziel-IP-Adresse, Portnummer und/oder Protokoll. Damit kann INetSim auch als NAT-Router zur Umleitung von Paketen an andere Systeme agieren. Optional kann der TTL-Wert von IP-Paketen, welche von verschiedenen "virtuellen" Verbindungszielen an die Clients gesendet werden, variiert werden, um den Datenverkehr authentischer aussehen zu lassen.

Dummy-Dienst

Der Dummy-Dienst protokolliert lediglich alle Daten, die er von einem Client empfängt. Dieses Modul ist nützlich in Verbindung mit der Umleitung von Verbindungen, um alle Daten mitzuschneiden, die von einem Client an Ports gesendet werden, die nicht an ein anderes Dienst-Modul gebunden sind.

Optional kann ein konfigurierbarer Bannertext gesendet werden, wenn nach einer vorgegebenen Zeit seit dem Aufbau der Verbindung noch keine Daten vom Client empfangen wurden. Dies könnte z.B. bei der Analyse eines Schadprogramms nützlich sein, welches einen POP3- oder SMTP-Server auf einem ungewöhnlichen Port erwartet.

Protokollierung und Berichte

Alle eingehenden Anfragen an die simulierten Dienste und die dazugehörigen ausgehenden Antworten werden detailliert protokolliert. Nach Beenden einer INetSim-Sitzung wird ein zusätzlicher Bericht (Report) für diese Sitzung mit einer Zusammenfassung der Verbindungen aus den Logdaten erzeugt.

Hier ist eine (bereinigte) Logdatei aus der Analyse eines Schadprogramms, welches eine Namensauflösung macht, eine Datei herunterlädt und eine E-Mail versendet.

Diese Webseite ©2007-2010 Thomas Hungenberg & Matthias Eckert