Das Ziel ist der Weg Marc Ruef | 25.02.2008 Seit jeher propagiere ich ein 4-phasen Modell der Charakterentwicklung im Bereich der Computersicherheit: Ein jeder beginnt als (1) unbedarfter Endanweder, der sich als (2) Skript-Kiddy durch Tools an das Thema Computersicherheit herantastet. Durch eine konkrete Spezialisierung kann man sich sodann zu einem (3) semi-professionellen Fachspezialisten (z.B. Unix-Administrator) oder gar einem (4) professionellen Angreifer (z.B. Penetration Tester) entwickeln. Dabei verändern sich zwar im Laufe der Zeit die Ziele. Das erworbene Wissen bleibt jedoch stetig bestehen. Befindet man sich in der Phase des Skript-Kiddies, spielt vor allem eins eine wichtige Rolle: Ports. Diese werden als Pforten zur digitalen Welt empfunden. Mit einem schicken Portscanner bewaffnet, werden mehr oder weniger wahllos irgendwelche Systeme abgescannt, um etwaige Schwächen zu finden. Irgendwann findet man halt dann einen offenen Port, den man so nicht erwartet hätte. Sei es nun ein freizügiger FTP-Server auf seiner liebsten Webseite oder ein alternativer HTTP-Port für die Systemadministration. Auch heute noch spielen Ports eine wichtige Rolle, wenn es um die Prüfung von Netzwerksystemen geht. Um einen Portscan kommt man halt doch nicht drum herum. So war ich vor einiger Zeit mit einem Penetration Test für ein weltweit tätiges Finanzunternehmen beschäftigt. Wir entschieden uns für einen Greybox-Approach, bei dem uns nach Möglichkeiten interne Details zur Umgebung bereitgestellt werden sollten. Eigentlich hätte es eine Whitebox-Analyse mit kompletter Transparenz werden sollen. Da der Kunde sein Netzwerk jedoch nur lückenhaft dokumentiert hat, mussten wir mit partiellen Hintergrundinformationen vorlieb nehmen. Ich wühlte mich also durch die jeweiligen Konfigurationen der Routing- und Firewall-Elemente. Das Netzwerkdiagramm entsprach in vielen Punkten nicht den Gegebenheiten, die ich in den Einstellungen vorfand. Und auch meine ersten Mapping-Versuche zeigten ein verworrenes Bild von Inkonsistenzen. Ein Grossteil meiner Zeit musste ich also nun mal damit aufwenden herauszufinden, welche der mir vorliegenden Informationen stimmen würden und wieso dies der Fall sein soll. Wohl noch nie habe ich so viel Zeit mit dem Mapping eines Zielnetzwerks verbracht... Nach rund 8 Stunden hatte ich über alle erdenklichen Methoden die existenten und erreichbaren Systeme in den definierten IP-Adressbereichen (mehrere Klasse A-Netze) ausgemacht. Manche von ihnen waren wirklich schwierig zu finden, da sie sich weder mit klassischem ICMP-Mapping (Ping) noch mit erweitertem TCP-Mapping ausmachen liessen. Ich bediente mich eines kleinen Tricks: Durch ein Reverse-Lookup der IP-Adressen versuchte ich die Hostnamen der jeweiligen Systeme ausfindig zu machen. War ich erfolgreich, musste sich mit grösster Wahrscheinlichkeit ein aktives System dahinter befinden. Diese Daten pflegte ich fein säuberlich in unsere Scanning-Datenbank ein. Ich dokumentierte also, welche Systeme ich mit welcher Technik ausfindig machen konnte. Dadurch wurde es moeglich, vor dem Weiterführen des Testings eine offizielle Absegnung durch den Kunden zu erreichen. Dieser sollte uns verifizieren, dass es sich dabei um die gewollten Zielsysteme handelt. Dem etwaigen Übersehen von Hosts oder das irrtümliche Miteinbeziehen von solchen sollte entgegengewirkt werden. In der Tat war es dem Kunden möglich, noch einige weitere Systeme für die Kontrolle hinzuzufügen. Diese waren mir aufgrund sehr restriktiver und exotischer Portbelegungen beim UDP-Mapping durch die Lappen gegangen. Wir waren wirklich froh, dass eine solche Rücksprache stattgefunden hat. Denn es gibt nichts schlimmeres, weder wenn bei der Besprechung der Resultate die Frage auftaucht, warum System X nicht geprüft wurde!