Man hoert ja immer wieder Antworten wie: "Besorg Dir ein Exploit." oder "Am einfachsten kommst Du mit nem Exploit rein." Da einige aber nicht wissen was ein Exploit ist bzw. welche Arten es gibt oder was man damit ueberhaupt machen kann, werd ich versuchen euch mal auf die haeufigsten Fragen die Antworten zu geben.

Was ist ein Exploit?

Exploit heisst uebersetzt soviel wie ausbeuten oder ausnutzen. Es macht also nichts anderes, als Sicherheitsluecken auf Systemen oder in Programmen auszunutzen. Ein Exploit ist meistens nur als Sourcecode zu finden, der kompiliert ein kleines Programm ergibt. Da sie meistens in C geschrieben sind, muss man also einen C - Compiler haben um diese auch nutzen zu koennen.

Welche Arten gibt es eigentlich?

Es gibt 2 verschiedene Arten, einmal ist da das Lokale Exploit, dass man nur ausfuehren kann, wenn man schon einen Account auf dem Zielrechner hat. Man muss also das Exploit auf dem Angriffsrechner ausfuehren, und dann gibt’s noch das Remote - Exploit, mit dem man von seinem eigenen Rechner aus Zugriff auf einen entfernten Rechner erhalten kann, ohne darauf einen Account zu haben.

Wo finde ich Exploits?

Bekannte Adressen sind www.rootshell.com, www.rootsecure.de und www.secureroot.com. Wenn man auf diesen Seiten nachsieht, wird man mit ziemlicher Sicherheit fuendig. Sollte man das gewuenschte Exploit nicht finden, einfach eine Suchabfrage bei www.metacrawler.com starten und die Ergebnisse durchforsten.

Was macht ein Exploit ueberhaupt?

Da es unmoglich ist, alle Vorgehensweisen von Exploits zu erklaeren, werd ich nur auf das Grundprinzip eingehen. Die meisten Exploits basieren auf dem System eines Pufferueberlaufs. Das heisst, sie starten ein Programm und uebergeben diesem Daten, die das Programm nicht richtig verarbeiten kann. Daraufhin schreibt es einen neuen Code in den Arbeitsspeicher, welcher meistens eine shell mit dem Benutzerrechten des Programms aufruft.

Wie wende ich es an?

Exploits sind meistens nur als Sourcecode zu finden. Linux - User haben hier schon mal gute Karten, da ein C - Compiler fest mit dem Systemkern von Linux / Unix verbunden ist. Man muss lediglich in die shell den Befehl

# gcc -o <ausgabe - datei> <programm>
# cc -o <ausgabe - datei> <programm>

eingeben. Gcc ist der Gnu-C- Compiler und cc ist der "normale" Compiler unter Linux. Bei <ausgabe - datei> wird der Name angegeben, den das fertige Programm haben soll. <programm> ist der Name der Datei, die kompiliert werden soll und wenn der Schalter -o nicht angegeben wird, wird das Programm immer als a.out gespeichert. Wenn ihr anschliessend fertig seid, muesst ihr eine Verbindung zum Ziel herstellen und das Exploit ausfuehren. Voraussetzung dazu ist natuerlich, dass ihr wisst, welches OS das Ziel einsetzt und welche Services angeboten werden. Das herauszufinden sollte kein allzu grosses Problem darstellen.

Vorsicht bei der Benutzung

Ihr muesst zuallererst mal wissen, was das Exploit "verursacht"; loescht es die Log - Dateien, verschafft es euch root - Rechte oder legt es den Server komplett lahm? Es kann auch sein, dass manche Exploits fehlerhaft sind. Das kann verschiedene Ursachen haben. Deshalb ist es (fast) unvermeidbar, Englischkenntnisse, Programmiererfahrung in C und vor allem Erfahrung ueber das System zu besitzen. Ihr solltet euch auch im klaren darueber sein, dass die Anwendung von Exploits meistens nicht erlaubt ist. Das Naechste ist dann, dass man nicht 100%ig sagen kann, ob der Systemadministrator euch nicht bereits ueberwacht. Selbst wenn man eine finger - Abfrage startet und root nicht online ist, besteht die Gefahr, dass er unter einem Benutzernamen im System ist und eure Aktivitaeten protokolliert.