[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.top-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.top-使用ResetMasterPassword工具图
温馨提示:如果你重新设置你的主控密码使用这个工具,所有你的连接密码之前保存在MobaXterm将会丢失。
0x02 脆弱性一览 1.如何查看MobaXterm中存储的Session密码 描述: 今天在登录某个服务器时,发现当时修改的某个服务器的密码,无法登陆到服务器(应该是自己修改的密码记错了),然而我想起当时修改密码时是使用的MobaxTerm,并且记录了其会话密码,我便开心的以为我找到突破口,好在结果是可以登录的,然后我就想查看其存储密码,发现家庭版本居然不能查看保存的明文密码,坑呀.
在工作中为了方便登录会存储session账户密码,但时间一久就会忘记,如果没有备份密码,此时再想查看密码还真是件麻烦事, 遂有了此篇文章。
MobaXterm忘记Session密码,如何查看已保存的密码?
通常情况下游两种方式,一种是将其版本升级到 MobaXterm professional Edition
直接查看存储的session密码(No money), 另外一种是针对家庭版使用基于python的开源工具反向解析密码.
方式1.专业版查看存储的 session 密码, 注意家庭版是不可以使用此方法,必须进行升级
weiyigeek.top-MobaXterm professional Edition 图
[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.top-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.top-使用ResetMasterPassword工具图
温馨提示:如果你重新设置你的主控密码使用这个工具,所有你的连接密码之前保存在MobaXterm将会丢失。
0x02 脆弱性一览 1.如何查看MobaXterm中存储的Session密码 描述: 今天在登录某个服务器时,发现当时修改的某个服务器的密码,无法登陆到服务器(应该是自己修改的密码记错了),然而我想起当时修改密码时是使用的MobaxTerm,并且记录了其会话密码,我便开心的以为我找到突破口,好在结果是可以登录的,然后我就想查看其存储密码,发现家庭版本居然不能查看保存的明文密码,坑呀.
在工作中为了方便登录会存储session账户密码,但时间一久就会忘记,如果没有备份密码,此时再想查看密码还真是件麻烦事, 遂有了此篇文章。
MobaXterm忘记Session密码,如何查看已保存的密码?
通常情况下游两种方式,一种是将其版本升级到 MobaXterm professional Edition
直接查看存储的session密码(No money), 另外一种是针对家庭版使用基于python的开源工具反向解析密码.
方式1.专业版查看存储的 session 密码, 注意家庭版是不可以使用此方法,必须进行升级
weiyigeek.top-MobaXterm professional Edition 图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 WeiyiGeek@WeiyiGeek MINGW64 ~/Downloads $ git clone https://github.com/WeiyiGeek/how-does-MobaXterm-encrypt-password.git $ ls MobaXtermCipher.py ShowMobaXterm.py yum install -y git yum install python3 yum install python3-pip pip3 install pycryto pip3 install pycryptodome $ dir D:\Program Files\MobaXterm CygUtils.plugin MobaXterm.ini MobaXterm_Personal_20.1.exe MobaXterm\ backup.zip MobaXterm.log > regedit HKEY_CURRENT_USER\SOFTWARE\Mobatek\MobaXterm\C HKEY_CURRENT_USER\SOFTWARE\Mobatek\MobaXterm\M HKEY_CURRENT_USER\SOFTWARE\Mobatek\MobaXterm\P Get-Item 'HKCU:\SOFTWARE\Mobatek\MobaXterm\' (Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\' ).SessionP 2493068723790 Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\m' Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\c' Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\p'
weiyigeek.top-MobaXterm注册表图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 cd how-does-MobaXterm-encrypt-passwordMobaXtermCipher.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. > python MobaXtermCipher.py dec -p weiyigeek 8wCf+h+v2OpB0IrTPg== Hlwdmm94bngsn 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 python ShowMobaXterm.py python ShowMobaXterm.py weiyigeek
weiyigeek.top-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编码。
1 2 3 4 5 -------------------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
解决办法:1 2 3 4 5 6 7 ConnPassword = cipher.DecryptPassword( Value ).decode("utf8" ,"ignore" ) encode('ansi' ) => decode("utf8" ,"ignore" )
然后顺手提交了一个 PR。
weiyigeek.top-在源项目中查看提交的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