【内网】内网远程桌面密码获取

news/2024/12/26 8:54:43/文章来源:https://www.cnblogs.com/o-O-oO/p/18629151
一、远程桌面历史IP获取    1.1 mstsc查看历史登录IP    1.2 注册表地址获取历史登录IP地址    1.3 ListRDPConnections    二、获取 RDP 远程桌面连接凭据    2.1 在凭据管理器中查看 Windows 凭据    2.2 使用 Mimikatz 导出远程桌面连接凭据    2.3 从 svchost 中获取 RDP 连接凭据    2.4 从已存在的 RDP 连接中导出    2.5 使用 PowerShell 脚本Invoke-WCMDump导出    2.6 RdpThief    2.7 SharpRDPThief     2.8 Remote Desktop PassView v1.02    

当通过边界渗透进入内网后,通过密码暴力破解,内网应用等获取内网Windows权限后,通过代理等进行远程桌面登录,查看并获取远程桌面连接历史IP地址以及保存的用户名和密码,可以继续进行内网渗透,获取更多的权限。

一、远程桌面历史IP获取

1.1mstsc查看历史登录IP

获取远程桌面(RDP)连接的历史IP记录可以帮助管理员了解哪些服务器或远程机器曾被连接过。这些信息通常存储在Windows注册表中。可以打开远程桌面mstsc后,在计算机列表中可以看到曾经的历史登录IP,有些IP可能还保存了登录用户名和密码,使用这些凭据可以直接登录管理员曾经登录过的服务器,前提是需要获取该服务器或者个人主机的远程登录权限。

查看历史登录IP

1.2注册表地址获取历史登录IP地址

1、注册表键值查看

按 Win + R 键,输入 regedit,然后按回车键,导航到HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers,可以看到历史登录过的服务器IP地址获取域名。

2、命令行直接获取远程桌面历史连接IP地址

powershell下执行命令:

dir "Registry::HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" -Name

1.3ListRDPConnections

https://github.com/Heart-Sky/ListRDPConnections

只能获取历史连接记录。

二、获取 RDP 远程桌面连接凭据

2.1 在凭据管理器中查看 Windows 凭据

1、Windows凭据管理器介绍

Windows凭据管理器(Credential Manager)是Windows操作系统中的一个组件,它帮助用户管理和存储各种类型的登录信息和其他敏感数据。通过凭据管理器,用户可以安全地保存网站、网络资源和Windows域的用户名和密码等信息,以便在需要时自动填充这些凭证,从而简化访问受保护资源的过程。

凭据管理器的主要功能

Web凭据:用于保存网站登录信息。

Windows凭据:包括网络资源(如文件服务器、打印机)、Windows域账户等的登录信息。

证书:用于身份验证的数字证书。

2、Windows 凭据保留位置

C:\Users\<用户名>\AppData\Local\Microsoft\Credentials

3、ps下查看Windows凭据

(1)查看当前保存的凭据

cmdkey /list 

(2)cmd下查看保存的凭据

dir /a "%userprofile%\AppData\Local\Microsoft\Credentials\*"    

(3)PowerShell下查看保存的凭据

dir /a "%userprofile%\AppData\Local\Microsoft\Credentials\*"

2.2 使用 Mimikatz 导出远程桌面连接凭据

1、获取guidMasterKey

(1)mimikatz

(2)privilege::debug

(3)dpapi::cred /in:C:\Users\36502\AppData\Local\Microsoft\Credentials\1A5A322625F3341E03935748DAA118C3

也可以一句话直接执行:

mimikatz # mimikatz.exe "privilege::debug" "dpapi::cred /in:C:\Users\36502\AppData\Local\Microsoft\Credentials\1A5A322625F3341E03935748DAA118C3"

{778f9b6e-31d1-4c55-9b6e-5360aed0bf38}

说明凭据文件是通过dir /a "%userprofile%\AppData\Local\Microsoft\Credentials*"获取的。

记录guidMasterKey:{778f9b6e-31d1-4c55-9b6e-5360aed0bf38}

2、获取MasterKey

(1)privilege::debug

(2)sekurlsa::dpapi

