前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MobaXterm远程连接工具脆弱性

MobaXterm远程连接工具脆弱性

作者头像
全栈工程师修炼指南
发布2022-10-28 15:02:20
2.2K0
发布2022-10-28 15:02:20
举报
文章被收录于专栏:全栈工程师修炼之路

[TOC]

0x00 前言简述

什么是MobaXterm?

MobaX 术语是远程计算的终极工具箱, 适用于 Windows 的增强型终端,带有 X11 服务器、选项卡式 SSH 客户端、网络工具以及快速监控远程系统运行状况等 Enhanced terminal for Windows with X11 server, tabbed SSH client, network tools and much more

官网地址: https://mobaxterm.mobatek.net/

有什么用?

MobaXterm 提供了所有重要的远程网络工具(SSH,X11,RDP,VNC,FTP,MOSH等)和Unix命令(bash,ls,猫,sed,grep,awk,rsync等)到Windows桌面,在一个便携式exe文件中,开箱即用.

WeiyiGeek.MobaXterm图
WeiyiGeek.MobaXterm图

WeiyiGeek.MobaXterm图

有那些主要特点?

  • 嵌入式 X 服务器: 基于 X.org 的完全配置的 X 服务器
  • 轻松导出显示器 : 显示从远程 Unix 导出到本地窗口
  • X11 转发功能: 您的远程显示器使用 SSH 实现安全传输
  • 带固态混合的选项卡式终端 : 基于 PuTTY,具有抗锯齿字体和宏支持
  • 视窗上的许多Unix/Linux命令 :基本 Cygwin 命令(bash, grep, awk, sed, rsync,……)
  • 附加组件和插件 :您可以使用插件扩展 MobaX 术语功能
  • 多功能会话管理器 :您的所有网络工具都在一个应用程序中:Rdp,Vnc,Ssh,Mosh,X11,…
  • 便携式轻便应用 : MobaXterm 已被打包为单个可执行文件,不需要管理员权限,您可以从 U 盘启动
  • 专业应用 : 专业版 MobaX 术语专为安全性和稳定性而设计

MobaXterm 功能参考:[^features.html]

版本区别

  • Home Edition(家庭版):免费,基本功能都有知识最多存储12 session、2条 ssh 隧道,4个宏的限制。
  • Professional Edition (专业版):永久$69, 包含家庭全部功能并且无会话限制以及无限数量的隧道和宏,并且可修改配置文件脚本和自定义启动消息和徽标,并且可以直接查看session存储的账号密码。 (花了钱的就是不一样)

MobaXterm 版本下载地址: [^download.html]

插件列表与安装 为了安装这些插件,只需下载它们并将它们放在与MobaXterm可执行文件相同的目录中即可。

MobaXterm 插件下载地址: [^plugins.html]


0x01 使用总结

1.忘记 MobaXterm 主密码如何重置?

描述: 当 MobaXterm 从一台机器复制到另外一台机器上或者重新安装后,需要重新输入主密码(master password),如果此时忘记了则可使用官网提供的 ResetMasterPassword工具进行重置主密码 。

密码重置工具: https://mobaxterm.mobatek.net/resetmasterpassword.html

WeiyiGeek.使用ResetMasterPassword工具图
WeiyiGeek.使用ResetMasterPassword工具图

WeiyiGeek.使用ResetMasterPassword工具图

温馨提示:如果你重新设置你的主控密码使用这个工具,所有你的连接密码之前保存在MobaXterm将会丢失。


0x02 脆弱性一览

1.如何查看MobaXterm中存储的Session密码

描述: 今天在登录某个服务器时,发现当时修改的某个服务器的密码,无法登陆到服务器(应该是自己修改的密码记错了),然而我想起当时修改密码时是使用的MobaxTerm,并且记录了其会话密码,我便开心的以为我找到突破口,好在结果是可以登录的,然后我就想查看其存储密码,发现家庭版本居然不能查看保存的明文密码,坑呀.

在工作中为了方便登录会存储session账户密码,但时间一久就会忘记,如果没有备份密码,此时再想查看密码还真是件麻烦事, 遂有了此篇文章。

MobaXterm忘记Session密码,如何查看已保存的密码?

通常情况下游两种方式,一种是将其版本升级到 MobaXterm professional Edition 直接查看存储的session密码(No money), 另外一种是针对家庭版使用基于python的开源工具反向解析密码.

  • 方式1.专业版查看存储的 session 密码, 注意家庭版是不可以使用此方法,必须进行升级
WeiyiGeek.MobaXterm professional Edition 图
WeiyiGeek.MobaXterm professional Edition 图

WeiyiGeek.MobaXterm professional Edition 图

代码语言:javascript
复制
# 1.拉取项目
WeiyiGeek@WeiyiGeek MINGW64 ~/Downloads
$ git clone https://github.com/WeiyiGeek/how-does-MobaXterm-encrypt-password.git
$ ls
MobaXtermCipher.py
ShowMobaXterm.py

# 2.安装环境依赖
# 例如,在CentOS上安装 Python3 以及 开源工具依赖模块(此处由于我是Windows的,Python环境都已经配置号楼的,所以我只安装相关依赖模块)
yum install -y git
yum install python3
yum install python3-pip
pip3 install pycryto
# 上一个命令有可能会出错,请使用这个命令
pip3 install pycryptodome
 
