内网渗透中的密码解密总结(上)

内网渗透时,除了MS17-010这样的大杀器外,还可以对机器上已保存的远程管理工具和数据库连接工具的凭证进行解密来获取明文密码。我们先讲讲远程管理工具的解密。

1.SecureCRT

SecureCRT 的session文件保存在如下位置:

在SecureCRT7或以下的版本中,配置文件中保存的凭证信息如下:

在SecureCRT8中,配置文件中保存的凭证信息如下:

可以看到二者hash长度不一致,版本也有区别,加密算法肯定不一致。

目前已知的SecureCRT7的加密算法,使用了两次Blowfish算法,密钥是硬编码的。

解密脚本:

https://raw.githubusercontent.com/Synacktiv/stuffz/master/VanDyke_SecureCRT_decrypt.py

实测截图:

对于SecureCRT8,目前算法未知,期待大牛可以逆向出算法。

2.Xshell

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

配置文件中保存的凭证信息如下:

Xshell的凭证存储用到了当前用户名与SID,以二者组合的SHA256 hash值作为密钥,加密算法是ARC4。

用户名和SID可以用whoami /user获取:

解密工具或脚本:

https://github.com/DoubleLabyrinth/how-does-Xmanager-encrypt-password

https://github.com/jnewing/xdec

https://github.com/dzxs/Xdecrypt

实测截图:

3.WinSCP

WinSCP默认安装在C:\Program Files (x86)\WinSCP,其用户凭证可以保存在注册表或者配置文件中。

配置文件则在C:\Program Files (x86)\WinSCP\WinSCP.ini

C:\Users\USERNAME\AppData\Local\VirtualStore\Program Files (x86)\WinSCP\WinSCP.ini

若凭证保存在注册表,可通过修改上图中的配置存储项将凭证存储到文件中。

解密工具或脚本:

https://bitbucket.org/knarf/winscppwd/downloads/winscppwd.exe

https://raw.githubusercontent.com/anoopengineer/winscppasswd/master/main.go

https://raw.githubusercontent.com/YuriMB/WinSCP-Password-Recovery/master/src/main/java/Main.java

实测截图:

未完待续...

文章来源:乌托邦安全技术社区。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180630G183IQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券