本期講解嘉賓
卷首語
帝不曉,令近臣揭幕視之,但見清清海水無窮。帝急問曰:“此是何處?”張士貴起而奏曰:“此乃臣過海之計(jì)。得一風(fēng)勢,三十萬軍乘船過海,至東岸矣。”視之,果在船上。
——《永樂大典·薛仁貴征遼事略》
本文以三十六計(jì)勝戰(zhàn)計(jì)中的第一計(jì)“瞞天過海”為切入點(diǎn),深入剖析了攻擊者在現(xiàn)網(wǎng)環(huán)境和攻防演練中,如何運(yùn)用出奇制勝的偽裝攻擊手段突破Web邊界。
攻擊之勢
“兵無常勢,水無常形,能因敵變化而取勝者,謂之神”。瞞天過海的核心思想即順應(yīng)環(huán)境變化,利用偽裝手段欺騙對(duì)方,從而達(dá)到取勝目的。
在網(wǎng)絡(luò)安全領(lǐng)域,Web應(yīng)用攻擊仍然是主要威脅之一。根據(jù)現(xiàn)網(wǎng)捕獲的數(shù)據(jù)顯示,在Web應(yīng)用攻擊中,90%為可以被快速攔截的無差別掃描。但其他10%的攻擊,如利用0day漏洞或針對(duì)特定系統(tǒng)的攻擊等,就成為了攻防對(duì)抗的高階較量戰(zhàn)場。在Web安全領(lǐng)域,攻防對(duì)抗性尤為顯著。當(dāng)原有的攻擊方式失效后,攻擊者可以快速生成新的繞過方式,最終得以“瞞”過安全設(shè)備或靶機(jī),拿下目標(biāo)。Web應(yīng)用攻擊兩大類偽裝方式為:
-
使用通用的隱藏攻擊內(nèi)容的方式——編碼。
-
針對(duì)要利用漏洞、語言特點(diǎn)等,定制攻擊內(nèi)容。
瞞天之式
01藏形匿影 “隱身衣”
“surl=Li4vcGhwaW5mbw==”這個(gè)看似無公害的字符串其實(shí)是某開源軟件的文件包含漏洞攻擊內(nèi)容,攻擊者通過將../phpinfo進(jìn)行base64編碼之后的內(nèi)容“Li4vcGhwaW5mbw==”作為參數(shù)值傳入,從而繞過檢測,于無形之中竊取phpinfo的信息。
編碼繞過是很多黑客在進(jìn)行RCE(Remote Command/Code Execute,遠(yuǎn)程命令執(zhí)行)、 Webshell、文件包含等Web類攻擊時(shí)常用的手段。簡單來說,編碼繞過就是通過特定的編碼方式,對(duì)明文的攻擊載荷進(jìn)行一系列字符串操作。這就像給攻擊載荷穿上一件“外套”,使其表面看上去沒有任何攻擊特征,從而“瞞”過各類檢測之天,“過”安全設(shè)備之海。
以下是一些常見的編碼繞過攻擊。
傳統(tǒng)算法通常采用基于正則表達(dá)式的方案進(jìn)行編解碼。隨著場景的增加,正則表達(dá)式的數(shù)量也會(huì)增加,從而影響性能。此外,正則表達(dá)式難以準(zhǔn)確識(shí)別無明顯特征的編碼方式,如base系列。華為在Web攻擊檢測方案中提供了一種基于語言模型的解碼引擎,能夠準(zhǔn)確、輕量、實(shí)時(shí)地識(shí)別編碼位置并進(jìn)行解碼。
02量體裁衣“易容術(shù)”
在不同的攻擊場景中,除了對(duì)攻擊載荷進(jìn)行編碼這類通用的繞過手段外,攻擊者還可以根據(jù)場景和語言特點(diǎn),對(duì)攻擊載荷進(jìn)行量身定制的“變裝”繞過。例如,在Webshell和RCE攻擊中,攻擊者可以采取特定的策略來繞過安全防護(hù)。
@$_="shell";@$_="Web".$_;偽裝的$_
“$_”為何?如果了解PHP語言,可以看出“$_”是經(jīng)過變量嵌套和字符串拼接的“Webshell”,“偽裝的$_”也就是“偽裝的Webshell”。攻擊者通過這種偽裝方式,可以在不被發(fā)現(xiàn)的情況下執(zhí)行惡意代碼。
Webshell是一種常見的惡意腳本,它可以用PHP、JSP、ASP、ASPX等語言編寫。攻擊者利用漏洞將腳本上傳到服務(wù)器上,從而獲得對(duì)服務(wù)器的執(zhí)行操作權(quán)限。根據(jù)微軟365的數(shù)據(jù)顯示,從2020年8月到2021年11月,平均每臺(tái)服務(wù)器遭受了140,000次Webshell攻擊,這是一種高頻高危的攻擊方式。在2022年的攻防演練中,華為HiSec Insight安全態(tài)勢感知系統(tǒng)也捕獲到了多起冰蝎Webshell3.x、4.x連接和哥斯拉木馬上傳攻擊。為了能夠穿透WAF等安全設(shè)備的防護(hù),Webshell經(jīng)常利用編碼、腳本語言特性和加密等手段進(jìn)行偽裝,以“瞞”過安全設(shè)備的檢測,達(dá)到攻擊目的。
-
明文變裝的Webshell文件
根據(jù)W3techs在2023年的統(tǒng)計(jì)結(jié)果,77.4%的Web服務(wù)端使用PHP語言編碼。因此,PHP語言的Webshell腳本占比也相對(duì)較高。由于PHP是一種動(dòng)態(tài)弱類型語言,在參數(shù)傳遞、類型轉(zhuǎn)換和函數(shù)調(diào)用方式方面非常靈活,攻擊者可以利用這些特性對(duì)Webshell進(jìn)行千變?nèi)f化的變裝繞過。
下面是一些PHP Webshell的變裝手段示例。
?
華為在Web攻擊檢測方案中提供了Webshell語義感知模型檢測能力。該模型基于語義分析和智能算法,能夠還原黑客的各種攻擊手法,使繞過攻擊無所遁形。
-
加密隱藏的Webshell交互
在攻防演練中,具有明顯特征的第一代管理工具“菜刀”已經(jīng)越來越少被使用。相反,加密Webshell管理工具,如冰蝎和哥斯拉,正變得越來越流行。由于這些工具使用了流量加密技術(shù),傳統(tǒng)的WAF等安全設(shè)備難以對(duì)其進(jìn)行檢測,這給Web安全檢測帶來了巨大的挑戰(zhàn)。
攻擊者使用Webshell管理工具冰蝎上傳Webshell文件并成功連接后,可以使用它進(jìn)行信息獲取、命令執(zhí)行和內(nèi)網(wǎng)穿透等攻擊。值得注意的是,冰蝎的通信內(nèi)容都經(jīng)過了加密處理,這給安全防護(hù)帶來了一定的挑戰(zhàn)。針對(duì)加密Webshell,Web攻擊檢測方案也提供了智能檢測算法模型。該模型基于對(duì)大量樣本的分析,提取了幾十種特征,進(jìn)行強(qiáng)特征組合,并利用機(jī)器學(xué)習(xí)算法模型推理,能夠準(zhǔn)確識(shí)別加密Webshell流量。
who"a"m$@i ==whoami ?
“who"a"m$@i”等于“whoami”嗎?在linux的shell中,等式是成立的!“whoami”是RCE攻擊的常用命令,在“who"a"m$@i”字符串中混合了多種手段繞過檢測:
-
在linux的shell中“”反斜杠視為空字符;
-
偶數(shù)個(gè)雙引號(hào)一般用于處理變量中有特殊符號(hào)的場景,但在這里用于繞過混淆;
-
未初始化的“$@”在此為空字符。因此,“who"a"m$@i”其實(shí)就是“whoami”。
RCE攻擊通常是由于應(yīng)用程序?qū)τ脩籼峤坏臄?shù)據(jù)過濾不嚴(yán)格而導(dǎo)致的。黑客可以通過構(gòu)造特殊命令字符串,將數(shù)據(jù)提交至應(yīng)用程序中,并利用該方式執(zhí)行外部程序或系統(tǒng)命令實(shí)施攻擊。這可能會(huì)導(dǎo)致緩沖區(qū)溢出、非法指令執(zhí)行,甚至通過遠(yuǎn)程命令執(zhí)行提升攻擊者的權(quán)限,控制服務(wù)器。攻擊者可以進(jìn)一步非法獲取數(shù)據(jù)或網(wǎng)絡(luò)資源,實(shí)施挖礦、勒索、信息泄露等惡意行為,給企業(yè)造成嚴(yán)重?fù)p失。
在2022年的攻防演練中,各局點(diǎn)檢測到了大量命令注入的漏掃探測。在這種試探中,一旦攻擊者發(fā)現(xiàn)有機(jī)可乘,接下來就會(huì)發(fā)起猛烈的攻擊。為了不被檢測到,攻擊者會(huì)費(fèi)盡心機(jī)利用通配符繞過、空格繞過、變量拼接、進(jìn)程替換和多命令/路徑/參數(shù)串聯(lián)等多種手段對(duì)攻擊載荷進(jìn)行改變。這樣,他們就可以“瞞”過各種檢測設(shè)備,順利到達(dá)目標(biāo)主機(jī)。
以下是一些RCE的繞過手段示例。
Web攻擊檢測方案中內(nèi)置了基于智能編碼識(shí)別和解碼引擎和語義還原引擎的RCE人工智能檢測算法。該算法能夠還原各種繞過攻擊載荷,揭示攻擊的真實(shí)面目。
防御之視
針對(duì)攻擊者使用復(fù)雜編碼隱藏攻擊內(nèi)容,以及根據(jù)攻擊場景和語言特點(diǎn)進(jìn)行攻擊內(nèi)容“定制”的不同瞞天之式,防守方也有相應(yīng)的手段來應(yīng)對(duì)。
01先發(fā)制人,讓漏洞風(fēng)險(xiǎn)可視。
在系統(tǒng)中部署漏洞掃描產(chǎn)品,定期檢查是否存在漏洞。這樣,在攻擊者進(jìn)行漏洞利用前,就能提前感知漏洞風(fēng)險(xiǎn),對(duì)主機(jī)進(jìn)行安全加固,并及時(shí)更新補(bǔ)丁。
02固本培元,令繞過攻擊過程可視。
安裝流量監(jiān)測分析設(shè)備,實(shí)現(xiàn)快速準(zhǔn)確的高級(jí)威脅檢測。
?
針對(duì)利用Web攻擊的邊界突破,華為HiSec Insight安全態(tài)勢感知系統(tǒng)中提供了多層級(jí)智能檢測方案,包括Web正常業(yè)務(wù)基線、智能編碼識(shí)別與解碼引擎、語義分析引擎和人工智能檢測引擎:
Web正常業(yè)務(wù)基線:
利用IP段、請(qǐng)求Header、URL路徑、URL參數(shù)等多維度畫像,對(duì)Web正常業(yè)務(wù)進(jìn)行自學(xué)習(xí),形成基線,減少正常業(yè)務(wù)導(dǎo)致的事件誤報(bào)。
智能編碼識(shí)別與解碼:基于語言模型的編碼位置定位與解碼算法,覆蓋常見編碼的部分/混合/疊加編碼場景。
語義分析引擎:自研輕量級(jí)詞法分析和語義理解模型,高性能還原語義,對(duì)智能檢測提供有效輸入,并輔助展示攻擊行為真面目,提升取證能力。
人工智能檢測引擎:基于語義還原結(jié)果,進(jìn)行算法模型特征提取,使用有監(jiān)督/無監(jiān)督模型推理,覆蓋Webshell、RCE、XSS、SQL注入、文件包含等多種攻擊場景。
利用上述多層級(jí)智能檢測方案,可以準(zhǔn)確識(shí)別攻擊者的偽裝,褫其華袞,示人本相,“瞞”無所 “瞞”。
-
華為
+關(guān)注
關(guān)注
216文章
34417瀏覽量
251524
原文標(biāo)題:華為安全大咖談 | 論道攻防第2期:邊界突破之瞞天過海
文章出處:【微信號(hào):Huawei_Fixed,微信公眾號(hào):華為數(shù)據(jù)通信】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論