# 3.如果密码是存储在文件中, 可以找到 MobaXterm 安装目录下 MobaXterm.ini 文件,打开后找到Passwords模块,显示格式为: 登录名@ip=加密密码
$ dir D:\Program Files\MobaXterm
CygUtils.plugin        MobaXterm.ini  MobaXterm_Personal_20.1.exe
MobaXterm\ backup.zip  MobaXterm.log

# 4.如果密码是存储在计算机密码中,可以查看如下【 计算机\HKEY_CURRENT_USER\SOFTWARE\Mobatek\MobaXterm】下的三个注册表地址。
> regedit  # 打开注册表
HKEY_CURRENT_USER\SOFTWARE\Mobatek\MobaXterm\C  # 存储的自己创建认证票据
HKEY_CURRENT_USER\SOFTWARE\Mobatek\MobaXterm\M  # 存储的Master管理员密码(以经过加密的)
HKEY_CURRENT_USER\SOFTWARE\Mobatek\MobaXterm\P  # 存储了使用过程中记录的session会话IP端口,账号密码信息
# 例如,存储 session 会话信息格式
# Name             Type        Data
# example.com      REG_SZ      root:0XROpGmLAYVx

# 数值名称 :weiyigeek@10.0.30.70
# 数据类型 :REG_SZ
# 数据值 :7FzQQ12lpX7g2s8O39zquyQ=

# 5.也可以采用PowerShell命令进行查看
Get-Item 'HKCU:\SOFTWARE\Mobatek\MobaXterm\'
# 获取 SessionP 值
(Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\').SessionP
2493068723790
# Master/自创建的服务器账号密码/session会话记录的账号密码
Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\m'
Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\c'
Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\p'
WeiyiGeek.MobaXterm注册表图
WeiyiGeek.MobaXterm注册表图

WeiyiGeek.MobaXterm注册表图

代码语言:javascript
复制
# 6.开源工具的使用帮助
cd how-does-MobaXterm-encrypt-password
MobaXtermCipher.py <enc|dec> <-sp SessionP> <plaintext|ciphertext>
MobaXtermCipher.py <enc|dec> <-p master_password> <plaintext|ciphertext>
<-sp SessionP>           The value `SessionP` stored in key HKCU\Software\Mobatek\MobaXterm
<-p master_password>     The master password set in MobaXterm.
<plaintext|ciphertext>   Plaintext string or ciphertext string.

# 在已知道自己设置Master密码的情况下可直接(此处假设我的 master密码是 weiyigeek),将 plaintext|ciphertext 接到 -p 指定 master密码参数后。
> python MobaXtermCipher.py dec -p weiyigeek 8wCf+h+v2OpB0IrTPg==
Hlwdmm94bngsn

# 使用 SessionP 加密解密
C:\Users\WeiyiGeek\Downloads\how-does-MobaXterm-encrypt-password\python3>python MobaXtermCipher.py enc -sp 2493068723790 weiyigeek
31RwmZeeGndNigeRo0cud++YU8tNF8MTbZcoA3l3ThUnK
C:\Users\WeiyiGeek\Downloads\how-does-MobaXterm-encrypt-password\python3>python MobaXtermCipher.py dec -sp 2493068723790 31RwmZeeGndNigeRo0cud++YU8tNF8MTbZcoA3l3ThUnK
weiyigeek

# ShowMobaXterm.py: 所有凭据和密码都可以通过 (注意该脚本只能在 Windows 上运行)
python ShowMobaXterm.py
python ShowMobaXterm.py weiyigeek
WeiyiGeek.ShowMobaXterm.py 图
WeiyiGeek.ShowMobaXterm.py 图

WeiyiGeek.ShowMobaXterm.py 图

官方参考地址:https://github.com/HyperSine/how-does-MobaXterm-encrypt-password#3-example

温馨提示:如果在执行 python ShowMobaXterm.py weiyigeek 出现如下错误时,请将第 232 与 231 行的 ConnHostname.encode('ansi'), ConnUsername.encode('ansi') 删除,如果存储编码错误提示请将 encode 中 ansi 参数变成 uft8编码。

代码语言:javascript
复制
-------------------Passwords--------------------
Traceback (most recent call last):
  File "ShowMobaXterm.py", line 232, in <module>
    ConnUsername.encode('ansi')
TypeError: DecryptPassword() takes 2 positional arguments but 4 were given

解决办法:

代码语言:javascript
复制
# ShowMobaXterm.py 中的 229 行
ConnPassword = cipher.DecryptPassword(
  Value
).decode("utf8","ignore")

# 如果有中文编码
encode('ansi') => decode("utf8","ignore")

然后顺手提交了一个 PR。

WeiyiGeek.在源项目中查看提交的PR图
WeiyiGeek.在源项目中查看提交的PR图

WeiyiGeek.在源项目中查看提交的PR图

[^features.html]: MobaXterm 功能参考 : https://mobaxterm.mobatek.net/features.html [^download.html]: MobaXterm 版本下载地址 : https://mobaxterm.mobatek.net/download.html [^plugins.html]: MobaXterm 插件下载地址 : https://mobaxterm.mobatek.net/plugins.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 前言简述
  • 0x01 使用总结
    • 1.忘记 MobaXterm 主密码如何重置?
    • 0x02 脆弱性一览
      • 1.如何查看MobaXterm中存储的Session密码
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档