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

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

    TheHackerWorld官方

渗透技巧——后门利用结文件夹和库文件


RenX6

推荐的帖子

0x00 前言

维基解密公布的CIA Vault 7涉及Windows系统中Junction文件夹和库文件的使用。

地址如下:

https://wikileaks.org/ciav7p1/cms/page_13763381.html

https://wikileaks.org/ciav7p1/cms/page_13763373.html

郑对此进行了分析,分享了一种库文件的后门利用方法,并详细介绍了如何检测结文件夹和库文件的恶意利用。

地址如下:

https://www . counter cept . com/blog/hunting-for-junction-folder-persistence/

https://www . counter cept . com/blog/abiling-windows-library-files-for-persistence/

本文将在以上参考资料的基础上,对比Junction文件夹和库文件,进一步利用库文件的后门利用方式(隐蔽性更强),开源一个POC,分享自己对检测的理解。

0x01 简介

本文将介绍以下内容:

连接文件夹的利用方法

图书馆档案的利用方法

文件后门的进一步利用

检测和识别

0x02 Junction Folders的利用方法

Junction Folders可以简单理解为一个可以跳转到另一个位置的文件夹。

三种常见的创建方法:

修改注册表项

修改文件夹中的desktop.ini

使用特殊的文件名,如test。{ ed7ba 470-8e 54-465 e-825 c-99712043 e01c }

对于第三种方法,特定的CLSID对应于特定的文件路径。

如果我们通过注册表创建一个CLSID并指定dll路径,dll将在文件夹打开时加载。

1、实际测试

测试dll是执行计算器,参考的下载地址是:

https://github.com/3gstudent/test/raw/master/calc.dll

(1)修改注册表,添加注册表项

蝙蝠命令如下:

SET KEY=HKEY _当前_用户\软件\类\ CLSID \ { 11111111-1111-1111-1111-11111111 } \ in proc server 32

注册。' c:\test\calc.dll' /F

注册。/V threading model/T REG _ SZ/D Apartment/F

(2)新建文件夹test.{11111111-1111-1111-1111-111111111111}

(3)选中该文件夹即可加载calc.dll

注:

它将只被加载一次,并且重启过程explorer.exe可以被再次触发。

2、系统开机自动加载的实现方法(用户权限)

(1)重命名系统文件夹

将% appdata% \ Microsoft \ Windows \开始菜单\程序\附件重命名为附件。{11111111-1111-1111-1111-11111}

(2)新建文件夹

保存文件夹测试。{ 11111111-1111-1111-1111-1111111 }在以下任何一个地点:

% appdata % \ Microsoft \ Windows \开始菜单\程序\

% appdata% \ Microsoft \ Windows \开始菜单\程序\

0x03 Library Files的利用方法

该文件的扩展名为library-ms,位于% appdata % \ Microsoft \ windows \ libraries中。

官方文件:

https://docs . Microsoft . com/en-us/windows/客户端管理/windows-库

对库文件的简单理解:

可以同时显示多个文件夹中的内容。

1、实际测试:

(1)修改注册表,添加注册表项

蝙蝠命令如下:

SET KEY=HKEY _当前_用户\软件\类\ CLSID \ { 11111111-1111-1111-1111-111111111 } \

注册。' c:\test\calc.dll' /F

注册。EXE ADD % KEY % in proc server 32/V threading model/T REG _ SZ/D Apartment/F

注册。EXE ADD % KEY % shell folder/V Attributes/T REG _ DWORD/D 4035969341/F

注:

与连接文件夹相比,库文件需要多添加一个注册表项。

(2)修改%appdata%\Microsoft\Windows\Libraries\Documents.library-ms

以xml格式添加以下内容:

@shell32.dll,-34577 true shell:{ 11111111-1111-1111-1111-1111-11111111 }

(3)访问%appdata%\Microsoft\Windows\Libraries\Documents.library-ms

打开文件时,dll会被多次加载。这里,您可以添加一个互斥体来避免多次启动。下载地址(仅用于演示):

https://github.com/3gstudent/test/raw/master/calcmutex.dll

注意:

包括从2个地点改为3个地点。

如下图

2-1.png

查看这个位置,您可以找到加载的CLSID,如下图所示

2-2.png

2、系统开机自动加载的实现方法(用户权限)

将修改后的Documents.library-ms放在以下任意位置:

% appdata % \ Microsoft \ Windows \开始菜单\程序\

% appdata% \ Microsoft \ Windows \开始菜单\程序\

注:

您还可以修改Music.library-ms和Pictures.library-ms,甚至创建自己的图标(您可以指定显示的图标)。

0x04 Library Files后门的进一步利用

库文件的后门利用方法最明显的特点就是可以从Includes中找到加载的CLSID。

这里有一个解决方案:

清除路径,并指定不显示该路径。

成功隐藏加载的CLSID,最终效果如下

2-3.png

1、实现方法

根据xml格式,清空原始代码并添加以下代码:

@shell32.dll,-34577 false true shell:{ 11111111-1111-1111-1111-1111-11111111 }

2、通过powershell实现的POC

测试后,您可以使用固定模板,而无需指定它。

流程如下:

修改注册表

发布指定目录下的Documents.library-ms

写脚本时需要注意的事项:

需要指定输出的编码格式为UTF-8,默认为UTF-16(unicode),这样会造成library-ms文件的格式错误。

为了将变量$clsid传递到字符串中,字符串的定义应该使用双引号而不是单引号

完整的代码可以参考:

https://github . com/3g student/home-of-Powershell/blob/master/Invoke-library files persistence . PS1

代码实现添加注册表项,创建文件% appdata % \ Microsoft \ Windows \ Libraries \ documents . library-ms,用户登录时会加载c:\test\calc.dll。

0x05 检测和识别

对于连接文件夹和库文件的使用方法,需要特别注意的是:

普通用户权限就可以了。

该文件格式不常见且具有欺骗性。

使用该方法,可以检查每个链接:

有没有可疑的dll?

有效负载必须是dll格式

注册表CLISD中有可疑的dll吗?

可以监控注册表的敏感位置HKEY _本地_机器\软件\类\ clsid和HKEY _当前_用户\软件\类\ clsid。

对于连接文件夹,遍历文件夹并检查后缀是否与可疑的CLSID相关联。

对于库文件,遍历库-ms文件以检查可疑的CLSID是否关联。

这可以直接引用郑的剧本:

https://gist . github . com/counter cept/6890 be 67 e 09 ba 3d aed 38 fa 7 aa 6298 fdf

0x06 小结

本文测试了Junction文件夹和库文件的利用方法,进一步利用库文件的后门利用方法增加隐蔽性,开源POC并介绍了脚本编写的注意事项,最后分享了自己对检测的理解。

留下回复

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

黑客攻防讨论组

黑客攻防讨论组

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

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