Title: Honeypot
1Honeypots oderWer will an meine Honigtöpfe
- Bodo Gelbe
- Andreas Ißleiber
2Problemstellung
- Zunehmende Scans und Attacken auf die eigenen
Systeme. - Interesse des Sicherheitsbeauftragten
- Wer attackiert?
- Welche Applikationen werden angegriffen?
- Welche Techniken werden angewendet?
- Aber nicht gewünschte (gefährliche) Verbindungen
werden - (hoffentlich) durch Firewall-Komponenten
abgewiesen und - IDS-Systeme können nur bedingt Auskunft über die
verwen- - deten Techniken geben (nach welchen
Userid/Passwort-Kom- - binationen wird z.B. gesucht)
3Lösung
- System(e) anbieten, die frei zugänglich sind und
Scans unter- - worfen,attackiert und kompromittiert werden
können, soge- - nannte Honeypots (Honigtöpfe). Realisierung
über - Emulation einiger Anwendungen (Services), nicht
des kom-pletten Operating-Systems - Komplettes (reales) Operating-System, z.B auch
unter VMware - Hardware und komplettes (reales) Operating-System
- Die GWDG setzt ein System ein, das verschiedene
Anwendun- - gen unter verschiedenen Operating-Systemen
emuliert - Honeyd von Niels Provost
- http//www.citi.umich.edu/u/provos/honeyd/
4Honeyd Konfiguration (1)
- Steuerung über eine Konfigurationsdatei
- create router1 set router1 personality "Cisco
7206 running IOS 11.1(24) - set router1 default tcp action reset
- add router1 tcp port 23 "/hd/router1-telnet.pl
ipsrc sport ipdst dport" - bind 1.1.1.1 router1
- Emuliert einen Cisco-Router mit IP-Adresse
1.1.1.1 und der Anwendung Telnet- - Server (per Script router1-telnet.pl).
- create msmailer1 set msmailer1 personality
"Windows NT 4.0 Server SP5-SP6 - add msmailer1 tcp port 25 "sh
/hd/exchange-smtp.sh ipsrc sport ipdst dport"
- add msmailer1 tcp port 80 "sh /hd/iis.sh ipsrc
sport ipdst dport" - add msmailer1 tcp port 143 "sh
/hd/exchange-imap.sh ipsrc sport ipdst dport"
- set msmailer1 default icmp action reset
- set msmailer1 default tcp action reset
- set msmailer1 default udp action reset
- set msmailer1 uptime 111204
- bind 1.1.1.2 msmailer1
- Emuliert einen Exchange-Server mit IP-Adresse
1.1.1.2 und den Anwendungen
5Honeyd Konfiguration (2)
-
- create mailer1
- set mailer1 personality "Linux Kernel 2.4.0 -
2.4.18 (X86)" - add mailer1 tcp port 21 "sh /hd/ftp.sh ipsrc
sport ipdst dport" - add mailer1 tcp port 22 "sh /hd/ssh2.sh ipsrc
sport ipdst dport" - add mailer1 tcp port 25 "sh /hd/sendmail.sh
ipsrc sport ipdst dport" - add mailer1 tcp port 80 "sh /hd/apache.sh
ipsrc sport ipdst dport" - add mailer1 tcp port 110 "sh /hd/emulate-pop3.sh
ipsrc sport ipdst dport" - set mailer1 default icmp action reset
- set mailer1 default tcp action reset
- set mailer1 default udp action reset
- set mailer1 uptime 1924204
- bind 1.1.1.3 mailer1
- Emuliert einen Linux-Mail-Server mit IP-Adresse
1.1.1.3 und den Anwen- - dungen FTP-Server (Port 21), SSH-Server (Port
22), SMTP-Server (Port - 25), WWW-Server (Port 80) und IMAP-Server (Port
143)
6Honeyd Design
- Honeyd läuft als Daemon auf einem System, für die
Honeypots bestimmter Traffic muß auf dem
Internet-Router an dieses System geleitet werden - Trägersystem Linux, BSD oder Solaris
- Honeyd simuliert den TCP/IP-Stack und zwar gemäß
der in der Konfiguration zugewiesenen
Personality, z.B. Linux Kernel 2.4.0 - 2.4.18
(X86). Diese entspricht den nmap-Spezifikationen,
sodaß ein Personality-Scan mit nmap das
entsprechende System ausweist. - Wird ein in der Konfiguration definierter Service
angesprochen, ruft Honeyd das entsprechende
Script auf und übergibt eingehenden Traffic an
dieses. Vom Script erzeugte Ausgabe läuft durch
den simulierten TCP/IP-Stack. Verfügbare Scripts
apache, cyrus-imap, pop3, exchange-imap,
exchange-nntp, exchange-smtp, fingerd, ftp, iis,
lpd, msftp, msldap, msvnc, proftpd, qpop,
router-telnet, sendmail, smtp, squid, ssh, ssh2,
syslog, telnet
7Honeyd bei der GWDG
-
- Zwei Class-C-Netze, die vorher noch nicht benutzt
wurden und in keinem Nameserver auftauchen - Emulierte Systeme
- Windows-Server-Systeme mit Anwendungen wie
WWW-Server (IIS) und Mail-Server (Exchange) - Windows-Client-Systeme
- Linux-Server-Systeme mit Anwendungen wie
WWW-Server (Apache), POP-Server und FTP-Server
(wu-ftpd) - Cisco-Router
8Honeyd Erfahrungen (1)
- Wenige Stunden nach Inbetriebnahme bereits erste
Attacken - Statistik September 2003
- Pings 599.396
- Zugriffe auf TCP 1434 3.497.644SQL-Server-Port
UDP 1434 138.951Lücke im RPC-Dienst TCP
135 2.374.480 UDP 137 358.916 TCP
445 1.382.956Blaster-Wurm TCP 4444 1.022.498 - Sieger im September 61.74.81.35 (kornet.net
Provider in Korea) mit 928.398 Paketen
9Honeyd Erfahrungen (2)
- Attacken auf Applikationen
- IIS
- ca 10.000 Sessions im September 2003
- Suche nach Code Red
- GET /scripts/..255c255c../winnt/system32/cmd.exe
?/cdir - FTP
- Suche nach offenen Usern admin, guest, backup,
z.B. 2000 Versuche von einem t-dialin.net Account
- Versuch, ein beschreibbares Verzeichnis zu finden
10Einsatzscenarien
- Wo/Wie kann ein Honeypot sinnvoll eingesetzt
werden? - Als dauerhaft installiertes System
(Produktivsystem) - Aufwand, die anfallenden Daten auszuwerten
- Anlocken von zu vielen Angreifern
- Problem Wird von guten Hackern der Honepot als
Honeypot erkannt, motiviert es den Hacker
weitertzugehen - Honeypots dienen i.d.R. der Statistik
- Wirkung der Honeypots fraglich bei Script
gesteuerten Angriffen semiprofessioneller Hacker - Juristisches Problem Verleitung zu Angriffen ?
AI
11Einsatzscenarien
- Wo/Wie kann ein Honeypot sinnvoll eingesetzt
werden? - Als mobiles System (sinnvoll)
- Sinnvoller Einsatz als Austauschsystem gegen
Systeme, die kompromittiert wurden (Einbruch ist
bereits erfolgt) - Zur Verfolgung der Quelladresse bei Einbrüchen
(etwaige Beweissicherung) - Zur Rekonstruktion und Verfolgung eines Angriffes
12Einsatzscenarien
- Wie setze ich ein Honeypot richtig ein ?
- Auf einem minimalisiertem System (Linux, BSD,
ohne X und weitere Dienste) - System selbst solle durch Firewall (lokal)
gesichert werden (LINUX -gt IPTABLES) - Einsatz nur in Umgebungen, die netztechnisch
nicht in direkter Nähe von Produktivsystemen
stehen - Heonypot-System selbst darf nicht kompromittiert
werden (wenig Dienste und Anwendungen auf dem
System) - Vor einer Firewall (oder in DMZ)
- Im realen IP-Adressbereich des Instituts
13Einsatzscenarien
- Welche Honeypot Systeme gibt es ?
- BackOfficer Friendly als Windows Anwendung
(Freeware) - Minimalprogramm zur Simulation von(FTP,Telnet,SM
TP,Imap,POP3,HTTP etc.) - Geringer Leistungsumfang, schwache Auswertung
- Symmantec Decoy Server / ManTrap
(Kostenpflichtig) - Honeyd (OpenSource)
- Mittlerweile weit verbreitet
- Modular, Erweiterbar
- Im Wesentlichen für LINUX, aber (reduziert) auch
für Windows erhältlich - Honeyd wird in der Regel in Verbindung mit einem
modifiziertem ARPD eingesetzt - Kein Plug Play System, Handarbeit ist
erforderlich
14Honeyd Beispiel
- Honeyd mit KNOPPIX/Debian LINUX
- Knoppix (GWDG Variante)
- System booted von CD, volatile Daten werden auf
USB Stick, Disk, oder HDD gespeichert ( Logfiles
sowie Einstellungen etc.) - OS läuft nur in RAMDISK
- System kann auf andere Rechner portiert werden
(gute Hardwareerkennung wg. KNOPPIX) - Bei Attacken auf honeyd ist die CD-Bootvariante
weniger anfällig - Bei ausreichendem Interesse der Institute, kann
die GWDG eine vordefinierte Version als
Bootimage/CD zur Verfügung stellenDiese Version
enthält schon fertig definierte Sätze an OS und
Servern/Diensten (Webserver, Mailserver, IIS,
ADS)
15Honeyd Beispiel
Honeyd mit KNOPPIX/Debian LINUX Knoppix (GWDG
Variante) Beispiel
- Entscheidene Dateien
- config Definition des OS, Dienste etc.
- xprobe2.conf nmap.prints (Fingerprints der
Systeme, IP-Stack, Verhalten) - Arpd (oder farpd) ARP Daemon (modifiziert)
- Honeyd (Binary des Honeyd)
- ./scripts/ Scripte (Shell, Perl etc.) die das
Verhalten der Dienste simulieren (POP3.sh,
iis-emul.pl etc.) - Logfiles (/var/log/honeyd/)
16Honeyd Beispiel
Honeyd mit KNOPPIX/Debian LINUX Knoppix (GWDG
Variante) Beispiel
Beispielkonfiguration GWDG, 8/2003,
A.Issleiber CISCO router create cisco set
cisco personality "CISCO 2620 running IOS
12.1(6)" add cisco tcp port 22 "/usr/bin/perl
scripts/router-telnet.pl" add cisco tcp port 23
"/usr/bin/perl scripts/router-telnet.pl" set
cisco default tcp action reset Windows 2000
mit IIS 5 create windows set windows uptime
1748870 set windows uid 32767 gid 32767 set
windows personality "Windows Millennim Edition
(Me), Win 2000, or WinXP" add windows tcp port 80
"/usr/bin/perl scripts/win2k/iisemulator-0.95/iise
mul8.pl" add windows tcp port 143 "/bin/sh
scripts/win2k/exchange-imap.sh" add windows tcp
port 25 "/bin/sh scripts/win2k/exchange-smtp.sh" a
dd windows tcp port 110 "/bin/sh
scripts/win2k/exchange-pop3.sh" add windows tcp
port 119 "/bin/sh scripts/win2k/exchange-nntp.sh"
add windows tcp port 389 "/bin/sh
scripts/win2k/ldap.sh" add windows tcp port 21
"/bin/sh scripts/win2k/msftp.sh" set windows
default tcp action reset
LINUX Suse 8.0 als Mailer etc. create
suse80 set suse80 personality "Linux Kernel 2.4.0
- 2.4.18 (X86)" add suse80 tcp port 80 "/bin/sh
scripts/suse8.0/apache.sh" add suse80 tcp port 23
"/bin/sh scripts/suse8.0/telnetd.sh" add suse80
tcp port 21 "/bin/sh scripts/suse8.0/proftpd.sh" a
dd suse80 tcp port 22 "/bin/sh scripts/suse8.0/ssh
.sh" add suse80 tcp port 25 "/bin/sh
scripts/suse8.0/sendmail.sh" add suse80 tcp port
25 "/bin/sh scripts/smtp.sh" add suse80 tcp port
110 "/bin/sh scripts/suse8.0/qpop.sh" add suse80
tcp port 143 "/bin/sh scripts/suse8.0/cyrus-imapd.
sh" set suse80 default tcp action block set
suse80 default tcp action reset set suse80
default udp action reset set suse80 default icmp
action block Binden der Konfigurationen
(Templates) an die IP-Adresse bind 192.168.1.3
windows bind 192.168.1.4 cisco bind 192.168.1.5
suse80 bind 192.168.1.6 suse70 bind 192.168.1.7
xp
17. finish
Danke! Fragen ?