前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >serpentine 是一种 Windows RAT(远程管理工具)

serpentine 是一种 Windows RAT(远程管理工具)

原创
作者头像
Khan安全团队
发布2022-01-02 00:47:10
发布2022-01-02 00:47:10
8590
举报
文章被收录于专栏:Khan安全团队Khan安全团队

serpentine 是一种 Windows RAT(远程管理工具),可让您使用多平台 RESTful C2 服务器与客户端进行交互。

功能:

  • 启动
  • 获取文件
  • 放置文件
  • 键盘记录器(只需获取%APPDATA%/svchost/log文件)
  • 反向外壳(netcat用作客户端,侦听端口nc -l -p 5555并请求到该端口的反向外壳连接)
  • 反向代理(使用revp,上传revp到客户端并使用反向shell执行)
  • 截屏
  • 远程桌面(使用qtserpentine前端)[正在进行中,发送输入仍在开发中]

解剖

client 目录包含用 C++ 和 Boost 制作的 RAT 的 Windows 部分。

server 包含用 Java 和 Spring 制作的 RESTful 服务器部分。

frontend可以拥有任意数量的使用 RESTful API 的前端,目前拥有goserpentine终端客户端和qtserpentineGUI 客户端。

构建和运行

构建server具有mvn package然后运行JAR以2个参数,第一个是客户端侦听端口和第二端口的RESTful API将在送达。例子:java -jar target/serpentine-0.1.0.jar 2222 8080

构建client与Visual Studio和还包括Boost库:https://www.boost.org/doc/libs/1_73_0/more/getting_started/windows.html 更改client的设置config.h

goserpentine frontend使用go build生成的可执行文件构建并运行以查看选项列表。

建立qtserpentine通过安装Qt Creator中并通过建设。提供QTSERPENTINE_API_ADDRESS指向 API 服务器的环境变量。

应用程序接口

(要了解有关端点和输入参数的更多信息,请检查服务器代码中的控制器)

/client GET --> 返回当前连接的客户端列表(过去 10 秒内 ping 的客户端)

/client POST --> 更改与客户端关联的名称

/file/{client} POST --> 从客户端获取文件

/file/{client} PUT --> 上传文件到客户端

/shell/{client} POST --> 使客户端发起反向shell连接

/desktop/{client} GET --> 获取并获取屏幕截图

https://github.com/jafarlihi/serpentine

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解剖
    • 构建和运行
    • 应用程序接口
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档