企業(yè)安全團(tuán)隊(duì)與黑客和網(wǎng)絡(luò)犯罪分子之間的攻防戰(zhàn)斗是不對等的,雖然藍(lán)隊(duì)與紅隊(duì)使用的工具、框架和技術(shù)趨于透明和重疊,但是思維方式卻依然有很大的差異,。
攻擊者不是研究人員,,他們總是會(huì)尋求阻力最小的路徑來達(dá)成目標(biāo):
以最少的訪問權(quán)限達(dá)成目標(biāo)
盡量掩蓋痕跡
使用最少的漏洞
一旦確定了高回報(bào)的可利用資產(chǎn),,攻擊者便會(huì)利用各種技術(shù)和方法來發(fā)現(xiàn)漏洞。有些技術(shù)和方法可以使攻擊者更快地得手,,而有些則需要更多時(shí)間,。
查找和利用漏洞可能要花費(fèi)幾個(gè)小時(shí)到幾個(gè)月甚至更長的時(shí)間。有些攻擊者使用久經(jīng)考驗(yàn)的方法,,但其中一些最具創(chuàng)造力的黑客找到了通過意外媒介來入侵系統(tǒng)的方法,。企業(yè)安全團(tuán)隊(duì)必須了解攻擊面的哪些部分最容易吸引對手,以便制定有效的防御策略,。
Randori聯(lián)合創(chuàng)始人兼CTO David Wolpoff分享了四個(gè)鮮為人知的黑客搜尋漏洞的攻擊方法,這些攻擊者視角的對漏洞尋找方法有助于防御者完善和優(yōu)化其防御能力,,具體如下:
01 從已知漏洞入手
就像安全團(tuán)隊(duì)面臨警報(bào)疲勞一樣,,攻擊者也面臨著漏洞信息的過載,只有一小部分漏洞信息對他們的行動(dòng)目的很重要,。
攻擊者可以將漏洞與目標(biāo)進(jìn)行交叉檢查作為起點(diǎn),,但是高危漏洞(CVE)并不總是富有成效(這些漏洞是眾所周知的,并且可能會(huì)受到安全團(tuán)隊(duì)的良好監(jiān)視),。
但是,,已知的CVE是發(fā)現(xiàn)隱藏在代碼中的類似錯(cuò)誤的絕佳起點(diǎn)。例如在軟件開發(fā)周期中,,企業(yè)中部署的代碼可能會(huì)被重復(fù)使用和回收,,從而可以讓攻擊者滲透到該環(huán)境中。如果您為當(dāng)前正在開發(fā)的代碼(而不是其他版本)修補(bǔ)了一個(gè)漏洞,,則其他版本的代碼中依然會(huì)存在很多漏洞,。對于攻擊者來說,一個(gè)比較容易的做法是審計(jì)開源代碼來查找漏洞和進(jìn)入企業(yè)網(wǎng)絡(luò)的捷徑,。
02 “此地?zé)o銀”的代碼注釋
源代碼對于攻擊者來說就像是一張藏寶圖,。在一個(gè)軟件開發(fā)周期中,開發(fā)者為彼此留下的代碼問題注釋在攻擊者眼里就是唾手可得的果實(shí),。在開發(fā)軟件時(shí),,開發(fā)人員會(huì)遍歷代碼并標(biāo)記已知的錯(cuò)誤區(qū)域。但是開發(fā)進(jìn)展迅速,,可能無法及時(shí)解決這些問題,。
當(dāng)攻擊者在開發(fā)人員的代碼中找到“FIXME”(需修復(fù))或“RBF”(解決后立即刪除)之類的標(biāo)簽時(shí),內(nèi)心想必是狂喜的,。像這樣的標(biāo)簽將靶心放在來潛在可利用的,、未修補(bǔ)的漏洞上,。我曾經(jīng)在標(biāo)有“FIXME:此處可能發(fā)生緩沖區(qū)溢出的函數(shù)中發(fā)現(xiàn)錯(cuò)誤,未經(jīng)修改請勿使用,?!倍聦?shí)是,很多問題代碼就是“未經(jīng)修改”就進(jìn)入了生產(chǎn)環(huán)境,,攻擊者可以輕松地利用該漏洞,。
03 支持論壇中的求助信號(hào)
有一次,在尋找可以在目標(biāo)周圍進(jìn)行攻擊的入口時(shí),,我的團(tuán)隊(duì)注意到該公司正在測試一種新設(shè)備,。該公司的IT團(tuán)隊(duì)在一個(gè)通用支持論壇中用公司的電子郵件地址發(fā)布了幾個(gè)問題。暴露的資產(chǎn)似乎很容易被入侵,。通過Google快速搜索,,我們確定該設(shè)備是一家知名電話設(shè)備制造商的昂貴產(chǎn)品。我們在支持論壇上進(jìn)行了挖掘,,發(fā)現(xiàn)了在線發(fā)布的固件更新的一部分,,其中包含三個(gè)錯(cuò)誤。
在該案例中,,URL路徑解析功能中存在一個(gè)錯(cuò)誤,,該錯(cuò)誤使我們可以繞過身份驗(yàn)證。另一個(gè)錯(cuò)誤讓我們無需系統(tǒng)管理員即可到達(dá)代碼路徑,,從而使我們能夠上傳和下載文件,。最后一個(gè)是任意文件泄漏錯(cuò)誤,它使我們可以讀取應(yīng)用程序文件系統(tǒng)中的每個(gè)文件,。這些漏洞利用都是公開可用的信息,,其中每個(gè)信息都是通往下一個(gè)漏洞的關(guān)鍵。攻擊者喜歡追蹤您的團(tuán)隊(duì)成員在外網(wǎng)的足跡,,查找可能導(dǎo)致利用漏洞的蛛絲馬跡,。
04 魚叉式模糊測試
模糊測試往往是耗時(shí)費(fèi)力的漏洞查找方式,效果也很難令人滿意,。我們曾經(jīng)接到一個(gè)任務(wù)入侵一家公司,,所以我從一個(gè)相對簡單的地方開始——它的員工登錄頁面。我開始“盲測”,,輸入“a”作為用戶名,,被拒絕訪問。我輸入了兩個(gè)“a”,,再次被拒絕訪問,。然后,我嘗試輸入1000個(gè)“a”,,結(jié)果網(wǎng)站終止了會(huì)話,。一分鐘后,,系統(tǒng)恢復(fù)在線,我立即再次嘗試輸入1000個(gè)“a”,,登錄門戶再次離線,,一個(gè)漏洞就這樣被發(fā)現(xiàn)了。
模糊測試差不多是適用于查找所有網(wǎng)絡(luò)漏洞的簡便方法,,但是對于攻擊者來說,,這是一種很少能單獨(dú)起作用的策略。而且,,如果攻擊者對實(shí)時(shí)系統(tǒng)進(jìn)行模糊測試,,幾乎可以肯定的是,他們會(huì)引起系統(tǒng)管理員的注意,。我更喜歡這種所謂的“魚叉式模糊測試”:用人類研究元素補(bǔ)充該過程,,利用現(xiàn)實(shí)世界的知識(shí)來縮小攻擊面并確定攻擊點(diǎn)可以節(jié)省大量時(shí)間。
防御者一直專注于給攻擊者的入侵增加難度,,但黑客根本不像防御者那樣思考,。黑客受制于個(gè)人的時(shí)間和精力成本,但不受企業(yè)政策或工具的約束,。
對于企業(yè)而言,養(yǎng)成黑客思維,,并找到導(dǎo)致目標(biāo)吸引黑客的原因是進(jìn)攻性防御的第一步,。首先了解被盜資產(chǎn)的潛在影響以及其被入侵的可能性。這能聚焦關(guān)鍵攻擊面的防御注意力,。防御者就可以有針對性地采取加固措施,,并關(guān)注真正重要的漏洞。從黑客的視角觀察,,能使企業(yè)能夠建立超越傳統(tǒng)最佳安全實(shí)踐的韌性,,以建立分層的縱深防御策略,阻止那些最有毅力的黑客,。