Richtige Hacker brauchen keine Tools. Oder doch? Marc Ruef | 14.04.2008 Ich kann nun fast auf 10 Jahre professionelles Security Testing zurückblicken. Dabei muss ich behaupten, dass ich viele sonderbare und lustige Dinge gesehen und erlebt habe. Vor allem aus dem Blickwinkel der heutigen Zeit erscheinen viele Geschichten von früher als besonders skurril... Der Bereich der Computersicherheit hat sich in jeglicher Hinsicht enorm verändert. Auch in positiver Hinsicht! Früher gab es sehr wenige gute Tools, die einem die Arbeit erleichtern konnten. Ja klar, nmap gabs und auch Nessus war verfügbar. Diese Produkte steckten jedoch noch eher in den Kinderschuhen (einige von ihnen auch heute noch). Für viele Dinge blieben sie ungeeignet, so dass man halt selber Hand anlegen musste. Mit Telnet oder Netcat bewaffnet, generierte man dann halt seine eigenen Anfragen und versuchte die jeweiligen Netzwerkdienste zu verstehen. Die richtigen Hacker von damals wussten also sowieso, dass sie nach einem Nessus-Scan die Zielumgebung zusätzlich manuell durchgucken mussten. Also konnte man sowieso meistens auf die Toolkits verzichten. Wer solche brauchte, wurde dann auch eher belächelt. Viele geschickte Leute haben also viele geschickte manuelle Test-Techniken entwickelt. Das war und ist natürlich cool. Doch einerseits wird dies irgendwann langweilig. Wenn man zum hundertsten Mal "echo -en 'OPTIONS * HTTP/1.0\n\n' | nc 192.168.0.1 80" eingegeben und die HTTP-Header der Rückgabe studiert hat, sehnt man sich nach einer Automatisierung (http://www.computec.ch/comment.php?comment.news.121). Die bekannten Tools wurden weiterentwickelt und neue Lösungen geschaffen. Viele der langwierigen Datensammlungen konnten so sehr gut automatisiert werden. Doch auch gerade im wirtschaftlichen Kontext - also die Professionalisierung von Sicherheitsüberprüfungen - ist diese grundlegende Automatisierung enorm wichtig. Vor einiger Zeit durfte ich einen umfangreichen Penetration Test für einen Internet Service Provider durchführen. Insgesamt 354 Zielsysteme konnte ich ausmachen, die ich entsprechend über Wochen hinweg genauer unter die Lupe nahm. Hätte ich die allgemeine Datensammlung mit host, ping, traceroute, tcptraceroute, hping3 und nmap nicht automatisiert, hätte ich wohl etwa 100 Mal länger gehabt. Schliesslich hätte ich "ping -c 3 192.168.0.1", dann "ping -c 3 192.168.0.2", dann "ping -c 3 192.168.0.3", ... eingeben müssen. Nein, ich bin nicht Sicherheitsspezialist geworden, um wie ein dummer Roboter immerwieder die gleichen Kommandos auf einer Konsole einzugeben! Vor einiger Zeit erhielt ich den Auftrag, ein umfassendes Reverse Engineering einer komplexen Arbeitsumgebung durchzuführen. Bei einer Analyse im lokalen Netzwerk sollte ich sämtliche Schwachstellen der Umgebung ausfindig machen. An der Kickoff-Sitzung legte ich meine Anforderungen an das Projekt dar. So wies ich darauf hin, dass ich mit mindestens einem Scanning-Laptop vorbeikommen würde. Auf diesem würden mindestens zwei VMware-Instanzen mit jeweils Microsoft Windows XP und Debian GNU/Linux laufen. Die strikte Policy des Kunden sah jedoch nicht vor, dass externe Geräte ins lokale Netz eingebracht werden konnten und das Stellen eines Antrags für eine Ausnahmebewilligung dauerte zu lange. Also wollte man mir einen herkömmlichen Arbeitsplatzrechner zur Verfügung stellen. Ich fragte denn, ob ich darauf meine VMwares einbringen können. Die zu meinem Erstaunen sehr überhebliche Antwort war, dass es lediglich ein normales Client-System (Microsoft Windows XP) sei - Schliesslich könne man solche Tests auch mit den Bordmitteln von Windows durchführen. Und weiter: "Ein richtiger Hacker braucht keine Tools!" Dem will ich nicht widersprechen. Ja, ich kann eine Webapplikation und einen LDAP-Server auch mit Netcat testen. Notfalls auch mit Telnet (obschon das mit den UDP-Ports dann ein bisschen schwierig wird). Das Problem dabei ist nur, dass ich etwa 150 Mal länger brauche, weder wenn ich auf mein zusammengestelltes und selber erweitertes Toolset zurückgreifen kann. Ein manuelles Mapping in einem Klasse-C-Netzwerk mit Telnet ist mühsam. Ein Portscan mit eben diesem ebenso. Meine lapidare Antwort war: "Sollten Sie mir den 150-fachen Zeitaufwand zahlen, werde ich Ihren Anforderungen gerne gerecht werden. Für Wirtschaftlichkeit kann ich aber nicht mehr garantieren." Es scheint mir, als sei heutzutage die allgemeine Datensammlung sehr gut automatisiert worden. Auf die entsprechenden Skripte und Utilities sollte man auch als vermeintlich "professioneller Hacker" zurückgreifen dürfen und sollen. In Bezug auf individuelles Exploiting wird es jedoch wohl nie eine vollumfängliche Automatisierung geben. Also da darf man dann wieder mit Netcat und raw sockets (http://en.wikipedia.org/wiki/Raw_socket) rumspielen. Einem Penetration Tester jedoch ein Windows XP ohne Adminrechte als Testsystem zur Verfügung zu stellen und zu behaupten, dass ein richtiger Hacker auch damit zuechtkommt, ist nur noch ungeschickt. Sowohl akademisch als auch wirtschaftlich. Und irgendwie ist es auch ein bisschen beleidigend.