EXPLOITS . . .

Was ist ein Exploit ?

Ein Exploit ist ein Programm, welches eine Schwachstelle in einer Soft- oder Hardware ausnutzt. Die meisten Exploits nutzen das betreffende System so aus, dass sie einem
den Zugriff auf das System ermöglichen (meist wird eine Shell gestartet oder eine Eingabeaufforderung geöffnet - je nach Betriebssystem). Zumeist sind Exploits sehr spezifisch, d.h. sie funktionieren nur bei einer Schwachstelle.
Kurzum : Exploits sind jene Programme, die euch helfen in fremde System einzusteigen.

Die 2 Gruppen von Exploits...

Grundsätzlich lassen sich Exploits in 2 Kategorien unterteilen:

local exploits & remote exploits

Local exploits:
Hierbei handelt es sich um Exploits, bei denen man bereits Zugriff (Zugang) auf das System haben muss. Dies kann in Form einer (remote) Shell sein, oder aber man sitzt vor dem Rechner selbst. Die Exploits müssen dann lokal - wie der Name schon verrät - ausgeführt werden, d.h. ihr müsst dann z.B. einfach an einer shell vom Zielsystem den Exploit ausführen.
Solche Exploits verhelfen einem zumeist zu höheren Privilegien auf dem System. Zum Beispiel kann ein normaler Benutzer unter UNIX mittels eines Exploits root-Rechte erhalten - also sich selbst zum Superuser "befördern".

Remote exploits:
Solches Exploits werden NICHT direkt am Zielsystem selbst ausgeführt. Der Angreifer führt den exploit auf seinem System aus und richtet den Angriff gegen das Zielsystem.
Remote exploits benötigen also keinen Zugang auf dem Zielsystem (d.h. man muss kein User des Systems sein). Remote exploits nutzen dass Zielsystem aus der Ferne aus und verschaffen dem Angreifer so Zugriff auf das System. Diese Exploits werden dann benutzt, wenn man KEINEN (lokalen) Zugriff (in jeglicher Form, wie zum Beispiel nen gülten Usernamen + Passwort) auf das Zielsystem hat, was ja meist bei Rechnern im Internet der Fall ist.

Wie benutze ich einen Exploit ?

Exploits werden zu 99 % als Quellcode verbreitet, also als noch nicht lauffähige Programme.
Die beliebteste Programmiersprache in der die Exploits verfasst sind, ist C. Deshalb werd ich gleich mal erklären, wie man einen solchen Exploit in ein lauffähiges Programm verwandelt. Viele Exploits können auf einfachste Weise compiliert werden, und zwar mittels dieser einfachen Befehlsfolge - unter Linux zum Beispiel:

gcc exploit.c -o exploit

Dieser Vorgang compiliert und linked den Exploit exploit.c zu einem lauffähigen Programm namens exploit. Nun ist der Exploit lauffähig und man kann ihn ausführen und zwar so zum Beispiel:

./exploit Paramter1 Parameter2 blah blah blah

Welche Parameter dem Exploit übergeben werden müssen hängt vom Exploit selbst ab. In den meisten Exploits steht eine kleine Anleitung, wie man sie zu benutzen hat, also welche Parameter was bedeuten und so weiter. Meist benötigen die Exploits keine weiteren Angaben (local exploits), manchmal jedoch die Angabe des Zielsystems in Form eines Hostnamen oder einer IP (remote exploits). Wenn die Compilierung nicht wie oben beschrieben klappt, so steht meistens in den Exploits selbst wie man den Exploit zu compilieren hat.

Wo finde ich denn AKTUELLE Exploits ?

Das ist genau das Problem, was viele von euch haben werden: AKTUELLE Exploits zu finden. Ein Exploit aus dem Jahre 1996 bringt in den meisten Fällen nicht mehr sehr viel, denn auch der letzte Administrator aus der Monoglei wird den Bug beseitigt haben oder aber die Softwarehersteller selbst werden den Bug behoben haben. Mit anderen Worten ein solch veralteter Exploit wird in den meisten Fällen nicht mehr funktionieren, weil er einfach schon zu bekannt ist und Abhilfe geschaffen worden ist. Ein Beispiel für einen solchen Exploit wäre der PHF-Bug. Ein Bug der Anfang 1996 entdeckt wurde. Zu Anfang funktionierte er wunderbar. Nach kurzer Zeit aber haben immer mehr Administratoren den Bug behoben und somit den Exploit unbrauchbar gemacht. Seit ca. 1997 kann man damit sehr, sehr wenige bis keine Systeme mehr knacken, weil kaum eins mehr verwundbar ist.
Dieses kleine Beispiel sollte verdeutlichen, wie wichtig aktuelle Exploits sind. Im Netz gibt es ein paar mehr oder weniger bekannte pages bei denen man aktuelle Exploits finden kann. Ja, auf jenen Pages werden sogar manchmal TÄGLICH 10 - 20 Bugs und Exploits hochgeladen.

Hier ist eine KLEINE Liste an Pages, die aktuelle Exploits zum Download bereitstellen:

packetstorm.securify.com
neworder.box.sk
www.hack.co.za

Ich denke das reicht für den Anfang.

Warum funktionieren manche Exploits nicht ?

Es kann immer mal vorkommen, dass man ein verwundbares System gefunden hat, sogleich den passenden Exploit ausprobiert hat, aber der Exploit nicht den gewünschten Effekt hervorgebracht hat. Er hat schlicht und einfach versagt. Das kann einerseits daran liegen, dass ihr nen Fehler gemacht habt bei der Parameterübergabe, d.h. ihr habt nen fehlerhaften Parameter übegeben, wie zum Beispiel nen falschen Port oder ne falsche Adresse. So etwas kann man leicht beheben, indem man einfach vorisichtiger und sorgfältiger die Parameter übergibt und genau überprüft, ob sie auch den Erwartungen des Exploits entsprechen. Ein anderer Grund, warum ein Exploit mal nicht klappt liegt zumeist darin, dass Exploits oft zu hektisch programmiert worden sind und sich dabei Fehler eingeschlichen haben. Exploit-Programmierer programmieren den Exploit zumeist in wenigen Minuten. Dies kann Programmierfehler mit sich bringen, die den ganzen Exploit zunuichte machen. Dagegen hilft, sich den Exploit genau anzusehen. Zunächst sollte man versuchen zu verstehen, worum es bei dem Bug geht und dann sollte man sich genauer den Exploit ansehen und schauen, wie er versucht jenen Bug auszunutzen. Dann entdeckt man relativ schnell Programmierfehler. Ein weiterer Grund, warum ein Exploit nicht klappt, sind ABSICHTLICHE Programmierfehler. Häufig bauen Exploit-Programmierer (wie die ADM-Crew, etc.) absichtlich nen Fehler in ihre Exploits - so dass diese dann nicht funktionieren - um zu verhindern dass script kiddies den exploit einfach so nutzen, ohne sich genauer mit dem exploit beschäftigt zu haben. Ein weiterer Grund warum man sich immer VORHER den Exploit anschauen sollte und nach (absichtlichen) Fehlern untersuchen sollte. Häufig sind solche absichtlichen Bugs leicht zu identifizieren (manche wiederum auch nicht) und ebenso einfach zu beheben. Beliebte "Orte" für absichtliche Bugs sind die sog. Shellcodes in den Exploits.