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

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

    TheHackerWorld官方

渗透测试中故障诊断平台的应用技巧


Xiao7

推荐的帖子

0x00 前言

最近,Proofpoint的Matthew Mesa和Axel F发现了一种新的钓鱼方法,攻击者使用故障排除包作为电子邮件附件,诱骗用户运行并秘密执行有效载荷。在文章中,他们介绍了攻击者采用的方法和隐藏方法,提示用户对此保持警惕。

文章链接:

https://www . proof point . com/us/threat-insight/post/windows-故障排除-平台利用-交付-恶意软件

本文将从技术研究的角度,介绍如何开发一个包含有效载荷的故障排除包,并结合攻击思路分析防御方法,希望能帮助你对这项技术有进一步的了解。

0x01 简介

Windows故障诊断平台:

翻译Windows故障排除平台,缩写为WTP。

开发者可以基于该平台编写故障排除包,帮助用户解决PC问题。

WTP结构如图所示

1-1.png

图片引自https://msdn.microsoft.com/en-us/library/windows/desktop/dd323706(v=vs . 85). aspx

简要流程如下:

检查故障排除包的数字签名,如果不可用,直接退出。

依次执行检测脚本、解决脚本和验证脚本,尝试解决故障。

生成结果报告和调试报告。

故障排除包:

它由五个部分组成:

清单故障排除(清单故障排除)

检测脚本(检测脚本)

解析脚本(解析脚本)

验证脚本(验证脚本)

本地化资源(本地化资源)

详情见图。

2-1.png

引自https://msdn.microsoft.com/en-us/library/windows/desktop/dd323706(v=vs . 85)。aspx

0x02 开发故障排除包

官方开发工具:

tsp设计者

注:

该工具包包含在Windows 7 SDK中

实际上,只有v7.0和v7.1包含了这个工具。

Windows SDK版需要与搭配使用。NET Framework 3.5 SP1,下载地址如下:

https://www.microsoft.com/en-us/download/details.aspx?id=3138

Windows SDK版需要与搭配使用。NET框架4。下载地址如下:

https://www.microsoft.com/en-us/download/details.aspx?id=8279

TSPDesigner位于默认目录c:\ program files \ Microsoft sdks \ windows \ v 7.1 \ bin \ tsp designer中,包含以下内容:

2-2.png

详细的开发介绍可以参考:

https://msdn . Microsoft . com/en-us/library/windows/desktop/DD 323712(v=vs . 85)。aspx

以下示例演示了如何通过TSPDesigner生成测试故障排除包。

1.设置属性,也就是故障包的第一页

项目名称:testwtp

项目描述:故障排除包测试

隐私网址:https://3gstudent.github.io/

2-3.png

2.添加root cause,点击Add New Root Cause,设置故障信息

根本原因ID:服务已停止

根本原因名称:服务已停止。

根本原因描述:服务已停止。您需要启用它。

2-4.png

3.设置Troubleshooter

如图,指定需要提升权限,关闭交互。

2-5.png

4.设置Resolver

解析程序名称:StartTheService

解析程序描述:启动服务。

提示用户:否

仰角:是

互动:否

2-6.png

指定提升权限、关闭用户警告和关闭交互的需求。

5.设置Verifier

不,您不需要确保故障已解决。

6.设置Scripts

2-7.png

注:

这里的故障排除程序脚本和解决程序脚本已经具有管理员权限,因为提升的权限是在步骤3和4中指定的。

有效载荷可以在这里添加。

7.设置数字签名

选择项目-选项并找到代码签名。

2-8.png

您可以选择使用测试证书或指定证书。

默认情况下,选择“使用生成的测试证书”。

8.生成

选择构建-构建包

生成以下文件:

2-9.png

1.

TS _ ServiceIsStopped.ps1对应于疑难解答脚本。

RS _ ServiceIsStopped.ps1对应解析器脚本。

注:

看这两个ps脚本,可以发现其中包含的有效载荷。

2.

Testwtp.diagpkg是一个manifest文件,包含故障排除包中的参数,格式为xml。请参考:

https://msdn . Microsoft . com/en-us/library/windows/desktop/DD 323781(v=vs . 85)。aspx

3.

DiagPackage.cat保存故障排除包的数字签名。

注:

双击可以查看DiagPackage.cat文件中的数字签名。

3-1.png

4.

cab目录下的Testwtp.diagcab是一个打包的故障排除包,里面包含了上述文件的信息。

如图,在运行过程中执行负载,弹出管理员权限的cmd.exe。

3-2.png

0x03 测试运行故障排除包

把生成的。另一个测试系统中的diagcab文件。

报告错误,如图所示

3-3.png

这是因为新系统无法识别所使用的默认测试证书。可以在TSPDesigner的同级目录下找到证书文件TestWindowsTroubleShooting.cer,安装到受信任的根证书颁发机构,如下图所示。

3-4.png

数字签名被成功识别,如下图所示

注:

此处显示的发行者名称对应于用于签名证书的颁发者,即TestCertForWindows疑难解答。

3-5.png

当然,如果使用默认的可信证书,故障排除包在默认情况下是可信的,可以直接运行。

点击隐私声明,会弹出步骤1中设置的隐私网址:https://3gstudent.github.io/.

3-6.png

到目前为止,测试故障排除包已经成功实现。

0x04 小结

在渗透测试中,使用故障排除包有以下好处:

比较隐蔽,diagcab文件并不常见。

更具有欺骗性,用户往往会对故障排除功能失去警惕。

可以直接获得管理员权限。

嵌入式钓鱼页面,可以指定隐私声明的链接。

防御建议:

微软从一开始就注意到了这个问题,所以在troubleshooting pack中加入了数字签名验证。所以在对pack进行故障排除时(比如某个操作触发了bug修复),首先需要判断发布者的身份。

注:

默认情况下,Microsoft提供的故障排除包中的发布者名称是Microsoft Corporation。

留下回复

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

黑客攻防讨论组

黑客攻防讨论组

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

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