標題:遠程桌面(RDP)上的滲透測試技巧和防禦

taibeihacker

Moderator

0x00 前言​

在本文中,我們將討論四種情況下的遠程桌面滲透測試技巧方法。通過這種攻擊方式,我們試圖獲取攻擊者如何在不同情況下攻擊目標系統,以及管理員在激活RDP服務時來抵禦攻擊時應採取哪些主要的防御手段。远程桌面协议(RDP)也稱為“終端服務客戶端”,是Microsoft開發的專有協議,為用戶提供通過網絡連接遠程登錄到另一台計算機的圖形界面。 RDP服務器內置於Windows操作系統中;默認情況下,服務器監聽TCP端口3389。

0x01 RDP服务攻击​

1.RDP暴力破解攻击​

让我们开始吧!假設admin已允許其係統中的遠程桌面服務進行本地網絡連接。
bmgdamq30kw23710.jpg

1.1使用nmap扫描RDP攻擊者可以藉助nmap來驗證端口3389是否被打開。對於RDP滲透,我們還使用nmap來掃描目標系統(192.168.0.102)以獲取開放式RDP的端口。
nmap -p 3389 192.168.0.102如果允許遠程桌面服務,則nmap將顯示OPEN作為端口3389的狀態,如下圖所示:
l5g0tem5qgp23711.jpg

1.2.对RDP进行暴力攻击為了與RDP連接,我們總是需要登錄憑證作為經過身份驗證的連接。有效用戶憑證可以輸入它的用戶名和密碼,但無效用戶(攻擊者)無法猜出正確的登錄憑據,因此需要通過暴力攻擊來獲取登錄憑證。
我們正在使用hydra來展示對RDP進行暴力攻擊。 Hydra:它是一個並行登錄破解程序,支持多種協議攻擊。它非常快速靈活,新模塊易於添加。在kali Linux中打開終端並輸入以下命令:
Hydra -v -f -L /root/Desktop/user.txt -P /root/Desktop/dict.txt rdp://192.168.0.102從下面的截圖中可以看到正確地獲取到用戶名:ignite和密碼:123456,我們通過端口3389上的暴力攻擊檢索到。使用此憑據攻擊者可以登錄遠程桌面服務。
4ogwaqd0eii23712.jpg

2.扫描端口3389以进行DOS攻击​

很多時候,為了確定主機是否容易受到RDP攻擊,攻擊者使用MS12-020检查來測試其漏洞。在kali Linux下的metasploit框架中打開命令終端,現在鍵入以下命令來掃描漏洞。
use auxiliary/scanner/rdp/ms12_020_checkmsf auxiliary(ms12_020_check) set rhosts 192.168.0.102msf auxiliary(ms12_020_check) set rport 3389msf auxiliary(ms12_020_check) exploit從下列截圖中可以看出目标是易受攻击的,現在你可以使用谷歌找到它的攻擊漏洞的poc.
bicwcureyzh23713.jpg

一旦攻擊知道目標端口3389易受到MS12-020-攻擊的漏洞,那麼將嘗試使用Ms12-020_maxchannelids進行攻擊。這將對目標系統發起DOS攻擊。
現在鍵入以下命令進行DOS攻擊,這將導致目標系統藍屏。
use auxiliary/dos/windows/rdp/ms12_020_maxchannelidsmsf auxiliary(ms12_020_maxchannelids) set rhost 192.168.0.102msf auxiliary(ms12_020_maxchannelids) set rhost 3389msf auxiliary(ms12_020_maxchannelids) exploit
xghht3cq2pi23714.jpg

從如下圖所示中,可以看到目標是由於某些問題導致系統正在關閉。
DoS攻擊執行者通常攻擊以託管在諸如銀行或信用卡支付網關等高端Web服務器上的站點或服務作為目標,通過暫時或無限期地中斷連接Internet的主機服務,使其目標用戶無法使用機器或網絡資源。
iznbwvck1ti23715.jpg

3.在受害者PC中启用RDP​

如果攻擊者攻擊了未启用RDP服务的受害者系統,則攻擊者自己可以使用由Rapid 7在metasploit內部構建的後滲透模塊來開啟RDP服務。
現在要執行此操作,我們必須需要一個目標系統的反彈shell。從如下圖所示中,您可以看到已經獲取了目標系統的反彈shell.
這裡我們獲得了meterpreter的會話1,並通過bypass的會話2獲得管理權限。
tyt04ynpo1e23716.jpg

現在鍵入以下命令以生成後滲透反彈shell用以啟用RDP服務
use post/windows/manage/enable_rdpmsf post(enable_rdp) sessionsmsf post(enable_rdp) exploit
etrdl1msm3u23717.jpg

此模塊可以將“sticky key”攻擊應用於具有合適權限的會話中。該攻擊提供了一種在RDP登錄屏幕或UAC確認對話框中使用UI級別交互獲取SYSTEM shell的方法。
use post/windows/manage/sticky_keysmsf post(sticky_keys) set sessions 2msf post(sticky_keys) exploit
5fuaxwtkzcc23718.jpg

