CHQ1d 发布于2022年11月8日 分享 发布于2022年11月8日 0x00 前言 DanderSpritz是NSA的一个界面远程控制工具,基于FuzzBunch框架,可以通过执行Start.jar来启动 在实际的测试过程中,由于文档的缺乏,遇到了很多问题,有些细节值得进一步研究。 因此,本文将帮助您解答问题,分享测试经验,并根据木马的特点分析防御思路。 0x01 简介 本文将介绍以下内容: 执行pc_prep时得不到echo的原因及解决方法 与Pc 2.2的区别 3级和4级特洛伊木马的含义及其使用方法 不同类型的特洛伊木马之间的差异 特洛伊木马利用模式 Windows单一日志删除功能 特洛伊木马查杀创意 0x02 实际测试 测试环境: Win7 x86 安装以下工具: python2.6 pywin32 jdk 1、下载fuzzbunch 参考链接: https://github.com/3gstudent/fuzzbunch 注: 我分叉了公共的fuzzbunch项目(https://github . com/fuzz bunch/fuzz bunch),增加了一些内容解决了一个bug。具体内容稍后介绍。 2、直接运行Start.jar 画 设置启动参数,日志目录需要设置为固定格式:c:\logs\xxx(xxx为任意名称) 否则会出现错误,如下图所示。 注: 网上有分析文章认为应该先用fb.py生成一个日志文件,然后Start.jar指向目录。其实没必要,只要路径格式正确就行。 3、执行pc_prep配置木马 输入pc_prep获取echo,如下图所示 注: 很多人在测试时发现输入的pc_prep得不到echo,如下图所示。 原因: Fuzzbunch项目可从以下链接下载: https://github.com/x0rz/EQGRP_Lost_in_Translation 文件丢失,导致此错误。 正确的下载位置: https://github.com/fuzzbunch/fuzzbunch 但是下载后需要补全缺失的文件才能完全正常使用。 我叉上述项目,并完成丢失的文件。下载我的github解决以上问题。地址如下: https://github.com/3gstudent/fuzzbunch 补充: 在之前的测试中,使用了有bug的版本。虽然pc_prep得不到echo,但是pc2.2_prep可以用来生成木马。 如下图 但是木马连不回来。 猜测原因: 与pc版Pc2.2相比,Pc版更高,不再使用较低版本。 检查\Resources\Pc2.2\Version.xml,它显示:兜售廉价的2.2.0.2。 表示Pc2.2对应的PeddleCheap版本是2.2.0.2。 检查\Resources\Pc\Version.xml,它显示:peddle price 2 . 3 . 0 表示Pc对应的pedle price版本为2.3.0 注: PeddleCheap用于操作与木马的通信,显示在DanderSpritz的主面板上。 4、木马分类 可以选择的特洛伊木马类型如下: 1) -标准TCP (i386-winnt Level3共享1b) 2) - HTTP代理(i386-winnt Level3 sharedlib) 3) -标准TCP (i386-winnt Level3 exe) 4) - HTTP代理(i386-winnt Level3 exe) 5) -标准TCP(x64-win nt 3级共享) 6) - HTTP代理(x64-winnt Level3 sharedlib) 7) -标准TCP (x64-winnt Level3 exe) 8) - HTTP代理(x64-winnt Level3 exe) 9) -标准TCP通用(i386-winnt Level4 sharedlib) 10) - HTTP代理通用(i386-winnt Level4 sharedlib) 11) -支持标准TCP AppCompat(i386-win nt level 4 shared lib) 12) -启用HTTP代理app compat(i386-win nt level 4 shared lib) 13) -支持突发的标准TCP实用程序(i386-winnt Level4 sharedlib) 14) - HTTP代理实用程序突发启用(i386-winnt Level4 sharedlib) 15) -启用标准TCP WinsockHelperApi(i386-win nt level 4 shared lib) 16) - HTTP代理WinsockHelperApi-已启用(i386-winnt Level4 sharedlib) 17) -标准TCP (i386-winnt Level4 exe) 18) - HTTP代理(i386-winnt Level4 exe) 19) -标准TCP (x64-winnt Level4共享lib) 20) - HTTP代理(x64-winnt Level4 sharedlib) 21) -支持标准TCP app compat(x64-win nt level 4 shared lib) 22) -启用HTTP代理app compat(x64-win nt level 4 shared lib) 23) -启用标准TCP WinsockHelperApi(x64-win nt level 4 shared lib) 24) - HTTP代理WinsockHelperApi-enabled(x64-win nt level 4 shared lib) 25) -标准TCP (x64-winnt Level4 exe) 26) - HTTP代理(x64-winnt Level4 exe) 因平台而异: x86 x64 根据文件格式: 可执行程序的扩展名 动态链接库 根据通信协议: 标准TCP HTTP代理 按功能区分: 标准 已启用AppCompat 效用爆炸启用 WinsockHelperApi-已启用 根据级别: 级别3 四级 注: 实际测试后,Level代表回接模式。 Level3表示反向连接,控制端监听端口,等待连接返回。 Leve4表示正向连接,目标主机监听端口,等待控制端的主动连接。 5、木马测试 选择有代表性的进行测试。 (1)级别3,选择3)-标准TCP (i386-winntlevel3exe) 根据配置生成exe(这里不具体描述,参考其他文章) DanderSpiritz控制终端选择踏板廉价-听-开始听。 直接在目标主机上执行exe。 等待连接 正常运行的反向连接木马 注: 日志下会生成两个文件PC_Level3_exe.base和PC_Level3_exe.configured。 PC_Level3_exe.base是一个来自\ resources \ PC \ level 3 \ i386-win nt \ release的模板文件。 PC_Level3_exe.configured是添加了配置参数的文件。 两个文件大小相同,但具体位置有所不同,如下图所示。 (2)3级,选项6)-http代理(x64-win nt 3级共享库) 根据配置生成PC_Level3_http_dll.configured(这里不具体描述,参考其他文章) 加载方法: 1.使用DoublePulsar加载dll (此处不具体介绍,参考其他文章) 2.手动加载dll 使用dumpbin查看dll的导出函数,如下图所示 序数为1的dll导出函数被命名为rst32。 也就是我们可以尝试通过rundll32直接加载dll。 命令行代码如下: rundll32 PC _ level 3 _ http _ dll . configured,rst32 特洛伊木马正常连接 注: 对于http协议的木马,设置监听协议时记得选择http。 (3)级别4,选择17)-标准TCP (i386-winntlevel4 exe) 根据配置生成PC_Level4_exe.configured(可以使用高级模式指定固定监听端口)。 启动exe后执行netstat -ano,查看固定端口是否打开。 DanderSpiritz控制终端选择peddle price-Connect,选择ip,填写4级对应的端口。 正向连接 (4)级别4,选择9)-标准TCP通用(i386-winnt级别4共享库) 根据配置生成PC_Level4_dll.configured(可以使用高级模式指定固定监听端口) 检查其导出功能,如下图所示 也就是说不支持直接通过rundll32加载。 猜测: Level4的木马应该是一直在后台运行的,因为隐蔽性,所以不支持这个功能。 给出了一种dll加载的测试方法:APC注入。 如下图所示,监控端口已成功加载并打开。 参考代码: https://github . com/3g student/Inject-dll-by-APC/blob/master/test . CPP 注: 注入的程序需要管理员权限,否则会因为权限问题无法打开监听端口。 给出dll加载的另一种测试方法:通过应用程序兼容性垫片。 请参考以下链接: 应用-兼容性-https://3gstudent.github.io/渗透试验中的垫片 如下图所示,监控端口已成功加载并打开。 (5)级别4,选择11)-标准TCP应用程序兼容启用(i386-winnt级别4共享库) 从字面上看,猜测是为了支持应用程序兼容性垫片。 比较Generic和AppCompat-enabled之间的差异: 两者大小相同,即AppCompat-enabled多了一个导出函数GetHookAPIs。 如下图 0x03 木马功能 连接成功后,木马会自动开始信息收集,返回各种详细信息。 更人性化的设计会自动询问用户是否提升权限。 在检测到环境的安全性之后,将询问用户是否导出散列。 信息收集完成后,进入帮助以获得支持的操作。 注: 帮助获取的内容不完整。输入别名以获得操作命令的更多介绍。 帮助命令可以得到具体命令的操作介绍。 比如输入help eventlogedit,会出现如图所示的回显。 1、日志操作功能 日志操作的命令如下: 事件日志清除 事件日志编辑 eventlogfilter eventlogquery 具体功能如下: eventlogquery: 统计日志列表,查询所有日志信息,包括时间和数量。 您可以查询指定类别的日志信息,包括时间和数量。该命令如下所示: 事件日志查询-日志设置 此操作相当于 wevtutil.exe gli设置 注: wevtutil.exe操作系统默认包括 eventlogfilter: 查看指定类别的日志内容 该命令如下所示: 事件日志过滤器-日志设置-编号19 此操作相当于 文本设置 eventlogedit: 删除单个日志 可以删除单个日志内容,命令如下: 事件日志编辑-日志设置-记录1 注: 记录序列号可以通过eventlogfilter获得。 公共工具暂时不支持此命令。 eventlogclear: 删除这类日志的所有内容。 该命令如下所示: 事件日志清除-日志Microsoft-Windows-DHCP V6-客户端/管理员 此操作相当于 Microsoft-Windows-DHCP V6-客户端/管理员 0x04 木马查杀思路 DanderSpritz的特洛伊木马生成如下: 将模板文件保存在文件夹\Resources\Pc\Level3和\Resources\Pc\Level4下,并将参数配置信息保留在固定位置。在实际生成时,将配置信息写入模板文件。 目前,杀毒软件已经成功识别并查杀了这些模板文件。同时,这些模板文件的代码不开源,也会提高恶意利用的门槛。 建议普通用户: 更新系统补丁 更新杀毒软件的病毒库 可以防止工具的攻击。 0x05 小结 本文分享DanderSpiritz的测试经验,希望能帮助你在技术研究中对其有更好的了解,并省略了一些具体的细节和章节,防止该工具被滥用。 留下回复 链接帖子 意见的链接 分享到其他网站 更多分享选项…
推荐的帖子