也可以直接cmd下执行命令

 mimikatz.exe "privilege::debug" "sekurlsa::dpapi"

Windows11下执行未能测试成功。

正确的图如下:

3、获取明文密码

mimikatz.exe "dpapi::cred /in:C:\Users\3650\AppData\Local\Microsoft\Credentials\4D8F543ACD10B143849414A5085FE4E6 /masterkey:53c01b9679dc0e55b91584781fe13eb1c5faa2694fc693f98838fedd74d3ad371754b9d9d841769882c8e14c965e4ae40a45dce88101cf5831fc4d694cc38e81"    

2.3 从 svchost 中获取 RDP 连接凭据

svchost.exe 是 Windows 中用于运行多个服务的通用主机进程,对系统正常运行至关重要。当用户通过 RDP 远程桌面连接并进行身份验证时,相关服务由 svchost.exe 托管。由于 Windows 身份验证机制的原因,RDP 凭据可能以纯文本形式短暂存在于 svchost.exe 的内存中,这使得通过内存转储技术理论上可以提取这些凭据。

1、查询终端服务

sc queryex termservice

2、内存导出

通过 procdump.exe 将 PID 进程内存转储为 .dmp

procdump64.exe -ma PID -accepteula C:\Users\Administrator\Desktop

2.4 从已存在的 RDP 连接中导出

privilege::debugts::logonpasswords# mimikatz.exe "privilege::debug" "ts::logonpasswords"

2.5 使用 PowerShell 脚本Invoke-WCMDump导出

项目地址:https://github.com/peewpw/Invoke-WCMDump

Invoke-WCMDump.ps1 这个 PowerShell 脚本可以在 Windows 凭据管理器中枚举 Windows 凭据,然后提取有关每个凭据的可用信息,且无须管理员权限。

1、需要更改权限

Import-Module .\Invoke-WCMDump.ps1

PowerShell默认设置为Restricted,这意味着不允许运行任何脚本,包括本地脚本。为了运行自定义脚本,需要更改执行策略。

Restricted:默认值,不允许运行任何脚本。

AllSigned:只允许运行由受信任发布者签署的脚本。

RemoteSigned:允许运行本地创建的脚本,远程下载的脚本必须有数字签名。

Unrestricted:允许所有脚本运行,但会警告未签名的脚本。

Bypass:不阻止或不提示任何内容;适用于构建服务器等非交互式环境。

Undefined:移除当前作用域内的执行策略(不会影响其他作用域)。

2、更改权限

Get-ExecutionPolicySet-ExecutionPolicy RemoteSigned

3、执行导出命令

Import-Module .\Invoke-WCMDump.ps1    

2.6 RdpThief

