PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP Tutorial



FrEe
16.08.2005, 22:17
FTP-Tutorial
--------------------------------------------------------------------------------


© by Prometheus


Was ist FTP überhaupt?

FTP bedeutet File Transfer Protocol. Wie der Name schon sagt ist es ein Protokoll, welches explizit für den Up-/Download von Daten gedacht ist. Es wurde viele Jahre vor HTTP entwickelt, und ist dementsprechend auch etwas angestaubt. Da aber HTTP verhältnismässig langsamer als FTP ist, da bei HTTP immernoch Prüfdaten mitgeschickt werden, kann der Up-/Download mit FTP durchaus schneller sein. Aber FTP - welches über den Port 23 läuft - kann man auch für Spielereien einsetzen, wie diese Dokumentation über das Hacken eines FTP-Servers zeigen soll.


Voraussetzungen für das Verständnis dieses Textes

Von Nutzen für das Verstehen dieser Dokumentation kann durchaus die Kenntnis von FTP- und/oder Unix-Befehlen sein. Es gibt viele Bücher über dieses Thema: Schaut Euch nur mal in der lokalen Bibliothek um! Mein liebstes Buch für Unix-Einsteiger ist das “Unix Einsteigerseminar”, welches zum Beispiel in der Gemeindebibliothek Wettingen (AG) ausgeliehen werden kann. Mir ist die ISBN-Nummer leider nicht bekannt, aber der Umschlag ist blau, und es stammt aus dem Anfang der 90er Jahre.


Was brauche ich für das Nutzen von FTP?

Nach der Installation eines Modems oder Netzwerkkarte unter Windows9x wird automatisch die Software für den Client-Seitigen Betrieb von FTP mitinstalliert. Jene lässt sich ganz einfach mit der Eingabe von “ftp” im Menü Start/Ausführen/ starten.

Danach erscheint ein kleines, schwarzes Fenster, welches stark der Eingabeaufforderung unter Windows ähnelt, nur dass statt dem Standart-Prompt von C:\> sich der FTP-Prompt mit FTP> meldet.


Wie funktioniert FTP?

Um einen kurzen Überblick über alle hier im FTP-Modus nutzbaren Befehle zu gewinnen, kann man einfach mal ? eingeben, woraufhin schön gegliedert alle FTP-Kommandos ohne weitere Informationen aufgelistet werden.

Falls schnell vom FTP- in den DOS-Modus gewechselt werden muss, kann dies mit der Eingabe von "!" geschehen. Der FTP-Prompt ändert sich in den DOS-Prompt. Man kann ganz normal unter DOS arbeiten. Um wieder in den FTP-Modus zu gelangen, muss man "exit" eintippen, und danach ENTER drücken.

Nun sollten wir uns mal langsam irgendwo connecten. Damit wir dies tun können, muss mindestens eine Netzwerk- oder Internet-Verbindung bestehen. Falls man sich innerhalb eines LAN’s befindet, welches von einer Firewall oder Proxy geschützt ist, kann es jedoch zu komplikationen kommen. Dazu jedoch später mehr.

Der Einfachheits halber habe ich als Demo-FTP-Server den Server des Schweizer Konzerns namens ABB genommen, welcher weltweit für das Entwickeln und Herstellen von Turbinen zuständig ist. Um nun eine Verbindung zu einem FTP-Server herzustellen, muss entweder dessen URL oder die IP-Adresse bekannt sein. Die URL des ABB-FTP-Servers lautet ftp.abb.ch . Er ist natürlich auch unter der IP-Adresse erreichbar, welche 138.223.70.10 lautet. Nun muss man im FTP-Modus unserer FTP-Software "open ftp.abb.ch" eingeben. Alternativ kann man auch mit der IP-Nummer arbeiten. Dann würde die Eingabe "open 138.223.70.10" lauten.

Danach erscheint ein Login-Bildschirm, der sehr stark an ein Unix-ähnliches System errinnernt. In den meisten Fällen wird auch ein Unix-ähnliches System für den Einsatz als FTP-Server eingesetzt. Auf der ersten Linie der Login-Prozedur erscheint noch einmal die Adresse, wo wir uns eingeloggt haben. Auf der nächsten zeile folgt die Version des Betriebssystems des FTP-Servers. Das Betriebssystem - in diesem Falle SunOS 5.6 - meldet sich bereit, und fragt uns nach einem User-Namen. Da uns kein User-Name bekannt ist, versuchen wir uns anonym anzumelden. Dabei erhalten wir nur Leserechte auf bestimmte regionen des Servers. Nach der Eingabe von "anonymous" für anonym, folgt eine Zeile, wo wir darauf aufmerksam gemacht werden, dass wir bei der Passworteingabe ohne weiteres unseren User-Namen verwenden können. Eine Zeile weiter werden wir auch schon nach unserem Paswort gefragt. Wir geben nocheinmal unseren User-Namen ein: "anonymous" . Es kann auch einfach eine wirrkürliche Zeichenfolge eingegeben werden, jedoch fällt man mit der schlichten Passwort-Eingabe des User-Namens weniger auf.

