一次「假 Cloudflare 验证」页面的分析记录:从社工诱导到 PowerShell 远程请求

mooncci

记录一次假 Cloudflare 验证页面的社工诱导,以及在隔离虚拟机中对 PowerShell 远程请求的分析过程。

前两天,我在访问一个网站时,遇到了一个乍看非常“正常”的页面:页面打着 Cloudflare 的样式,提示“在继续之前检查连接的安全性”,并要求用户完成几个步骤:

  1. 按下 Windows + R

  2. 按下 Ctrl + V

  3. 按下 Enter

原文截图 1

我发现这个网站把下面的Powershell命令静默复制到剪贴板:

原文截图 2

如果只是普通用户,看到Cloudflare的图标,很容易下意识照着做。 但我看到这网站的时候,什么时候Cloudflare有这种验证页面了?

这篇文章,就是我对这次事件的完整分析记录。


一、先来分析一下这个PowerShell命令

我还是是个软件工程的学生,没有实际分析的能力,鉴于现在AI的能力很强,所以我把这个指令发给了ChatGPT 5.4(PLUS版本),和Google Gemini(PLUS版本),下面是GPT和Gemini给出的分析

原文截图 3

Gemini给出的解释则更详细一些

原文截图 4

原文截图 5

原文截图 6

原文截图 7

原文截图 8

原文截图 9

看完这两个AI的分析,我已经对这个所谓的验证页面复制到我剪贴板的命令有的大致的认识。但是,我很好奇这个命令访问以后究竟会在电脑进行什么操作,我决定对对这个指令进行抓包处理。

二、搭建抓包环境

我手头只有一台Windows电脑,我决定使用VMware虚拟机进行搭建

1.Windows 11 虚拟机:用来模拟受害者环境,负责执行页面诱导的内容。

2.Ubuntu 虚拟机:用来做网络观察和伪造网络响应。

使用的主要工具

在Windows 里,我主要用了:

Procmon:观察进程、文件、注册表行为

TCPView:观察连接建立情况

在 Ubuntu里,我主要用了:

Wireshark:抓包

INetSim:伪造一个“假互联网”

  1. 网络策略

一开始我让两台虚拟机只跑在 Host-Only 网络里,确保不会对我的实体Windows造成影响。但是发现断网的Windows在运行该程序的时候会因为无法发出DNS请求报错退出,所以为了进一步观察样本“联网后会做什么”,我在Ubuntu上搭了INetSim,把所有解析都指向分析机自身。这样一来,Windows以为自己联网了,但实际上请求都只会落到我控制的假服务上。我一方面可以在INetSim的控制台日志上看到对应的DNS请求,另一方面因为是搭建的假的DNS服务器,电脑无法联网,可以保证实体机系统的安全

三、测试过程

1.断网测试

在第一次的断网测试中,我通过对比*Procmon,TCPView,Wireshark的数据,*这段被页面诱导执行的内容,**确实成功启动了PowerShell,**但因为电脑无法联网,它没有成功完成后续加载,于是PowerShell很快报错退出。

2.INetSim“假互联网测试”

为了进一步确认它到底想请求什么,我在Ubuntu上启用了INetSim,构建了一个“看起来像互联网,但实际上完全在虚拟机的环境。

在这个阶段,我先做了一个无害验证: 我用浏览器访问了 example.com,确认 DNS、HTTP 和伪造网页服务都已经正常工作。

测试结果如下

原文截图 10

———————————————————————2026.04.04 0:34 太晚了,剩下的明天写,格式明天完善~

评论

正在读取评论…