【原创】telegram android会话文件窃取

admin 2023年1月7日14:32:031 1,210 views字数 1954阅读6分30秒阅读模式

    今天我们将讨论telegram android应用程序上的两个错误链接,这可以使恶意应用程序窃取内部telegram文件,包括会话标识

走起:

几乎所有的信件都有一个活动可以接收任何类型的内容,如图像、视频、文本等,并将该内容转发到聊天或应用程序上的线程。

例如,打开您手机上的相册,选择一张照片,点击“分享”或“打开方式”,您会看到一个弹出窗口,其中包含您设备上的一些应用程序,这些应用程序出现是因为它们都有一个共享可以接收图像的活动,就像电报一样:

【原创】telegram android会话文件窃取

正如我们所看到的 <intent-filter>, telegram 中的 LaunchActivity 可以处理带有 mimeType 的数据:video/*, image/*, text/plain, */*

想办法把功能搞成漏洞:

在深入研究此功能如何以错误的方式进行之前,我们必须弄清楚将图像共享到应用程序时发送的意图,或者当您选择共享图像时图库应用程序会发生什么,这是一个示例为此目的:

 

【原创】telegram android会话文件窃取

上面的代码向您展示了发送给任何共享活动的确切内容,它发送 Uri文件的名称,而不是文件内容,以及何时 LaunchActivity在电报中收到 Uri该文件将在电报的上下文中打开,并将向用户显示一个聊天列表活动,让用户选择一个聊天以将文件发送到。

现在,欺骗电报应用程序是个好主意,而不是发送 UriSD 卡中的文件,我们将在电报上发送内部文件的路径。

能绕过吗?

【原创】telegram android会话文件窃取

上面的代码,命令电报应用分享

/data/data/org.telegram.messenger/shared_prefs/userconfing.xml文件聊天,但在运行此代码时,电报会显示一条消息:Unsupported content.

 

【原创】telegram android会话文件窃取

看来我是那个电报检查是否 Uri引用内部文件 AndroidUtilities.isInternalUri方法:

 

【原创】telegram android会话文件窃取

我试图绕过这个方法一个星期,没有任何结果。 哼哼,放眼大局,放轻松,我们不用绕过那个方法就可以完成攻击!

电报实际上如何从 Uri我们发送?实际上,经过 Uri经过 isInternalUri它将转发到的方法 copyFileToCache方法,它的名字很清楚,它会将文件复制到缓存中,但是如何呢?

 

【原创】telegram android会话文件窃取

它打开了 Uri经过 openInputStream,这意味着它可以打开 Uri指的是提供者,它让我们可以选择发送提供者 Uri而不是文件方案 Uri.

我检查了电报提供者并找到了一个可以引用内部电报文件并通过 isInternalUri查看。

【原创】telegram android会话文件窃取

 

【原创】telegram android会话文件窃取

openFile提供程序中的方法从中获取文件路径 final_path参数和返回 ParcelFileDescriptor该文件的。

以下提供者 URI

content://org.telegram.messenger.notification_image_provider/msg_media_raw/1/test.txt?final_path=/data/data/org.telegram.messenger/shared_prefs/userconfing.xml指的是 /data/data/org.telegram.messenger/shared_prefs/userconfing.xml

它通过了 isInternalUri方法!

【原创】telegram android会话文件窃取

新功能,糟糕的实施。

ChooserTargetService是 7 年前出现在 Android API 中的一项新功能。在显示您可以将文件发送到的所有应用程序的弹出窗口中,该列表中出现了一些新内容,该列表是具体的应用程序,您可以通过单击他们的图片直接将文件发送给他

【原创】telegram android会话文件窃取

要在您的应用程序中实现此功能,您将实现一个扩展的新服务 ChooserTargetService它将用于告诉操作系统有关要在该弹出窗口中列出的项目或人员:

【原创】telegram android会话文件窃取

 

在共享活动中,您将不得不处理一个新的额外内容,这个额外内容将是聊天 ID 或线程 ID,以便将内容直接发送给它。

但是这种实现缺乏安全性。 怎么样 SharingActivity知道是否填充了直接共享意图?如果任何应用程序向活动发送共享意图并将带有目标聊天 ID 的额外内容设置为任何聊天 ID,应用程序将直接将文件发送到该聊天而不需要用户交互!

电报有同样的问题,通过发送 dialogId将任何聊天 ID 附加到电报应用程序,它会将消息或文件直接发送到该聊天,而无需任何更多的用户交互。

最终利用

 

【原创】telegram android会话文件窃取

上面的代码将利用这两个错误并发送

/data/data/org.telegram.messenger/shared_prefs/userconfing.xml归档到 100000000直接聊天 ID 无需用户交互,要重现完整的漏洞利用,请将您的电报降级到 5.4.0。


原文始发于微信公众号(KK安全说):【原创】telegram android会话文件窃取

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月7日14:32:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【原创】telegram android会话文件窃取http://cn-sec.com/archives/1505149.html
评论  1  访客  1
    • asdfaq3143 0

      很多盗版的都是这样

    发表评论

    匿名网友 填写信息