六月初,安全公司Huntress的研究人員從一次真實(shí)的入侵事件里,復(fù)原了一份不同尋常的PowerShell腳本。它的文件名平淡無(wú)奇,叫Untitled1.ps1,但它做的事情一點(diǎn)都不平淡——在幾分鐘之內(nèi),像開卷考試一樣,把企業(yè)活動(dòng)目錄里的用戶、計(jì)算機(jī)、組、子網(wǎng)、信任關(guān)系全都翻了個(gè)遍,整整齊齊地導(dǎo)出成報(bào)告。
有意思的地方在于,這不是那種在黑客論壇上流傳多年的現(xiàn)成工具,而是攻擊者對(duì)著人工智能聊天機(jī)器人,用自然語(yǔ)言逐句磨出來(lái)的自定義代碼。安全圈給這種寫法起了個(gè)名,叫“氛圍編程”。編程的人不親自敲代碼,而是反復(fù)告訴AI自己想要什么功能,讓機(jī)器一直改,直到跑通為止。
![]()
這種做法正在把網(wǎng)絡(luò)犯罪的技術(shù)門檻踩得很低。以前要寫一個(gè)能繞過(guò)殺毒軟件的偵查腳本,多少得懂點(diǎn)PowerShell語(yǔ)法。現(xiàn)在,一個(gè)水平中等的攻擊者,也能在短時(shí)間內(nèi)拿到完全定制的一次性工具,而傳統(tǒng)的靜態(tài)簽名檢測(cè)幾乎認(rèn)不出這種從未見過(guò)的代碼長(zhǎng)什么樣。
三十分鐘內(nèi)的輕量級(jí)偵查行動(dòng)
這次入侵的起點(diǎn)并不花哨。攻擊者用事先到手的有效賬號(hào),通過(guò)遠(yuǎn)程桌面連上了一臺(tái)加入了公司域的Windows服務(wù)器。登陸之后,操作節(jié)奏很快:先在C:\ProgramData下面擺好工具攤子,接著就扔出了那份Untitled1.ps1腳本,開始系統(tǒng)地梳理整個(gè)域環(huán)境。
大約半個(gè)小時(shí)后,攻擊者又陸續(xù)祭出兩個(gè)動(dòng)作。先是運(yùn)行了s5cmd.exe,這是亞馬遜S3存儲(chǔ)服務(wù)官方提供的合法命令行工具,實(shí)際上經(jīng)常被人挪用來(lái)往外偷數(shù)據(jù)。緊接著又調(diào)起SharpShares.exe,專門掃描網(wǎng)絡(luò)里所有可訪問(wèn)的文件共享,同時(shí)自動(dòng)過(guò)濾掉那些管理用的默認(rèn)共享。
整套行動(dòng)流程緊湊、目標(biāo)明確,沒(méi)有看到任何多余的花招。從登陸到完成環(huán)境掃描和數(shù)據(jù)打包,整個(gè)過(guò)程更像是把幾個(gè)已有的功能模塊快速串了起來(lái),而不是小心翼翼地手動(dòng)滲透。
AI留下的三個(gè)明顯指紋
Huntress的研究人員之所以能確定這是AI生成的代碼,靠的不是猜測(cè),而是腳本文件里留下來(lái)的三處硬證據(jù)。這些痕跡就像是AI代寫時(shí)不經(jīng)意留下的筆記,對(duì)于經(jīng)驗(yàn)豐富的分析師來(lái)說(shuō),幾乎等于自報(bào)家門。
第一個(gè)線索是腳本自己的命名風(fēng)格。它的內(nèi)部標(biāo)題寫的是:“100%可用的AD信息收集腳本——完全修復(fù)版”。這個(gè)語(yǔ)氣像極了有人在跟聊天機(jī)器人來(lái)回調(diào)試了一下午,終于在某個(gè)版本跑通之后,給出的那個(gè)長(zhǎng)舒一口氣的評(píng)價(jià)。一個(gè)正常寫代碼的人,不太會(huì)這樣給自己的工具起名。
第二個(gè)線索更加直白。腳本內(nèi)部預(yù)留了一處回退邏輯,當(dāng)其他方法都找不到域控制器的時(shí)候,會(huì)使用一個(gè)預(yù)設(shè)的備用地址。這個(gè)硬編碼進(jìn)去的地址是“Server1.HR.local”,一看就是典型的測(cè)試環(huán)境占位符,攻擊者顯然沒(méi)有做任何修改就直接復(fù)制粘貼用了上去。
第三個(gè)特征藏在代碼的行為細(xì)節(jié)里。這份腳本為了定位域控制器,一口氣疊了五層回退機(jī)制:先查DNS,不行就調(diào)nltest,再不行上活動(dòng)目錄模塊,接著查環(huán)境變量,最后才是那個(gè)硬編碼的備用地址。安全專家指出,這屬于典型的大語(yǔ)言模型生成代碼的特征——冗余的發(fā)現(xiàn)方法和過(guò)度使用彩色控制臺(tái)輸出,而人類作者通常會(huì)選一兩種最高效的手段而不是五連發(fā)。
還有一個(gè)額外的小尾巴:腳本在跑完之后,不但把天量信息分類導(dǎo)出了多個(gè)CSV文件,還自動(dòng)生成了一份排版精美的HTML報(bào)告,最后再把整個(gè)輸出文件夾打成壓縮包。這種善后工作做得過(guò)于周到的傾向,也是AI寫代碼時(shí)常見的行為模式。
檢測(cè)思路從看文件轉(zhuǎn)向看行為
正是因?yàn)槊恳淮巍胺諊幊獭碑a(chǎn)出的腳本在語(yǔ)法和代碼結(jié)構(gòu)上幾乎不可能重復(fù),那些依賴已知惡意文件指紋來(lái)抓壞蛋的殺毒軟件和端點(diǎn)檢測(cè)工具,碰到這種完全定制的腳本基本上都認(rèn)不出來(lái)。攻擊者如果反復(fù)讓AI換著花樣重寫同一段功能的代碼,靜態(tài)匹配這條路就更難走了。
但這并不代表檢測(cè)就完全沒(méi)有辦法。Huntress這次能夠成功復(fù)原出攻擊的完整過(guò)程,靠的并不是在文件層面抓到惡意軟件,而是通過(guò)Windows操作系統(tǒng)的事件日志。具體來(lái)說(shuō),是PowerShell操作日志里編號(hào)為4104的事件,它會(huì)把實(shí)際執(zhí)行的腳本塊內(nèi)容記錄下來(lái)。研究人員正是從這些遙測(cè)數(shù)據(jù)里重建了Untitled1.ps1的全部代碼。
更深一層的邏輯在于,無(wú)論AI怎么幫攻擊者換皮改寫法,活動(dòng)目錄偵查這個(gè)動(dòng)作本身所依賴的那些底層系統(tǒng)調(diào)用和操作步驟,是沒(méi)法隱藏的。查詢域控制器、導(dǎo)出用戶列表、遍歷組關(guān)系,這些行為在操作系統(tǒng)層面留下的痕跡是固定的。因此,建立在行為遙測(cè)基礎(chǔ)上的安全信息與事件管理平臺(tái),依然可以通過(guò)識(shí)別這些無(wú)法偽裝的操作模式來(lái)發(fā)現(xiàn)攻擊,而不是去比對(duì)文件本身長(zhǎng)什么樣子。
這次事件折射出的趨勢(shì)其實(shí)并不復(fù)雜。人工智能并沒(méi)有發(fā)明出什么全新的攻擊套路,它真正在做的只有一件事:讓那些已知的攻擊手法執(zhí)行起來(lái)更快、門檻更低、變種更多。當(dāng)每個(gè)人都能隨時(shí)造出一把長(zhǎng)得完全不同的撬鎖工具時(shí),看鎖的質(zhì)地和動(dòng)靜,就比記住每一種工具的外形要重要得多。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.