it-swarm.com.de

Ich kann beliebigen Python Code auf dem 'Apache'-Benutzer ausführen. Welchen Schaden kann ich anrichten?

Aufgrund der schlechten Programmierung eines meiner ehemaligen Kollegen ermöglicht eine unserer internen Web-Apps dem Benutzer das Hochladen und Ausführen einer beliebigen Python - Datei. Dies wurde kürzlich über eine Anonymer Tipp. Bisher habe ich nichts zu Verrücktes getan, nur die OS-Bibliothek verwendet, um die Verzeichnisstruktur ein wenig zu durchsuchen. Ich bin mir jedoch nicht sicher, wie viel Schaden ich anrichten könnte. Es gibt ein Python Web-App und eine MySQL-Datenbank, die auf dem Server ausgeführt wird.

Könnte ich mir irgendwie SSH-Zugang geben? Ich kann nicht genau herausfinden, wie ich das machen würde. Ich glaube auch nicht, dass ich auf die Datenbank zugreifen kann, da ich keine Benutzerinformationen habe.

Also, was ist die praktische Grenze des schlimmsten Schadens, den ich hier anrichten könnte?

44
ian93

Sie können etwas Python Code) schreiben, um eine SSH-Server-Binärdatei hochzuladen und dann auszuführen. Dadurch erhalten Sie vollen SSH-Zugriff unter den Berechtigungen des Apache-Benutzers.

Von dort aus können Sie problemlos die Konfigurationsdateien der Python App) lesen und mit den Anmeldeinformationen von dort aus eine Verbindung zur Datenbank herstellen, sodass Sie vertrauliche Daten abrufen können (hier sind keine Exploits erforderlich, da die App Zugriff darauf hat die Datenbank bereits).

Wie @ Aroth in den Kommentaren ausgeführt hat, können Sie auch andere Apps gefährden, die unter demselben Benutzerkonto ausgeführt werden.

Schließlich können Sie einen Blick auf die Version des laufenden Kernels/der laufenden Bibliotheken werfen und schließlich einen Exploit verwenden, um Root-Berechtigungen zu erhalten.

86
André Borie