当用户打开 Windows 远程桌面 mstsc.exe 并通过 RDP 协议远程连接到其他系统时,将创建 mstsc.exe 进程。而如果此时我们使用 API Hooking 则可以直接拦截用户提供的凭据,并将其保存到用户主机上某处。Rio Sherri 开发了一个名为 RdpThief(https://github.com/0x09AL/RdpThief) 的概念性验证工具,它可以尝试在运行有 mstsc.exe 进程的主机上 Hooking mstsc 进程中使用的函数(CredIsMarshaledCredentialW 和 CryptProtectMemory),并检索其中的凭据然后将凭据写入主机上的某个文件中。

1、使用 Cobalt Strike 加载 RdpThief

2、依次执行以下命令

(1)rdpthief_enable:启动心跳检测,每 5 秒搜索一次 mstsc.exe 进程并注入 RdpThief_x64.tmp 中的 Shellcode,管理员远程桌面登录3389。

(2)rdpthief_disable:停止心跳检测,但该命令不会卸载注入的 Shellcode•rdpthief_dump:显示抓取的凭据,默认读取路径为 %temp%\data.bin

(3)rdpthief_dump

抓出来的凭据存储在 %temp%\data.bin 目录下

另外一种注入方法

(1)获取mstsc的pid值假设为1111

tasklist /v | findstr "mstsc"

(2)注入RdpThief.dll

Import-Module .\Invoke-DllInjection.ps1Invoke-DllInjection -ProcessID 1111-Dll RdpThief.dll

2.7 SharpRDPThief

https://github.com/passthehashbrowns/SharpRDPThief

SharpRDPThief 工具是 Josh Magri 用 C# 重写对 RdpThief 的重写。然而,与 RdpThief 相比,SharpRDPThief 使用 IPC Server 可以使用接收来自 mstsc.exe 进程中抓取到的凭据。如果 mstsc.exe 被终止,Server 也会继续运行,并且等待 mstsc.exe 进程再次重新启动时会尝试再次进行 Hooking。这解决了 RdpThief 要求进程已经存在的限制。直接运行 SharpRDPThief.exe,然后模拟管理员使用远程桌面登录某台服务器,输入密码后 SharpRDPThief 成功抓取到了 RDP 登录凭据。
1.2.8Remote Desktop PassView v1.02

Remote Desktop PassView v1.02对Windows早期版本可以读取密码,对于Windows11无法读取保存的密码。
工具下载地址:https://www.nirsoft.net/utils/remote_desktop_password.html

直接运行rdpv即可。

原创 小兵搞安全

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直击心灵:别让‘在吗’成为沟通障碍

在聊天过程中,我特别反感收到“在吗”的询问或是“微笑”表情。 当需要请求他人协助时,相较于冷冰冰又显敷衍的“在吗?”或是让人感觉虚伪的“微笑”表情,我更倾向于在“在吗”前加上对方的名字或昵称,随后直接切入主题。这样的沟通方式更为亲切且高效,也更容易得到对方的…

【半解决】开启代理后无法连接github仓库,开启tun模式后无法连接github仓库

背景 如图所示。问题 无法连接github仓库,代理可以正常访问外网。 PS C:\Users\acer\bin\ps> ssh -Tv git@github.com OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2 debug1: Reading configuration data C:\\Users\\acer/.ssh/config debug1: C:\\Users\\acer/.ssh/config l…

[密码管理/信息安全] 密码管理工具:KeePass vs LastPass vs 1Password [转]

序在互联网上冲浪的时候,遇到个有趣好玩的网站,想看里面内容的时候,往往就会要你注册登录。 这时候就会很崩溃,不注册的话没办法看里面的内容 注册的话,担心收到垃圾邮件,个人信息泄露,注册得不偿失(为了看一篇文章而注册一个账号) 我知道身边的一些人就是很多账号,密…

利用Spring Cloud Gateway Predicate优化微服务路由策略

Spring Cloud Gateway 的路由配置中,predicates(断言)用于定义哪些请求应该匹配特定的路由规则。断言是Gateway在进行路由时,根据具体的请求信息如请求路径、请求方法、请求参数等进行匹配的规则。当一个请求的信息符合断言设置的条件时,Gateway就会将该请求路由到对应的服…

补环境 记录

目前补全 小红书 搞定 抖音 搞定 腾讯滑块 腾讯 位数一样 没时间插桩 周末搞定 对一下 瑞数vmp 阿里 滑块 (目标) 以小肩膀 课程补环境框架为基础 结合了v_tools 插件 ,目前在结合各大补环境框架 优点 搞定了 dom 增删改查 目前 难点 -> innerHTML 实现实现了 当前 元素…

Visual Studio - API调试与测试工具之HTTP文件

VisualStudio2022支持类似RESTClient功能,可通过.http文件便捷调试Api接口,包括创建方式、语法、注释变量、环境文件及身份验证等,功能待完善,测试代码已上传至代码库。后端开发,我们对于Api接口调试测试大致有以下方法:单元测试、Swagger、Postman。 但是每种方式也都有…

tasklet

数据结构初始化tasklet_scheduletasklet_action {{uploading-image-512152.png(uploading...)}}

pelt

为什么需要PELT? 之前CFS以每个运行队列为单位跟踪负载;存在几个问题:一个运行队列存在很多个调度实体,所以无法存在当前的负载来源; 即使工作负载相对稳定的情况下,在rq级别跟踪负载,其值也会产生很大变化。(为什么?)为了解决以上问题:提出了PETL算法,PELT算法跟踪…

fork

dup_task_structsched_forkcopy_mmcopy_thread_tls

page_fault

预备处理do_page_faultdo_anonymous_pagedo_faultdo_wp_page