jw_ Geschrieben 19. Juni 2009 Geschrieben 19. Juni 2009 Hallo alle zusammen, ich habe als FISI(2ter Schuljahr) im Rahmen meiner Schularbeit einen schönen Admin Remoter programmiert, kurz und bündig, man kann die Linuxbefehle über Weboberfläche direkt am Linux System ausführen lassen. Ich wollte der Informatikergemeinde diesen Script nicht vorenthalten, sei es denn auch, dass es womöglich auch was besseres gibt(ausser ssh). Das schönste an der Sache ist die Möglichkeit die Befehle als root auszuführen. Zur Authentifizierung wird 3DES in CBC Mode verwendet, was als sehr sicher gilt. Kurze Beschreibung, was dabei getan wird. 1. JavaScript in Client verschlüsselt mit Hilfe des Keys/IV die Passphrase und die auszuführende Befehle, dabei werden zufällige Bytes beigemischt, um so am Ende den verschlüsselten Inhalt zu salzen, sprich, der sieht immer anders aus.. 2. Zum Schlüssel wird noch ein Zeitstempel angehängt, und zwar so, dass der Server und Client bis auf 10 Minuten synchron laufen müssen. Die Absicht dahinter, sollte jemand diesen verschlüsselten Inhalt abfangen und reproduzieren, wäre es nur 10 Minuten lang gültig, aber wie gesagt, auch in diesen 10 Minuten könnte man nur den Linux Befehl reproduzieren, der kürzlich ausgeführt wurde, nach 10 Minuten aber nicht mehr. 3. Per Ajax Anfrage wird der Befehl bzw viele Befehle auf ein mal an einen C Wrapper übermittelt, der Wrapper ist als root User mit user bit gesetzt, als Beispiel "chmod 4001 root.cgi". 4. Der C Wrapper wurde mit vorgegebenen Key, Passphrase und IV vorkompiliert(jeder kann eigene Werte setzen und neu kompilieren) Der Wrapper hat auch eine 3DES Implementation, und mit Hilfe des einkompilierten Keys/IV und Passphrase wird der Inhalt vom Wrapper entschlüsselt, Passphrase verglichen, Befehle entkoppelt, der BASH Script erstellt, die Befehle an Bash Script übergeben und anschliessend als Root ausgeführt, falls die Authentifizierung erfolgreich verlief. Das Gute an der ganzen Sache, man braucht nichts nachzuinstallieren, es geht ohne Perl und sonstigem, einfach reinkopieren und das war es, nur, wenn jemand selbst eigenen Schlüssel setzen will, muss er natürlich den Kompiler installieren. Zum Schluss, ich habe den Wrapper mit eigenem Schlüssel usw zum Testen vorkompiliert. Key: myownverylongkey Passphrase: myownsupertext IV: abcdefgh Den TAR Archiv in CGI fähigen Ordner im Linux System kopieren, (wie man CGI einstellt, solltet ihr schon wissen). Am besten den TAR Archiv als root entpacken, so werden die nötigen Rechte automatisch gesetzt, sonst immer mit z.B "chmod 4001 root.cgi" setzen. Wie man die Datei kompiliert, wird in zu kompilierender Quellcode Datei namens "jw.c" noch mal ausführlich beschrieben. In der main Funktion ganz am Anfang sind auch die Definitionen für Key/Passphrase/IV zu finden, falls jemand eigene Werte setzen will. Ich hoffe, ihr werdet diesen Script nützlich finden. Ausserdem würde es mich interessieren, inwieweit dieser Script mit unterschiedlichen Linux Plattformen kompatibel ist. DOWNLOD: bar.tar ... at uploaded.to - Free File Hosting, Free Image Hosting, Free Music Hosting, Free Video Hosting, ... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.