(Y)et (a)nother (S)hell (T)utorial Author: Jasen Iribaar Einleitung 1) Was ist eine Shell und wie bekomme ich sie? Was ist ueberhaupt eine Shell Welche Shell ist die beste? Wie bekomme ich eine Shell 2) Grundlegendes zur "Bedienung" der Shell Wie kann ich mich in meiner Shell bewegen, kopieren,... 3) Was kann ich mein Wissen jetzt nutzen? Linux/BSD installieren Server durchtesten Dieses Tutorial ist an alle Newbies gerichtet, die gerade irgendwelche anderen Tutorials gelesen haben, in denen mal wieder steht, dass man zum hacken umbedingt ein Shell Account braucht. Das ist natuerlich Unsinn, aber es kann ja nicht schaden,zu wissen was eine Shell ist und wie man mit ihr umgeht. ------------------------------------------------------------ Allen Leuten die bereits wissen, wie man mit einer Shell umgeht, oder die bereits ein eigenes Linux/BSD,etc. System zu hause haben, kann ich nur sagen: "Ihr habt diesen Text umsonst heruntergeladen, bzw. eure kostbare Onlinezeit verschwendet!! *lol* Beschwerden, Flames, und weitere Sinnlose Aktionen bitte an Jasen@kryptocrew.de schicken. ------------------------------------------------------------ 1) Was ist eine Shell und wie bekomme ich sie? In diesem Abschnitt gehe ich zunaechst kurz auf die verschiedenen Shells ein, nachdem ich probiere kurz zu erklaeren, was man unter einer "Shell" verstehen kann. Was ist ueberhaupt eine Shell? Als Bill Gates IBM die Version 1.0 von MS-DOS verkaufte, war dieses kaum mehr als eine etwas aufgepeppte Version des damaligen allgegenwaertigen Standart-Betriebssystems fuer Kleincomputer, CP/M. Bereits zu diesem Zeitpunkt hatte DOS mehrere grundlegende Prinzipien von UNIX kopiert: z.B. wartet auf dem Schirm eine Benutzeraufforderung ("Prompt"), an der die Befehle des Betriebssystems oder auch Programme ausgefuehrte bzw. gestartet werden koennen. Die eingegebenen Befehle werden von einer Shell ausgefuehrt, den DOS-Usern als COMMAND.COM bekannt. Auch diese Shell ist nichts weiteres als ein Programm, das durch ein anderes mit aehnlicher Funktion ersetzt werden kann (ein beliebtes Substitut ist 4DOS). Das passiert in DOS allerdings selten, so dass Millionen von Benutzern sich mit den Nickeligkeiten von COMMAND.COM herumschlagen mussten, wobei der Fortschritt der Weiterentwicklung darin bestand, die Fehlermeldungen in der jeweiligen Landessprache auszugeben. Der Benutzer von einst UNIX und jetzt LINUX hat es da einfacher: nicht nur, dass mehrere Shells vorhanden sind, wie z.B. die C-Shell, die Korn-Shell, die Bourne Shell und die "bash". Diese Shells sind wesentlich maechtiger als es COMMAND.COM jemals sein wird; sie werden weiterentwickelt und sie koennen jederzeit ausgetauscht werden. (Quelle: "Linux", Sybex Verlag: ISBN 3-8155-0300-0) Welche Shell ist die beste? Diese Frage ist genauso bloed wie sie sich anhoert ;-) Jede Shell hat ihre Vor- und Nachteile. Bei der MS-DOS Shell fallen mir zwar keine Vorteile ein, aber nagut. Die Linux-Distributionen bauen zum groessten Teil auf der Shell "bash", die sich durch viel "Komfort" auszeichnet, auf den ich spaeter noch naeher eingehe. BSD im Gegensatz, baut auf die C-Shell, welche auch ihre Vorteile hat. Genug der Theorie *gaehn*, wie bekomme ich nun eine Shell? Ok, fragt man sogenannte "hacker" oder "cracker", die ja in der "scene" achso bekannt sind, bekommt man lediglich die Antwort: "Besorg dir eine, anhand von Exploits..bla bla" was soviel heisst wie "ich habe keine ahnung, will das jetzt aber nicht so offen sagen". Aaaalso: Am einfachsten waere es, sich einmal in der Schule umzuhoeren und mit den dortigen Administratoren zu sprechen. Die meisten Schulen haben Linux bzw. UNIX Server, die auch teilweise Standleitungen haben. Falls ihr nicht mehr, oder noch nicht zur Schule geht (*g*), oder eure Schule keinen Linux/UNIX Server hat, waere es am einfachsten sich einmal bei Kumpels umzuhoeren und vielleicht rauszufinden ob jemand von ihnen Linux oder BSD hat. Falls ja, waere es optimal, da du auf jeden Fall gut beraten bist und immer wen hast, der dir hilfen kann. Jetzt besorgst du dir noch schnell eine Linux Distribution (fuer den Anfang am besten SuSE), und probierst sie zu installieren. Falls das auch nicht klappt, kannst du nur probieren ein paar nette Leute zu finden, die dir einen Account auf ihrem Rechner anlegen. 2) Jetzt hab ich die Shell (oder auch nicht), und nun? So, falls du einen Account bei euch in der Schule oder auf einem anderen Rechner hast, kannst du dich jetzt per Telnet dort einloggen (Start/Ausfuehren/ "telnet IP" ! Falls du dein eigenes Linux/BSD/whatever System hast, log dich einfach direkt mit Username und Passwort ein, nach Moeglichkeit nicht als r00t. Falls du etwas nicht verstehst, oder dir genauer anschauen willst, nimm erweitere einfach das Kommando mit --help oder suche in den man-pages danach: z.b. "ls --help" oder "man ls" Wie kann ich mich in meiner Shell bewegen, Dateien kopieren,... Auflisten von Dateien ls ist vergleichbar mit dem Befehl "dir" von MS-DOS. Anwendung: ls [option] [verzeichnis] Wenn man ls ohne Variablen (optionen) anwendet, entspricht das dem DOS-Befehl "dir /w". Um mehr Informationen ueber die vorhandenen Dateien/Ordner zu erhalten, nimmt man z.b. ls -l , was zusaetzlich zu den Dateinamen auch noch die Groesse, die Benutzerrechte,etc. auflistet. Um sich versteckte Dateien anzeigen zu lassen nimmt man z.b. die Option ls -a , wobei a fuer all steht. Kopieren von Dateien Das Kopieren von Dateien geschieht mit dem Befehl cp . cp [optionen] Quelle Ziel Dieses Kommando wird ziemlich genau wie copy in MS-DOS verwendet. Verschieben von Dateien Dateien werden mit dem Befehl mv verschoben. mv [optionen] Quelle Ziel Gleiche Anwendung wie cp Loeschen von Dateien!!! Der Befehl rm dient zum loeschen von Dateien. rm [optionen] [Pfad/Dateiname] Achtung: rm loescht Daten physikalisch komplett, d.h. man kann sie NICHT wieder herstellen, wie z.b. unter DOS mit unerase. Erzeugen bzw. loeschen von Inhaltsverzeichnissen Verzeichnisse lassen sich durch mkdir und rmdir erstellen bzw. loeschen. Hierbei entspricht mkdir dem DOS-Befehl md, und rmdir entspricht dem DOS-Befehl rmdir. Verzeichnisse wechseln Entspricht haargenau dem Befehl "cd" von MS-DOS. Es gibt nur einen Unterschied, und zwar muss man beim cd.. darauf achten, dass man immer eine Leerzeichen reinbringt: cd .. und nicht cd.., wie bei DOS. Wo bin ich? Falls ihr mal nachschauen wollt, in welchem Verzeichnis ihr euch gerade befindet, muesst ihr dafuer das Kommando pwd benutzen. Die Syntax ist echt simpel: pwd Die Ausgabe muesste dann ungefaehr so aussehen: "/usr/src/local" Inhalte von Dateien anzeigen lassen/bearbeiten Um sich nur kurz den Inhalt anzeigen zu lassen, kann man den Befehl cat benutzen, der wie folgt benutzt wird: cat dateiname Um Dateien zu bearbeiten, sie zu editieren, sind meiner Meinung nach die 2 besten Editoren vi und joe. Anzuwenden wie cat. So, dass waren jetzt mal kurz zusammengefasst die wichtigsten Befehle um erstmal nen bissl zu lernen, wie man mit einer Shell umgeht ("arbeitet"). Falls ihr mehr lernen wolltet sucht einfach mal nach guten Linux/Unix Buechern. 3) Ah ja, aber wie kann ich mein "Wissen" jetzt benutzen? Naja, die wahrscheinlich sinnvollste Moeglichkeit waere wohl, sich selbst Linux/BSD zu installieren und sich dann noch schnell ein wenig ueber die Administration zu informieren. Und dieses Wissen ist hilfreich, wenn man sich an diversen Servern "vergehen" will. Linux/BSD installieren Fuer Anfaenger ist es wahrscheinlich optimal, zunaechst mit SuSE Linux, Linux Mandrake oder FreeBSD anzufangen, da es hierzu immer ein sehr gutes Handbuch und auch eine gute Online Dokumentation gibt. Server durchtesten Naja, ich will hier nicht allzuviel sagen, da dieses Wissen ja eh nur zu destruktiven Zwecken genutzt wird. Also, zuerst kann man per Telnet die Ports durchtesten und gucken, welche Services auf dem Rechner laufen. Jetzt kann man bei http://www.rootshell.com oder bei anderen Seiten, wie z.b. http://packetstorm.securify.com, nach Exploits gucken. Sofern man noch kein Account auf dem Server hat, muss man nach remote-Exploits gucken. Alles weitere muesst ihr euch selbst erarbeiten. So, das wars von hier aus, ich hoffe ihr habt dieses Tutorial verstanden, ich hab mir Muehe gegeben, alles so einfach wie moeglich zu erklaeren. Falls ihr dennoch Fragen habt, schickt mir einfach eine Mail oder kontaktiert mich per ICQ (14306054 / 55210612). Copyright: Falls ihr dieses Tutorial auf eurer Seite veroeffentlichen wollt, schickt mir bitte zuerst eine Mail und fragt mich. Greetz, Jasen Iribaar "Beware of the forbidden knowledge"