0
累計(jì)賭資42億余元
非法獲利7億多!
扣押服務(wù)器55臺(tái)
抓獲犯罪嫌疑人23名
凍結(jié)涉案資金1.1億余元!
一般來(lái)說(shuō),一則黑產(chǎn)落網(wǎng)新聞吃瓜群眾看到的只是媒體們大寫(xiě)加粗的震撼數(shù)字,殊不知,比起警察蜀黍坐了飛機(jī)、火車(chē)、汽車(chē)甚至馬車(chē)從大洋彼岸或者偏遠(yuǎn)深山逮到搞黑產(chǎn)的馬仔這件事,他們更感興趣的是如何從賽博世界順著網(wǎng)線逮到這些人。
就好像宮斗劇有意思的不是誰(shuí)都能猜到的大結(jié)局,而是撲朔迷離的過(guò)程。追捕疑犯也是如此,擺在那里的數(shù)字吸引力遠(yuǎn)比不上中間的過(guò)程,越刺激越好。
但是,真相往往不盡如人意,你所期待的大片既視感可能不存在,存在的只有一臺(tái)電腦和一位白帽子。
白帽子 SkyMine 接到通知的時(shí)候正在打瞌睡,哦不,工作。掛了電話,SkyMine二話不說(shuō)趕了過(guò)去。
有事,大事
某根正苗紅的網(wǎng)頁(yè)被篡改了,篡改內(nèi)容還十分不和諧(請(qǐng)自行想象,根正苗紅的宅宅不多做提示)。
到了現(xiàn)場(chǎng) SkyMine 檢查后發(fā)現(xiàn)出事的服務(wù)器是臺(tái)虛擬機(jī),操作系統(tǒng)是 Windows 2008 R2,網(wǎng)站使用了 phpstudy 集成環(huán)境進(jìn)行部署。但是,Windows 事件日志服務(wù)并沒(méi)有啟用,更可能的是黑客大哥進(jìn)來(lái)后順手關(guān)閉了。
系統(tǒng)日志是個(gè)啥呢?他記錄了系統(tǒng)中硬件、軟件和系統(tǒng)問(wèn)題的信息,同時(shí)還可以監(jiān)視系統(tǒng)中發(fā)生的事件。用戶可以通過(guò)它來(lái)檢查錯(cuò)誤發(fā)生的原因,或者尋找受到攻擊時(shí)攻擊者留下的痕跡。
SkyMine 轉(zhuǎn)念一想,這臺(tái)服務(wù)器既然承載著 Web 服務(wù),而且硬件防火墻只對(duì)外映射80端口,是不是有可能是以Web攻擊作為入口的?可以一看。
但是,Nginx 的網(wǎng)站訪問(wèn)日志也已經(jīng)遭到清除……雙擊666
不過(guò)幸運(yùn)的是,網(wǎng)站訪問(wèn)日志配置了流式異地備份,SkyMine 也就能在另一臺(tái)日志服務(wù)器上找到了完整且未失真的網(wǎng)站訪問(wèn)日志副本。
不過(guò),任憑SkyMine反反復(fù)復(fù)把事發(fā)時(shí)間前后的網(wǎng)站訪問(wèn)日志分析了個(gè)遍,都沒(méi)有發(fā)現(xiàn)任何web攻擊的痕跡。
這就很奇怪了,這說(shuō)明黑客并沒(méi)有直接用網(wǎng)頁(yè)木馬發(fā)送篡改頁(yè)面的指令。難道是通過(guò)NC之類(lèi)的反向連接工具建立通道來(lái)進(jìn)行控制的?
為了求證(打臉),SkyMine 通過(guò)調(diào)查開(kāi)始時(shí)生成的虛擬機(jī)快照提取了內(nèi)存鏡像,為了有多個(gè)內(nèi)存樣本進(jìn)行交叉分析,他又掏出“家伙”( 一款名為dumpit 的工具)提取了內(nèi)核級(jí)的內(nèi)存完整鏡像,其中包括物理內(nèi)存和頁(yè)面交換文件。
提取了這些內(nèi)存之后,SkyMine開(kāi)始琢磨起來(lái),如果黑客確實(shí)是通過(guò)反向連接通道來(lái)實(shí)施控制的,那肯定曾經(jīng)建立過(guò)一個(gè)異常的網(wǎng)絡(luò)連接,內(nèi)存中很可能會(huì)保留著這個(gè)信息。
所以SkyMine通過(guò)內(nèi)存分析框架對(duì)內(nèi)存樣本進(jìn)行了網(wǎng)絡(luò)連接分析,但在事發(fā)時(shí)間并沒(méi)有可疑的網(wǎng)絡(luò)連接。
得了,線索到這里又?jǐn)嗔恕?/p>
不過(guò)也不算一點(diǎn)收獲都沒(méi)有,SkyMine在提取了內(nèi)存的歷史進(jìn)行信息時(shí)發(fā)現(xiàn),有一個(gè)很可疑的程序在事發(fā)時(shí)間正在運(yùn)行,這個(gè)程序名為update.exe,看起來(lái)相當(dāng)正經(jīng)。
但SkyMine留意到,這個(gè)進(jìn)程足足運(yùn)行了3天之久,誰(shuí)家正常更新程序能更新三天?
從內(nèi)存中提取出該進(jìn)程的物理路徑后,SkyMine找到了這個(gè)奇怪的程序,是位于C盤(pán)的一個(gè)很深的目錄里的,而且在同目錄下,SkyMine還發(fā)現(xiàn)了一個(gè)命名為 image.jpg 的篡改圖片。SkyMine對(duì)這個(gè)程序進(jìn)行逆向分析后發(fā)現(xiàn)是個(gè)易語(yǔ)言程序(就是以中文作為程序代碼)。
再次對(duì)這個(gè)程序逆向分析后 SkyMine 發(fā)現(xiàn),黑客這次利用了一個(gè)相對(duì)較少見(jiàn)的攻擊方式——邏輯炸彈,程序代碼中有一個(gè)條件判斷,當(dāng)前時(shí)間大于既定時(shí)間就會(huì)自動(dòng)用該程序目錄下的 image.jpg 替換掉網(wǎng)站根目錄的 image.jpg,達(dá)到篡改的目的,在確認(rèn)圖片已經(jīng)篡改成功后將自動(dòng)退出程序。
這就等于一個(gè)自動(dòng)定時(shí)炸彈,神不知鬼不覺(jué)就會(huì)爆炸。
找到了攻擊方式,接下來(lái)就要尋找妖精洞了。
當(dāng)確定這個(gè)易語(yǔ)言程序就是黑客用來(lái)篡改網(wǎng)頁(yè)的關(guān)鍵代碼以后,SkyMine開(kāi)始調(diào)查這個(gè)程序是如何被傳入服務(wù)器的。
因?yàn)檫@個(gè)web服務(wù)器只對(duì)外開(kāi)放80端口,SkyMine猜測(cè)有很大可能是通過(guò)web應(yīng)用漏洞來(lái)寫(xiě)入這個(gè)程序的。通過(guò)查看這個(gè)程序的創(chuàng)建時(shí)間,他得到了程序的傳入時(shí)間點(diǎn),這就可以進(jìn)一步從網(wǎng)站訪問(wèn)日志中尋找這個(gè)時(shí)間點(diǎn)的web訪問(wèn)記錄。
比如 SkyMine 就發(fā)現(xiàn)了在網(wǎng)站訪問(wèn)日志中有一些 POST 請(qǐng)求(菜刀連接特征),指向網(wǎng)站一個(gè)上傳目錄的 php 文件,而這個(gè)文件就是用于上傳篡改程序的木馬了。
當(dāng)然,網(wǎng)站訪問(wèn)日志記錄的來(lái)源IP是個(gè)美國(guó)的代理地址,不是真實(shí)地址。于是他接著調(diào)查起 webshell(黑客用于遠(yuǎn)程控制的網(wǎng)頁(yè)木馬)是如何被上傳的。
在網(wǎng)站訪問(wèn)日志中以木馬的文件名作為關(guān)鍵詞進(jìn)行搜索,很輕松的就定位到了木馬的上傳位置,通過(guò)對(duì)這個(gè) POST 請(qǐng)求的分析,可以確認(rèn)這個(gè) web 應(yīng)用是存在任意代碼執(zhí)行漏洞的,黑客通過(guò)這個(gè)漏洞寫(xiě)入了木馬。
有趣的是,SkyMine還發(fā)現(xiàn)了個(gè)某云服務(wù)商的IP地址,而這個(gè)IP經(jīng)查證發(fā)現(xiàn)正是攻擊者所持有。
SkyMine的事到這里結(jié)束了,他伸了伸懶腰,把技術(shù)分析報(bào)告提交給了執(zhí)法機(jī)關(guān),至于案件的跟進(jìn)就不是他這個(gè)白帽子的活兒了。
來(lái),讓我們重新整理一遍攻擊者的騷操作。
黑客初次訪問(wèn)網(wǎng)站
黑客開(kāi)始嘗試進(jìn)行滲透
黑客發(fā)現(xiàn)網(wǎng)站存在任意代碼執(zhí)行漏洞
黑客利用任意代碼執(zhí)行漏洞寫(xiě)入webshell
黑客webshell上傳篡改程序
篡改程序自動(dòng)執(zhí)行網(wǎng)頁(yè)篡改
安全專(zhuān)家(SkyMine本人)到場(chǎng)取證分析
取證分析結(jié)束提交報(bào)告
整個(gè)取證分析過(guò)程用時(shí)三個(gè)多小時(shí),更像一場(chǎng)燒腦游戲。SkyMine也感嘆,若不是黑客不小心留下了破綻,他也不可能那么快就完成工作。
SkyMine本名伍智波,是中國(guó)網(wǎng)安·廣州三零衛(wèi)士的安全專(zhuān)家,日常工作就是搬磚和處理廣州市政務(wù)網(wǎng)的黑客入侵事件。
【SkyMine本人】
處理的事件也是各有不同,假如發(fā)生了網(wǎng)頁(yè)篡改,就一步步進(jìn)行溯源;如果受到了APT攻擊,就需要根據(jù)每個(gè)APT組織的常用手法,結(jié)合威脅情報(bào)提供的攻擊來(lái)源信息以及病毒樣本進(jìn)行識(shí)別;如果是數(shù)據(jù)泄露問(wèn)題,可以通過(guò)數(shù)據(jù)庫(kù)審計(jì)還原竊取過(guò)程。用SkyMine的話說(shuō),就是花式還原攻擊鏈。
這些情景用到的取證手法都是一樣的嗎?當(dāng)然不是。
據(jù)SkyMine說(shuō),針對(duì)Windows三大內(nèi)存管理機(jī)制的取證手法有八種:
基于用戶模式程序的內(nèi)存獲取
基于內(nèi)核模式程序的內(nèi)存獲取
基于系統(tǒng)崩潰轉(zhuǎn)儲(chǔ)的內(nèi)存獲取
基于操作系統(tǒng)注入的內(nèi)存獲取
基于系統(tǒng)休眠文件的內(nèi)存獲取
基于系統(tǒng)冷啟動(dòng)的內(nèi)存獲取
基于虛擬化快照的內(nèi)存獲取
基于硬件的內(nèi)存獲取
但由于時(shí)間緊迫,根本不可能將八種手法一一試過(guò),一般常用的就是三種:基于內(nèi)核模式程序,系統(tǒng)崩潰轉(zhuǎn)儲(chǔ)和虛擬化快照內(nèi)存提取方式。
發(fā)生了一起搶劫案,如何能快速找到作案者?SkyMine他們要做的就是通過(guò)觀察搶劫犯的行為判斷是否是慣犯,是否有案底,進(jìn)一步查看嫌疑人是否有蹲點(diǎn),蹲了多久。但如果疑犯作案是臨時(shí)起意呢?這種反常行為就很難尋找線索,更何況去反向臨摹用戶畫(huà)像。
“所以上面的案例用時(shí)三個(gè)小時(shí)還算快,如果沒(méi)有攻擊者的失誤恐怕想要追蹤到他們更慢甚至最后追蹤不到。網(wǎng)絡(luò)本身具有匿名性,一個(gè)代理跳到國(guó)外后就可能什么線索都斷了?!?/p>
實(shí)施完美的網(wǎng)絡(luò)犯罪是有可能的,進(jìn)行完美的網(wǎng)絡(luò)追捕也是有可能的,但最終結(jié)果如何,誰(shuí)也不能肯定。
總之就是難難難。
不過(guò)SkyMine還挺喜歡做的,在他看來(lái)這種有挑戰(zhàn)又炫技的操作很適合他“平淡”的生活。這可能就是每個(gè)白帽子都有的黑客情懷吧。
忘記說(shuō),雷鋒網(wǎng)編輯是在上周末由知道創(chuàng)宇舉辦的KCon大會(huì)上聽(tīng)到這個(gè)演講,以及見(jiàn)到的小伍哥,感興趣的可以點(diǎn)這里內(nèi)存取證,智能家居被劫持,短網(wǎng)址攻擊,這屆 KCon 都“搞”了什么?
雷鋒網(wǎng)宅客頻道(微信公眾號(hào):letshome)專(zhuān)注先鋒科技,講述黑客背后故事,歡迎關(guān)注雷鋒網(wǎng)宅客頻道。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。