Nun sollte eine kurze Meldung erscheinen, welche uns darauf aufmerksam macht, dass wir uns erfolgreich eingeloggt haben. Und am unteren Rand des Fensters folgt wieder der nackte FTP-Prompt.

Nun nimmt es uns wunder, wo wir überhaupt gelandet sind. Mit der Eingabe von "pwd" erfragen wir unsere aktuelle Position im System. Wir werden darauf aufmerksam gemacht, dass wir uns im Root-Verzeichnis befinden.

Welche Verzeichnisse existieren nun aber noch? Mit der Eingabe von "dir" für Directorie zaubern wir die aktuelle Übersicht aller Verzeichnisse und Dateien im Root-Verzeichnis an. Unsere Aufgabe ist es nun das Password-File zu finden, wo alle User-Namen mit dazugehörigem Passwort gespeichert sind.

Mit "cd" (change directory) sind wir in der Lage das Verzeichnis zu wechseln. Wir geben nun cd etc ein, womit wir einen Augenblick später im ETC-Verzeichnis landen sollten. Wie jedesmal wenn wir in einem neuen Verzeichnis angelang sind, erfragen wir den Inhalt des momentanen Verzeichnisses.

Nun erkennen wir sofort das Vorhandensein einer Datei namens passwd, zu welcher wir nur Leserechte haben. Wir kopieren nun diese Datei auf die lokale Festplatte. Dies geschieht mittels des Befehls "get" . Wir geben nun "get passwd" ein, und die Datei passwd wird auf den Windows-Desktop kopiert.

Um ein Verzeichnis wieder zu verlassen, müssen wir wieder den change directoy Befehl nutzen. Mit "cd .." verlassen wir das aktuelle Verzeichnis und wechseln in das übergeordnete. In unserem Falle wäre dies wieder das Wurzel-Verzeichnis.

Nun können wir die Verbindung schliessen. Dies übernimmt der Befehl "close" . Die Verbingung zum FTP-Server der ABB ist nun beendet.

Um unsere FTP-Software zu schliessen, können wir ganz einfach "bye" eintippen, woraufhin sich die Software verabschiedet, und sich schliesst.


Das Passwort-File

Nun kommen wir wieder zurück auf unseren Windows-Rechner. Wir suchen nun das vom FTP-Server heruntergeladene File und öffnen es mit einem ganz normalen ASCII-Editor, wie zum Beispiel das Notepad von Microsoft. Nun offenbart sich uns das Password-File, aus welchem wir alle Benutzer-Namen ersehen können:

root:x:0:1:Super-User:/:/usr/bin/ksh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
smtp:x:0:0:Mail Daemon User:/:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
listen:x:37:4:Network Admin:/usr/net/nls:
nobody:x:60001:60001:Nobody:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x Nobody:/:
mailer:x:100:1::/home/mailer:/nosuchshell
proxadm:x:101:100::/home/proxadm:/nosuchshell
ftp:x:30000:30000:Anonymous FTP:/data/ftp:/nosuchshell

Das erste Wort stellt den user-Namen dar. Nach dem Doppelpunkt folgt das dazugehörige Passwort. Falls dies nun ein X oder Leerzeichen sein sollte, dann wurden die Passwörter vom Administrator shadowed gemacht. Dies bedeutet, dass sie nur für den Admin einsehbar sind. Es gibt verschiedene Möglichkeiten diese shadowed Passcodes zu entschlüsseln, aber dazu schreibe ich später mal einen Text. Falls doch Passwörter ersichtlich sind, hat man das System geknackt, und ist nun im Besitze aller Passwörter.

Das beste, was einem passieren kann, ist in den Besitz des Super-Visor-Passworts zu gelangen. Mit Hilfe dieses Passworts kann man sich als Root oder auch Super-User anmelden, und ist ab dann im Besitze aller Zugriffsrechte. Das System gehört dann sozusagen einem selbst.


Disclaimer

Denkt aber an die Hacker-Philosophie! Ausserdem macht Ihr Euch beim Eindringen in Fremde Systeme strafbar, und Ihr könnt strafrechtlich verfolgt werden!


Wie knacke ich eine Firewall oder einen Proxy innerhalb eines LAN’s?

Wie knackt man nun die eigene Firewall, wenn man sich als Hacker innerhalb eines LAN’s befindet? Man muss als allererstes die IP-Adresse der Firewall oder des Proxies herausfinden. Dies macht man mittels eines IP-Scanners oder Port-Scanners. Sobald man nun die IP-Nummer der Firewall hat, kann man sich mittels FTP wieder versuchen einzuloggen, und das Spiel kann beginnen...