跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

美国国家安全局DanderSpiritz测试指南3354木马生成和测试


CHQ1d

推荐的帖子

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

2-1.png

设置启动参数,日志目录需要设置为固定格式:c:\logs\xxx(xxx为任意名称)

否则会出现错误,如下图所示。

2-2.png

注:

网上有分析文章认为应该先用fb.py生成一个日志文件,然后Start.jar指向目录。其实没必要,只要路径格式正确就行。

3、执行pc_prep配置木马

输入pc_prep获取echo,如下图所示

2-3.png

注:

很多人在测试时发现输入的pc_prep得不到echo,如下图所示。

2-4.png

原因:

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可以用来生成木马。

如下图

2-5.png

但是木马连不回来。

猜测原因:

与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-6.png

(2)3级,选项6)-http代理(x64-win nt 3级共享库)

根据配置生成PC_Level3_http_dll.configured(这里不具体描述,参考其他文章)

加载方法:

1.使用DoublePulsar加载dll

(此处不具体介绍,参考其他文章)

2.手动加载dll

使用dumpbin查看dll的导出函数,如下图所示

2-7.png

序数为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(可以使用高级模式指定固定监听端口)

检查其导出功能,如下图所示

3-1.png

也就是说不支持直接通过rundll32加载。

猜测:

Level4的木马应该是一直在后台运行的,因为隐蔽性,所以不支持这个功能。

给出了一种dll加载的测试方法:APC注入。

如下图所示,监控端口已成功加载并打开。

2-8.png

参考代码:

https://github . com/3g student/Inject-dll-by-APC/blob/master/test . CPP

注:

注入的程序需要管理员权限,否则会因为权限问题无法打开监听端口。

给出dll加载的另一种测试方法:通过应用程序兼容性垫片。

请参考以下链接:

应用-兼容性-https://3gstudent.github.io/渗透试验中的垫片

如下图所示,监控端口已成功加载并打开。

2-9.png

(5)级别4,选择11)-标准TCP应用程序兼容启用(i386-winnt级别4共享库)

从字面上看,猜测是为了支持应用程序兼容性垫片。

比较Generic和AppCompat-enabled之间的差异:

两者大小相同,即AppCompat-enabled多了一个导出函数GetHookAPIs。

如下图

3-2.png

0x03 木马功能

连接成功后,木马会自动开始信息收集,返回各种详细信息。

更人性化的设计会自动询问用户是否提升权限。

在检测到环境的安全性之后,将询问用户是否导出散列。

信息收集完成后,进入帮助以获得支持的操作。

注:

帮助获取的内容不完整。输入别名以获得操作命令的更多介绍。

帮助命令可以得到具体命令的操作介绍。

比如输入help eventlogedit,会出现如图所示的回显。

3-3.png

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的测试经验,希望能帮助你在技术研究中对其有更好的了解,并省略了一些具体的细节和章节,防止该工具被滥用。

留下回复

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...