Praktikum IT- Sicherheit - Versuchshandbuch - Durchführung Honeypot Ein Honeypot stellt ein System dar, um Angriffe, das Verhalten von Malware und weitere Angriffsaktivitäten aufzuzeichnen zu können. Die gesammelten Informationen werden zu einem späteren Zeitpunkt einer aufwendigen Analyse unterzogen. Folgende Aufgaben beziehen sich auf das bekannte Honeypot- Framework honeyd, dass sich zur Simulation von virtuellen Hosts die TCP/IP- Charakteristika von Betriebssystemen und Anwendungen zu Nutze macht. B.Sc. BG 24 M.Sc. AI MN 1 M.Sc. EB 10 IT- Sicherheit
Bei Honeypots handelt es sich um Systeme, die nicht Bienen sondern Angreifer anlocken sollen. Sie haben dabei die Aufgabe, Informationen über Angriffsmuster und das gezielte Vorgehen von Angreifern zu sammeln. Honeypots sind Systeme, an denen keine Anwender arbeiten und haben daher auch keinen produktiven Nutzen für ein Unternehmen. Da keine unternehmerischen Tätigkeiten an solchen Systemen ausgeübt werden, lässt fast jede Interaktion mit diesem System auf Malware bzw. einen Angreifer schließen. Dies ermöglicht das Erkennen von Angriffen oder gezielt das Vorgehen von Angreifern zu analysieren. In diesem Versuch wird im Speziellen der Einsatz des low-interaction Honeypot- Framework honeyd behandelt und Möglichkeiten aufgezeigt, dieses zu erkennen. Konfiguration: create xp set xp personality Microsoft Windows XP Professional SP1 add linux tcp port 80 /usr/share/honeyd/scripts/web.sh set xp default tcp action reset set xp uptime 1456984 create linux set linux personality Linux kernel 2.4.20 add linux tcp port 110 /usr/share/honeyd/scripts/unix/general/pop/pop3.sh add linux tcp port 25 /usr/share/honeyd/scripts/unix/general/smtp.sh set linux default tcp action reset bind 192.168.186.76 xp bind 192.168.186.75 linux Anmeldedaten für die VMs des SecLab: Benutzername: Passwort: student student 2
Aufgabe1 Erreichbarkeit 1. Starten Sie honeyd mit folgendem Befehl auf der VM Honeypot. honeyd -d -i eth0 -f /home/student/honey/honey.conf -l /home/student/honey/log/packet.log -s /home/student/honey/log/services.log 192.168.186.76 192.168.186.75 2. Versuchen Sie von der VM HoneyClient die simulierten Hosts über ihre jeweilige IP-Adresse (192.168.186.76 und 192.168.186.75) anzupingen. 3. Öffnen Sie dazu das Terminal, das sich auf dem Desktop befindet und geben Sie den Befehl ping <IP-Adresse> ein. Erhalten Sie ein Echo-Reply Paket? Erklären Sie das auftretende Verhalten. Aufgabe2 farpd Beschreiben Sie die Aufgabe, die das Tool farpd wahrnimmt. Ziehen Sie ggf. die man-page auf der VM Honeypot heran: man farpd 3
Aufgabe3 farpd und honeyd Starten Sie farpd und honeyd in der VM Honeypot mit folgenden Befehlen: farpd 192.168.186.0/24 honeyd -d -i eth0 -f /home/student/honey/honey.conf -l /home/student/honey/log/packet.log -s /home/student/honey/log/services.log 192.168.186.76 192.168.186.75 a) Versuchen Sie nun die simulierten Hosts erneut anzupingen. Sind die Ziel-Hosts erreichbar und erklären Sie ggf. warum? b) Ist es möglich, durch die Antwortzeit einen Rückschluss auf simulierte Honeypots zu schließen? 4
Aufgabe4 nmap Ping- Scan Führen Sie nun einen Ping-Scan mittels nmap von der VM HoneyClient durch. INFO: nmap verwendet standardmäßig einen ARP-Ping anstatt eines ICMP-Pings innerhalb des gleichen LANs, um einen Host auf dessen Erreichbarkeit zu prüfen. Da das Tool farpd mit einem ARP-Reply-Broadcast und nicht mit einer direkt adressierten ARP-Reply-Nachricht antwortet, schlägt der ARP-Ping fehl und nmap führt keinen Scan durch. Mittels --send-ip wird nmap mitgeteilt, dass es einen ICMP-Ping verwenden soll. Nun ist eine Interaktion mit dem Honeypot innerhalb des gleichen LANS über farpd möglich. sudo nmap -sp --send-ip 192.168.186.75-76 a) Was fällt bezüglich der MAC-Adressen der simulierten Hosts auf? Gibt es eine Besonderheit? Nmap bietet die Möglichkeit, ein Betriebssystem und Services anhand von deren Charakteristika zu erkennen. Benutzen Sie folgenden Befehl im Terminal vom HoneyClient, um ein OS- und Application-Fingerprinting durchzuführen. sudo nmap -O -A --send-ip 192.168.186.75-76 b) Werden alle Betriebssysteme und Anwendungen erfolgreich erkannt? 5
Unter Linux steht das Tool netcat (nc) zur Verfügung, das es erlaubt, eine Terminal- Verbindung zu einem entfernten Host aufzubauen. c) Bauen Sie eine Terminal-Verbindung zum SMTP-Dienst des virtuellen Linux-Hosts auf. nc 192.168.186.75 25 Versuchen Sie folgende Befehle anzuwenden: HELO client HELP Werden die Befehle akzeptiert? Lässt der Host-Name einen Rückschluss auf den nicht simulierten Host HoneyClient zu? 6
Aufgabe5 Loganalyse Analysieren Sie nach den in Aufgabe 4 durchgeführten Scans die Log-Dateien in der VM Honeypot im Verzeichnis /home/student/honey/log/. 1. Geben Sie den Befehl cd /home/student/honey/log/ ein, um in das Verzeichnis zu gelangen. 2. Der Inhalt einer Datei kann mit dem Befehl cat <Dateiname> more ausgegeben werden. Wurden die eingegebenen SMTP-Befehle in der Datei smtp-.log protokolliert? 7
Aufgabe6 Eigenen Honeypot Die Datei nmap.prints im Verzeichnis /etc/honey/ auf dem System Honeypot enthält alle Fingerprints, die durch nmap erkannt werden. 1. Suchen Sie sich einen eigenen Fingerprint aus dieser Datei mittels folgendem Befehl aus: cat /etc/honeypot/nmap.prints more 2. Notieren Sie sich den ganzen Namen des ausgewählten Fingerprints, der hinter dem Schlüsselwort Fingerprint steht. 3. Fügen Sie einen neuen Host in die Konfigurationsdatei /home/student/honey/honey.conf hinzu. Benutzen Sie dabei den Aufbau der vorhandenen virtuellen Hosts und passen sie den Templatenamen, die Personality und das Binding entsprechend an. Für die Konfiguration stehen die Benutzer nano und vi zur Verfügung. 4. Starten Sie nun wie gehabt honeyd und führen Sie erneut einen Scan durch. Wird Ihr neues System richtig erkannt?.... 8