Erweiterte Administrationstechniken - Honeynets and so on...(1. Fassung: Stoffsammlung) - man sollte immer noch ein As im Ärmel haben, welches der Blackhat nicht sieht: so z.B. snort zum Abhören allen Netzwerktraffics - kann somit auch als zweiter Remote-Log-Server angesehen werden; somit können weitere Systeme in unserem Netz infiltriert werden, ohne dass man etwas verlieren würde - Informationen über den Blackhat sammeln: schlage den Gegner mit seinen eigenen Waffen, benutze z.B. modifizierte Versionen der bash und anderer Programme, um einen effektiven Keylogger eingerichtet zu haben; lasse dem Gegner hingegen Freiräume, so dass er keinen Verdacht schöpft - nach einem Einbruch in einen deiner Rechner wird der Blackhat sich zunächst um dein Netz kümmern und es ausspionieren; er wird sich Tools aus dem Inet saugen - und genau hier kann man ihn anhand seiner Aktivitäten erkennen; hat er sich im lokalen Netz genug umgesehen, wird er sicher Scans und Angriffe auf andere Rechner im Inet starten; hier muss man abwägen zwischen der Anzahl von Informationen, die man sammeln will und dem Schaden, den ein Cracker anrichten kann; man darf ihm schließlich auch nicht zuviel erlauben... - Honeynet einrichten: mit Kontrolle und Erfassung der Daten des Hackers; Datenkontrolle: dem Blackhat Freiräume lassen, aber nicht zuviel erlauben, ihn das eigene Netz infiltrieren lassen, aber illegale Aktivitäten auf das Inet unterbinden; Datenerfassung: Mit snort und ähnlichen IDS allen Netzwerktraffic sniffen und relevante Daten über den Hacker sammeln, ihn aber keinen Verdacht schöpfen lassen - eine interessante Lösung im Fall der Datenkontrolle zum Inet hin ist, Zugriffe des Hackers nicht nur durch eine Firewall zu blocken, sondern einen nicht auf IP basierenden Layer2-Router einzurichten, der die Anfragen des Hackers nicht blockt, sondern modifiziert und Traffic regelt; so könnte der Router zwischen Honeynet und Firewall gesetzt werden und der Router modifiziert ausgehende Exploits oder DoS-Angriffe sowie Scans bzw. setzt eine Bandbreitenbeschränkung ein, sodass sie zwar beim Zielsystem ankommen und dieses darauf reagiert, ihre Wirkung jedoch im Nichts verpufft - der Blackhat sieht somit nicht, warum es nicht funktioniert hat; ebenso könnten von der Firewall zurückgewiesene Pakete als ein RST-Paket an den Cracker im Honeynet zurück gegeben werden, so dass dieser nur sehen würde, dass die Verbindung nicht hergestellt werden konnte, was er darauf zurückführt, dass der Rechner nicht erreichbar sei oder er den Dienst nicht ansprechen kann, sei es, weil dieser nicht installiert ist oder weil eine Firewall an dem entsprechenden Rechner die Verbindung filtert; eine Lösung dabei ist HogWash (http://hogwash.sourceforge.net), welchen einen Layer2-Gateway aufsetzt, Daten filtert und IDS-mäßig nach einem bestimmten Muster sucht, nach dem dann einzelne Bytes verändert werden; durch die Layer2-Funktionalität sieht ein Cracker diesen auf einem Gateway installierten Dienst nicht; eine zweite Lösung stellt der vereinte Einsatz von snort und iptables dar; dazu dient das IPTables-Script rc.firewall-gen2, welches ebenfalls Layer2-Funktionalität bietet und zusätzlich im laufenden Betrieb mittels der QUEUE-Option von iptables Pakete aus dem Kernel Space nimmt, diese von snort inspizieren lässt und entsprechend darauf reagiert; snort wird das Modifizieren von Paketen erst ab v1.10 unterstützen, jedoch kann man das Paket mit dem Update "Snort Inline" patchen, was genau diese Funktionalität einbindet - nun ist der Einsatz von snort in Zeiten von SSH, SSL oder IPSEC aber oftmals sinnlos, da verschlüsselte Pakete nun schlecht ausgewertet werden können; ein Lösungsansatz ist der Einsatz von einer modifizierten Bash, sodass Pakete lokal gespeichert werden und nicht erst von einem Router auszuwerten sind; diese Lösung bietet aber wenig Kapazitäten und kann von einem Angreifer durch ein Rootkit "aus Versehen" auch ersetzt werden; eine weitere Lösung bietet ein Mitlesen der Daten lokal auf der Kernelebene, sodass die Informationen schon vor einer Verschlüsselung gespeichert werden können; die große Herausforderung ist aber nicht etwa das Loggen der Daten, sondern vielmehr das remote Speichern auf einem Log-Server, was unbedingt eingesetzt werden sollte, vor allem wenn man bedenkt, dass ein Blackhat auch den gesamten Festplatteninhalt löschen könnte; normale IP-Verbindungen sind zu auffällig und ein Cracker würde sofort aufmerksam werden; die Nutzung der seriellen Schnittstelle wäre nicht so verräterisch, hierbei müssten allerdings physikalische Verbindungen zu allen Honeypots des Netzes gelegt werden, was wohl schwierig realisierbar und zudem uneffektiv wäre; - eine viel effizientere Methode ist hingegen die Nutzung von "Encapsulation", d.h. die Daten, die abgefangen werden, gespooft mittels Verbindungen zu versenden, die augenscheinlich nicht aus einer Übertragung von Logging-Daten stammen könnten (was dann aber doch stattfindet); im Speziellen könnte man die Daten in Broadcast-NetBIOS-Pakete verpacken, dabei die eigene MAC- und IP-Adresse verändern, so dass es scheint, als ob die Pakete von einem Windows-Rechner im Netz stammen würden (falls Windows als Desktop-OS genutzt wird) und nicht vom eigenen Rechner; für einen Cracker würde es so aussehen, als ob es sich um ganz normale Abfragen innerhalb des Netzes handeln würde, heimlich extrahiert ein Rechner wie der Honeynet-Gateway allerdings die enthaltenen Daten und schreibt sie in eine Datei; man sollte allerdings aufpassen, nicht zu viele dieser Pakete zu versenden, damit der Blackhat keinen Verdacht schöpft; doch es muss nicht nur unbedingt NetBIOS sein: NTP, DNS und ebenso IPX lassen sich auch sehr gut für eine versteckte Datenübertragung "missbrauchen", man ist nicht auf ein einzelnes Protokoll und ebenfalls nicht auf TCP oder UDP beschränkt - "ungewöhnliche" Protokolle wird ein Angreifer nicht erwarten, wodurch die Chance wächst, dass das Ausspionieren des Crackers nicht entdeckt wird; den sichersten Weg stellt nicht zuletzt eine Übertragung der Daten mittels SSH dar, so kann man sein heimliches Logging sogar vor den Augen des Crackers schützen; dabei muss der Honeypot, von dem die Keystrokes übertragen werden, gleichzeitig als Client und als Server agieren, der Honeynet-Gateway fängt dann die Daten ab und entschlüsselt sie wieder; die erste Lösung unter Zuhilfenahme von NetBIOS-Paketen kann durch ein Programm namens "Sebek" realisiert werden; es enthält ein Kernel-Modul, in welchem die gewünschte zu spoofende MAC- und IP-Adresse konfiguriert werden muss und welches nachfolgend die Eingaben des Crackers mittels gefälschten NetBIOS-Paketen als Broadcast versendet; den zweiten Teil des Programms stellt eine Anwendung für den Honeynet-Gateway dar, welche die übertragenen Daten im Netz passiv snifft und die Schritte des Blackhats auswertet; andere Lösungen bestehen ebenfalls, so z.B. gibt es Kernel-Patches (http://www.axehind.com/honeynet/), welche dieselbe Funktionalität bereitstellen (c) 2002 by RTC, www.linux-related.de
|