【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

admin 2024年4月14日02:08:43评论68 views字数 1615阅读5分23秒阅读模式

1day!Telegram Windows客户端存在RCE漏洞

0x00 前言

Telegram是一款跨平台的即时通讯软件,用户可以相互交换加密与自毁消息,发送照片、影片等所有类型文件。

0x01 漏洞描述

官方源文件中写错文件后缀名,pyzw写成了pywz,攻击者制作恶意的.pyzw文件可以在windows中执行任意代码。

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

.pyzw是python zip应用程序(zipapp)的文件扩展名。

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

0x02 漏洞利用限制条件

1、windows环境

2、安装有python

0x03 漏洞详情

pyzw 本质上就是一个zip文件,内附一个__main__.py 打包成zip,并修改为pyzw后缀名,运行文件就会去执行__main__.py里对应的Python代码。

写法一:

__import__("subprocess").call(["calc.exe"])

写法二:

import subprocesssubprocess.run("calc.exe")

因为漏洞可以结合机器人进行转发,可以使文件变为mp4格式。

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞
https://github.com/telegramdesktop/tdesktop/pull/27737/commits/effad980f712cd1a4e8cee4fca42193fe5a612de

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

随后@VulkeyChen师傅根据@im23pds的帖子进行了回答

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

随后在项目中的一项评论发现了重要的一点:

https://github.com/telegramdesktop/tdesktop/pull/27737

Windows 上正确的 python zipapp 扩展是 pyzw,此拼写错误可能会导致在客户端设备中执行代码而没有适当的警告

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

import subprocesssubprocess.run("calc.exe")

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

这里就有一个重要,就是利用难度的问题,曾哥也评论了相关需要Python环境支撑,才能RCE!

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

随后尝试python2和python3的环境,也只是函数之差,这些也并不重要,只是小小的细节问题。(.pywz文件通常是需要对此类的文件设置默认python为打开模式)要不然会提示使用什么方式打开,包括在Telegram也会提示

python2

# -*- coding: utf-8 -*-import subprocess# 打开计算器subprocess.call("calc.exe")

python3

import subprocess# 打开计算器subprocess.run("calc.exe")

在曾哥团队群聊里面也有人问了,MP4格式是怎么弄的,校长的文章中也是提示到使用API机器人转发,变成MP4。

我们看看下面的这段代码内容:

这段代码是一个Node.js脚本,用于创建一个Telegram机器人(bot),当收到指定命令"/video"时,它会向指定的聊天ID发送一个视频文件。代码中使用了node-telegram-bot-api库来操作Telegram Bot API,并且使用了fs模块来读取文件。将读取指定路径下的文件("/home/user/download.pyzw"),并将其作为视频文件发送给指定的聊天ID,然后就是我们看到的MP4格式RCE了。

帖子在这,做了缩短:

http://dz4fp.osxo.cn/8a

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

关于API机器这步骤也是尝试了搭建转发机器人,因为没有部署过Telegram的机器,也是用的BotFather和cloudflare测试和改了好几遍弄成一坨屎直接放弃了。

最后找到了这个项目

https://github.com/yagop/node-telegram-bot-api

最后写到这里我也是看到校长的那篇文章尾部是说:做了限制,但是对于整个RCE完整复现还是得在机器人上花费时间,那么先到这里吧!

【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

原文始发于微信公众号(利刃信安):【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月14日02:08:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞复现】1day!Telegram Windows客户端存在RCE漏洞https://cn-sec.com/archives/2654930.html

发表评论

匿名网友 填写信息