漏洞描述
RCE(remote command/code execute,遠(yuǎn)程命令執(zhí)行)漏洞 遠(yuǎn)程代碼執(zhí)行 (RCE) 攻擊是指攻擊者可以在一個(gè)組織的計(jì)算機(jī)或網(wǎng)絡(luò)上運(yùn)行惡意代碼。執(zhí)行攻擊者控制的代碼的能力可用于各種目的,包括部署額外的惡意軟件或竊取敏感數(shù)據(jù)。
漏洞原理
遠(yuǎn)程代碼執(zhí)行攻擊通常通過網(wǎng)絡(luò)應(yīng)用程序和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的漏洞發(fā)生。 遠(yuǎn)程代碼執(zhí)行漏洞是軟件中的缺陷,允許攻擊者在目標(biāo)系統(tǒng)上運(yùn)行惡意代碼。RCE 可以利用幾種類型的漏洞,包括以下例子:
-
注入漏洞:注入漏洞 — 如 SQL 注入或命令注入 — 是通過不良的輸入消毒來實(shí)現(xiàn)的。如果用戶提供一個(gè)精心設(shè)計(jì)的惡意輸入,則其提供的一些數(shù)據(jù)將被解釋為要運(yùn)行的命令。這使得攻擊者可以強(qiáng)迫有漏洞的系統(tǒng)執(zhí)行攻擊者提供的代碼。
-
不安全的反序列化:序列化通過將數(shù)據(jù)集打包成單一的由接收方系統(tǒng)解包的位串,簡(jiǎn)化了數(shù)據(jù)集的傳輸。然而,如果序列化數(shù)據(jù)的結(jié)構(gòu)沒有得到很好的定義,攻擊者可能可以制定一個(gè)解包時(shí)會(huì)被誤解的輸入。根據(jù)數(shù)據(jù)的存儲(chǔ)和處理方式,這種誤讀可能會(huì)使攻擊者能夠?qū)崿F(xiàn)代碼執(zhí)行。
-
越界寫入:緩沖區(qū)是一塊被分配用來存儲(chǔ)數(shù)據(jù)的固定大小的內(nèi)存。不安全的數(shù)據(jù)讀取或?qū)懭肟赡茉试S攻擊者將數(shù)據(jù)放在會(huì)被解釋為代碼或應(yīng)用程序的重要控制流信息的地方。
-
文件管理:有些應(yīng)用程序允許用戶向服務(wù)器上傳文件。這種訪問可能允許攻擊者上傳一個(gè)包含惡意代碼的文件,并欺騙應(yīng)用程序執(zhí)行該代碼。
惡意軟件是攻擊者提供的被設(shè)計(jì)為在目標(biāo)系統(tǒng)上執(zhí)行的代碼。RCE 漏洞會(huì)允許攻擊者以不同方式部署惡意軟件。 因此,RCE 漏洞可以用來實(shí)現(xiàn)許多與傳統(tǒng)惡意軟件相同的目標(biāo)。RCE 可用于在有漏洞的系統(tǒng)上部署惡意軟件、進(jìn)行拒絕服務(wù) (DoS) 攻擊,或訪問存儲(chǔ)在系統(tǒng)中的敏感信息。
漏洞場(chǎng)景
RCE 漏洞可能出現(xiàn)在各種類型的應(yīng)用程序中,包括 Web 應(yīng)用程序、網(wǎng)絡(luò)服務(wù)、操作系統(tǒng)等。常見的場(chǎng)景包括使用遠(yuǎn)程代碼執(zhí)行漏洞的網(wǎng)絡(luò)攻擊、惡意軟件的傳播、未經(jīng)授權(quán)的訪問等
風(fēng)險(xiǎn)等級(jí)
RCE 漏洞通常被視為極高風(fēng)險(xiǎn)的漏洞,因?yàn)楣粽呖梢岳盟h(yuǎn)程執(zhí)行任意代碼,并可能導(dǎo)致目標(biāo)系統(tǒng)的完全控制。
漏洞危害
RCE 漏洞的危害非常嚴(yán)重,攻擊者可以利用它執(zhí)行惡意代碼,包括但不限于竊取敏感信息、篡改數(shù)據(jù)、拒絕服務(wù)等,甚至完全控制受影響系統(tǒng)。 如攻擊者可以通過RCE繼承web用戶的權(quán)限,執(zhí)行php代碼,如果web的權(quán)限比較高的話,就可以讀寫目標(biāo)服務(wù)器任意文件的內(nèi)容,甚至控制整個(gè)網(wǎng)站。
php中與代碼執(zhí)行漏洞相關(guān)的危險(xiǎn)函數(shù):
? eval() ? 將字符串當(dāng)作php代碼執(zhí)行 ? assert() ? 將字符串當(dāng)作php代碼執(zhí)行 ? preg_replace() ? 將字符串正則匹配后替換 ? call_user_func() ? 回調(diào)函數(shù) ? array_map() ? 回調(diào)函數(shù)
漏洞驗(yàn)證
驗(yàn)證 RCE 漏洞通常涉及嘗試向目標(biāo)系統(tǒng)發(fā)送包含惡意代碼的請(qǐng)求,并觀察是否成功執(zhí)行了該代碼
漏洞利用
RCE 漏洞可以用于通過以下方式進(jìn)一步進(jìn)行普通攻擊:
-
遠(yuǎn)程訪問:攻擊者經(jīng)常利用 RCE 漏洞在企業(yè)網(wǎng)絡(luò)上獲得一個(gè)最初的立足點(diǎn),然后再擴(kuò)展。例如,一個(gè) RCE 漏洞可以讓攻擊者竊取登錄憑證,從而允許他們通過 VPN 進(jìn)行網(wǎng)絡(luò)訪問。
-
惡意軟件部署:雖然 RCE 漏洞運(yùn)行代碼執(zhí)行,但這種代碼的范圍可能是有限的。為了避開這一限制,攻擊者可能利用 RCE 下載并執(zhí)行其他更具破壞性的惡意軟件。例如,RCE 可以用來在一個(gè)有漏洞的系統(tǒng)上下載和執(zhí)行勒索軟件。
-
數(shù)據(jù)盜竊:RCE 漏洞可能允許攻擊者在有漏洞的應(yīng)用程序中運(yùn)行命令。這使攻擊者能夠訪問文件系統(tǒng)、數(shù)據(jù)庫和存儲(chǔ)的其他敏感的公司和客戶數(shù)據(jù)。
-
數(shù)據(jù)破壞:RCE 漏洞可能允許攻擊者在數(shù)據(jù)庫中運(yùn)行 DROP 命令,或在系統(tǒng)終端中執(zhí)行代碼。這種訪問提供了與合法用戶相同的刪除文件的能力
-
DoS 攻擊:越界寫入漏洞允許攻擊者覆蓋關(guān)鍵代碼,使應(yīng)用程序崩潰。其他 RCE 漏洞可能允許終止進(jìn)程或刪除重要數(shù)據(jù)。
漏洞防御
防御 RCE 漏洞的方法包括:
-
輸入驗(yàn)證和過濾
-
沙箱環(huán)境隔離
-
最小權(quán)限原則
-
及時(shí)更新和漏洞修復(fù)
-
安全編碼實(shí)踐
遠(yuǎn)程代碼執(zhí)行攻擊是因?yàn)槠髽I(yè)網(wǎng)絡(luò)應(yīng)用程序中有漏洞。公司可以通過以下方法來減少發(fā)生 RCE 攻擊的幾率:
-
漏洞掃描:靜態(tài)代碼分析(以識(shí)別眾所周知的漏洞模式)和動(dòng)態(tài)分析(如模糊分析)的結(jié)合,可以幫助開發(fā)人員在 RCE 漏洞被利用之前識(shí)別和糾正這些漏洞。
-
更新和打補(bǔ)丁:可能在一個(gè)應(yīng)用程序或其依賴的第三方庫中發(fā)現(xiàn) RCE 漏洞。及時(shí)應(yīng)用更新和補(bǔ)丁可以縮短有漏洞的代碼被利用的窗口時(shí)間。
-
輸入驗(yàn)證:多數(shù) RCE 漏洞涉及不良的輸入驗(yàn)證,即應(yīng)用程序?qū)τ脩籼峁┑臄?shù)據(jù)做出假設(shè)。強(qiáng)有力的輸入驗(yàn)證可以消除大多數(shù) RCE 漏洞的威脅。
-
網(wǎng)絡(luò)監(jiān)控:嘗試性的 RCE 攻擊可以被網(wǎng)絡(luò)應(yīng)用程序和 API 保護(hù) (WAAP) 解決方案檢測(cè)并阻止。在網(wǎng)絡(luò)應(yīng)用程序前部署網(wǎng)絡(luò)安全解決方案可以減少未修補(bǔ)漏洞的潛在風(fēng)險(xiǎn)。
典型案例
典型的 RCE 漏洞案例包括:
Apache Struts2 遠(yuǎn)程執(zhí)行代碼漏洞(CVE-2017-5638)
于2017年3月被公開披露。該漏洞允許攻擊者通過構(gòu)造惡意的 HTTP 請(qǐng)求,利用 Struts2 框架對(duì)表達(dá)式語言(OGNL,Object-Graph Navigation Language)的解析不當(dāng),遠(yuǎn)程執(zhí)行任意代碼
EternalBlue SMB 漏洞(CVE-2017-0144)
于2017年3月由美國(guó)國(guó)家安全局(NSA)的 Equation Group 組織被泄露。該漏洞存在于 Windows 的 Server Message Block (SMB)協(xié)議的實(shí)現(xiàn)中,攻擊者可以利用該漏洞在網(wǎng)絡(luò)上遠(yuǎn)程執(zhí)行任意代碼 EternalBlue 漏洞曾被廣泛利用于大規(guī)模網(wǎng)絡(luò)攻擊,最著名的案例包括 WannaCry 勒索軟件攻擊和 NotPetya 攻擊。這兩次攻擊導(dǎo)致了全球范圍內(nèi)數(shù)百萬臺(tái)計(jì)算機(jī)被感染,造成了巨大的經(jīng)濟(jì)損失和社會(huì)影響。
Heartbleed 漏洞(CVE-2014-0160)
于2014年4月被公開披露。這個(gè)漏洞的存在使得攻擊者可以利用 OpenSSL 實(shí)現(xiàn)的 TLS/SSL 協(xié)議中的心跳擴(kuò)展(heartbeat extension)功能,從服務(wù)器內(nèi)存中讀取敏感信息,包括私鑰、會(huì)話密鑰和其他用戶數(shù)據(jù). 漏洞的原理是由于 OpenSSL 實(shí)現(xiàn)的心跳擴(kuò)展功能中存在緩沖區(qū)溢出漏洞,攻擊者可以發(fā)送惡意的心跳請(qǐng)求(heartbeat request),并在請(qǐng)求中偽造心跳數(shù)據(jù)的長(zhǎng)度字段,導(dǎo)致服務(wù)器未經(jīng)授權(quán)地泄露內(nèi)存中的敏感信息 Heartbleed 漏洞的影響非常廣泛,因?yàn)?OpenSSL 是用于加密互聯(lián)網(wǎng)通信的一種廣泛使用的開源加密庫。受影響的系統(tǒng)包括 Web 服務(wù)器(如 Apache 和 Nginx)、電子郵件服務(wù)器、虛擬私有網(wǎng)絡(luò)(VPN)設(shè)備等。此外,許多大型互聯(lián)網(wǎng)服務(wù)提供商和網(wǎng)站也受到了這個(gè)漏洞的影響
Drupal 遠(yuǎn)程執(zhí)行代碼漏洞(CVE-2018-7600)
Drupal 遠(yuǎn)程執(zhí)行代碼漏洞(CVE-2018-7600)是 Drupal 內(nèi)核中的一個(gè)嚴(yán)重漏洞,于2018年3月被公開披露。該漏洞影響了 Drupal 7.x 和 8.x 版本,允許未經(jīng)身份驗(yàn)證的攻擊者利用漏洞在受影響的 Drupal 網(wǎng)站上執(zhí)行任意代碼,并獲取網(wǎng)站管理員權(quán)限。
Shellshock 漏洞(CVE-2014-6271、CVE-2014-7169)
于2014年9月被公開披露。該漏洞允許攻擊者利用特定的環(huán)境變量注入方式,遠(yuǎn)程執(zhí)行任意代碼,從而獲取系統(tǒng)的完全控制。 Shellshock 漏洞的原理是由于 Bash shell 在解析環(huán)境變量時(shí)存在緩沖區(qū)溢出漏洞,攻擊者可以利用惡意構(gòu)造的環(huán)境變量,在受影響的系統(tǒng)上執(zhí)行任意代碼。具體來說,攻擊者可以通過在環(huán)境變量中注入惡意的 shell 命令,并通過傳遞這些變量給 Bash shell 的方式觸發(fā)漏洞。 由于 Bash 是許多 Unix 和 Linux 系統(tǒng)的默認(rèn) shell,因此 Shellshock 漏洞影響了大量的服務(wù)器、工作站和網(wǎng)絡(luò)設(shè)備。
Joomla 遠(yuǎn)程執(zhí)行代碼漏洞(CVE-2015-8562)
于2015年12月被公開披露。該漏洞影響了 Joomla 1.5.x、2.x 和 3.x 版本,允許未經(jīng)授權(quán)的攻擊者利用漏洞在受影響的 Joomla 網(wǎng)站上執(zhí)行任意代碼,并獲取網(wǎng)站管理員權(quán)限。 由于 Joomla 是一個(gè)廣泛使用的內(nèi)容管理系統(tǒng)(CMS),受影響的 Joomla 網(wǎng)站數(shù)量龐大
WordPress 遠(yuǎn)程執(zhí)行代碼漏洞(CVE-2019-8942)
于2019年2月被公開披露。該漏洞影響了 WordPress 4.9.9 版本及之前的所有版本,允許未經(jīng)授權(quán)的攻擊者利用漏洞在受影響的 WordPress 網(wǎng)站上執(zhí)行任意代碼,并獲取網(wǎng)站管理員權(quán)限 于2019年2月被公開披露。該漏洞影響了 WordPress 4.9.9 版本及之前的所有版本,允許未經(jīng)授權(quán)的攻擊者利用漏洞在受影響的 WordPress 網(wǎng)站上執(zhí)行任意代碼,并獲取網(wǎng)站管理員權(quán)限文章來源:http://www.zghlxwxcb.cn/news/detail-846031.html
PHPMailer 遠(yuǎn)程執(zhí)行代碼漏洞(CVE-2016-10033)
于2016年12月被公開披露。PHPMailer 是一個(gè)常用的 PHP 庫,用于發(fā)送電子郵件,受影響的版本包括 PHPMailer 5.2.18 之前的版本。 受影響的 PHPMailer 版本中的漏洞是由于對(duì)郵件地址和主題字段的不充分驗(yàn)證,導(dǎo)致了代碼注入漏洞的存在。攻擊者可以利用此漏洞在郵件發(fā)送過程中執(zhí)行任意 PHP 代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-846031.html
到了這里,關(guān)于RCE(遠(yuǎn)程命令執(zhí)行)漏洞詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!