現在使用以下命令連接遠程桌面:
rdesktop 192.168.0.102
iyjsju1gjgh23719.jpg

它會要求提交登錄憑據,但我們不知道,因此我們需要發起了上面的stick key攻擊,以便我們可以通過按照如下圖所示的連續按5次shift鍵獲取RDP 的命令終端。
ooeyyhx1pj123720.jpg

4.另一种启用RDP的方法​

當您已獲取到受害主機系統的meterpreter會話後,啟用RDP服務的命令以及選擇的設置憑證。
Meterpreter run getgui-e-u raaz-p 1234從如下圖所示中,你可以看到已經添加了用户名raaz密码1234可進入“遠程桌面用戶”和“管理員”的權限。現在您可以使用已創建的用戶進行命令登錄,命令如下:rdesktop 192.168.0.102
jnuexgcxi2223721.jpg

輸入用戶名raaz和密碼1234用於登錄
qkerckvnt3p23722.jpg

現在已成功遠程登錄系統。
aihqf4ytehl23723.jpg


0x02 RDP攻击防御​

1.添加安全策略以防止暴力破解​

管理員可以使用帐户锁定策略保護其網絡免受暴力破解攻擊。在安全设置帐户策略帐户锁定策略下配置以下策略:帐户锁定持续时间:用於定義鎖定帳戶保持時間段的策略,直到自動解鎖或由管理員重置。當用戶超過帳戶鎖定閾值設置的登錄嘗試時,它將鎖定帳戶指定的時間。
帐户锁定阈值:定義失敗登錄嘗試次數的策略,將在帳戶鎖定持續時間指定的某段時間內鎖定帳戶。它將允許最大數量指定嘗試登錄您的帳戶。
被锁账户锁定计数器:用於定義登錄嘗試失敗後必須經過的時間段的策略。重置時間必須小於或等於帳戶鎖定時間。
2vcfdedhh0o23724.jpg

如下实例设置:帐户锁定时间:30分鐘
帐户锁定阈值:2次無效登錄嘗試
被锁帐户锁定计算器:30分鐘後
如果嘗試次數大於帐户锁定阈值,則攻擊者可能會被鎖定賬戶。
0yfbqadykrx23725.jpg

現在再次通過對端口3389進行暴力破解攻擊來测试帐户锁定策略
hydra -v -f -l ignite -P /root/Desktop/dict.txt rdp://192.168.0.102當攻擊者檢索用戶名和密碼時,肯定會使用它們進行登錄,但正如您所看到的那樣,嘗試破解密碼需要超過2次,因此根據設置的策略,帳戶應該被鎖定30分鐘.
5dyb3eycqbu23726.jpg

讓我們通過登錄遠程桌面來驗證它。
打開命令終端並輸入“rdesktop 192.168.0.102”,當獲得目標屏幕時,輸入已爆破檢索的用戶名和密碼。從如下截圖中,您可以看到我們已經輸入上面發現的用戶名和密碼ignite: 123456
fdb2033gz1e23727.jpg

當攻擊者提交您的憑據時,它會顯示當前帳戶已被鎖定且無法登錄的消息,如下圖所示。它鎖定用戶的帳戶ignit 30分鐘,因此管理員知道有人一直試圖非法訪問遠程桌面。通過這種方式,我們可以防禦暴力破解攻擊,防止未經授權的訪問。
225oaxgxcqi23728.jpg

2.端口修改​

您可以在另一個端口上轉發端口3389以提高系統的安全性,但要在窗口操作系統中通過注册表编辑器瀏覽以下位置。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp從如下圖所示中,您可以在右側面板中看到端口号已被选中並單擊它。
lq4jzj3frbx23729.jpg

将端口从3389更改为特定端口号您將獲得一個編輯DWORD的窗口,可以在其中編輯32位值。默認情況下,它將顯示d3d,它是3389的十六进制將3389值替換為您選擇的另一個值(如3314),並選擇十六進製作為基數,將3314轉換為cf2。
12ptysw2i1v23730.jpg

從如下圖所示,您可以看到端口3314現在被打開。
bnvc4k2erp023731.jpg

3.通过系统自带防火墙保护RDP​

打開具有高級設置的防火牆的面板,然後進入其內對配置入站的远程桌面(TCP-In)配置,以通過在防火牆中設置進行一些更改來添加安全過濾器。
x1cphoubktw23732.jpg

允许来自特定IP的流量之後,它將打開一個窗口來更改其屬性,單擊范围选项。在這裡,您將獲得兩個連接類型的面板,本地远程IP地址。
远程IP地址中,特定IP地址選擇第二個選項,並輸入要允許連接遠程桌面服務的IP,如下圖所示:
它將阻止來自其他IP的所有流量,並提高網絡的安全性,以抵禦任何類型的攻擊。
qwipw2sf0hk23733.png
 
返回
上方