一次web后門生成過程溯源

?上周末窍帝,朋友網(wǎng)站(www.x.com)被入侵,百度上搜出許多博彩頁面诽偷。印象中他網(wǎng)站不是第一次被入侵坤学,上次被入侵還是半年前了。朋友的安全服務商來應急后并未徹底清除后門报慕。在答應請客吃飯后決定幫看看深浮。

?網(wǎng)站是用phpcms搭建,版本是phpcms v9眠冈。先來看一下網(wǎng)站上收集到的信息飞苇,第一個就是網(wǎng)站某個php文件被插入了 require '/tmp/.app/phpcms';,根據(jù)這個路徑看了下內(nèi)容,就是博彩頁面內(nèi)容布卡,看上去還是一套phpcms 應用雨让,隨機產(chǎn)生頁面,并只對搜索引擎有效忿等。

?第二個是在caches 目錄下發(fā)現(xiàn)了webshell 暫且叫做houmen.php栖忠,用stat查看了下時間信息,并截圖記錄(習慣上)贸街,隨后就備份了下娃闲,刪除了后門∝依耍看后門時間應該是半年前那次的皇帮,沒有刪除。刪除后門后蛋辈,開始瀏覽其他信息属拾。再次瀏覽網(wǎng)站目錄的時候發(fā)現(xiàn)后門神奇的生成了。搜了下這段時間的access日志冷溶,沒有POST請求渐白,日志中沒有關鍵詞。刪除后門后逞频,沒過一小時又生成纯衍。

?針對這種情況,第一時間想到用inotify來監(jiān)控看下生成文件前后還有哪些文件被訪問到苗胀。使用inotifywait 進行監(jiān)控襟诸,當后門再次出現(xiàn)時inotify 并未給出滿意答案』可能由于php那個緩存機制導致inotify未監(jiān)控到php文件的調(diào)用順序歌亲。

?嘗試全站搜索字符串,并未搜到后門信息澜驮,猜測后門信息可能在數(shù)據(jù)庫內(nèi)陷揪。

?linux除了inotify 還有auditd 工具,不光能監(jiān)控文件杂穷,還能監(jiān)控系統(tǒng)調(diào)用悍缠,使用auditctl添加規(guī)則后,可以看houmen.php生成時整個php調(diào)用流程耐量。根據(jù)auditd輸出信息提取路徑得到具體調(diào)用流程如下:


網(wǎng)站目錄/phpcms/base.php

網(wǎng)站目錄/.htaccess

網(wǎng)站目錄/index.php/.htaccess

網(wǎng)站目錄/index.php

網(wǎng)站目錄/phpcms/base.php

網(wǎng)站目錄/phpcms/libs/functions/global.func.php

網(wǎng)站目錄/phpcms/libs/functions/extention.func.php

網(wǎng)站目錄/phpcms//libs/functions/autoload

網(wǎng)站目錄/phpcms/libs/functions/autoload/plugin.func.php

網(wǎng)站目錄/phpcms/libs/functions/autoload/video.func.php

網(wǎng)站目錄/caches/configs/system.php

網(wǎng)站目錄/phpcms/libs/classes/application.class.php

網(wǎng)站目錄/phpcms/libs/classes/param.class.php

網(wǎng)站目錄/caches/configs/route.php

網(wǎng)站目錄/phpcms/modules/formguide/index.php

網(wǎng)站目錄/phpcms/model/sitemodel_model.class.php

網(wǎng)站目錄/phpcms/libs/classes/model.class.php

網(wǎng)站目錄/phpcms/libs/classes/db_factory.class.php

網(wǎng)站目錄/caches/configs/database.php

網(wǎng)站目錄/phpcms/libs/classes/mysql.class.php

網(wǎng)站目錄/phpcms/model/sitemodel_field_model.class.php

網(wǎng)站目錄/phpcms/libs/classes/cache_factory.class.php

網(wǎng)站目錄/phpcms/libs/classes/cache_file.class.php

.....

網(wǎng)站目錄/caches/houmen.php

?這里根據(jù)auditd給出的目錄飞蚓,從目錄中看到caches字樣,猜測這大概是黑客利用cache功能寫的后門拴鸵,后邊的日志分析階段證實了這個猜測玷坠。

根據(jù)auditd給出的后門創(chuàng)建時間,到web的access 日志里去查看相應時間的日志:


以下日志為手動生成日志劲藐,僅供說明原理

243.125.71.46 - - [25/Mar/2019:20:10:20 +0800] "GET /houmen.php HTTP/1.1" 404

243.125.71.46 - - [25/Mar/2019:20:10:20 +0800] "/index.php?m=formguide&c=index&a=show&formid=1&siteid=1 HTTP/1.1" 200 400

243.125.71.46 - - [25/Mar/2019:20:10:26 +0800] " GET /houmen.php HTTP/1.1" 200 40023

243.125.71.46 - - [25/Mar/2019:20:10:32 +0800] "GET /?gid=83157124407 HTTP/1.1" 200 40023

243.125.71.46 - - [25/Mar/2019:20:10:40 +0800] "GET /?ctid=89110007864 HTTP/1.1" 200 40023

243.125.71.46 - - [25/Mar/2019:20:10:46 +0800] "GET /?ctid=98816131019 HTTP/1.1" 200 40023

?通過日志可以看到八堡,黑客訪問了index.php?m=formguide&c=index&a=show&formid=1&siteid=1這個路近后生成后門。結(jié)合前面的cache信息可以猜測數(shù)據(jù)庫某個跟cache相關表里有formid=1 并且siteid=1的數(shù)據(jù)記錄里包含后門信息聘芜。用mysql數(shù)據(jù)庫連接軟件連上后在x_model 這個表里發(fā)現(xiàn)

圖片.png

?這里的modelid應該就是formid了兄渺,修改了setting信息,試了試這里確實是生成后門的內(nèi)容汰现。phpcms把數(shù)據(jù)庫里內(nèi)容當做php執(zhí)行挂谍,這種做法不妥,至少得加惡意代碼過濾瞎饲,不仔細找后門口叙,不容易發(fā)現(xiàn),留的后相對文件后門來說隱秘性更高嗅战。

?刪除后門妄田,刪除數(shù)據(jù)庫里保存的后門,后續(xù)觀察吧驮捍,安全這事疟呐,是個持續(xù)過程。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末东且,一起剝皮案震驚了整個濱河市启具,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌珊泳,老刑警劉巖鲁冯,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異色查,居然都是意外死亡晓褪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門综慎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涣仿,“玉大人,你說我怎么就攤上這事示惊『酶郏” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵米罚,是天一觀的道長钧汹。 經(jīng)常有香客問我,道長录择,這世上最難降的妖魔是什么拔莱? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任碗降,我火速辦了婚禮,結(jié)果婚禮上塘秦,老公的妹妹穿的比我還像新娘讼渊。我一直安慰自己,他們只是感情好尊剔,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布爪幻。 她就那樣靜靜地躺著,像睡著了一般须误。 火紅的嫁衣襯著肌膚如雪挨稿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天京痢,我揣著相機與錄音奶甘,去河邊找鬼。 笑死祭椰,一個胖子當著我的面吹牛甩十,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吭产,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼侣监,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了臣淤?” 一聲冷哼從身側(cè)響起橄霉,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎邑蒋,沒想到半個月后姓蜂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡医吊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年钱慢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卿堂。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡束莫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出草描,到底是詐尸還是另有隱情览绿,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布穗慕,位于F島的核電站饿敲,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏逛绵。R本人自食惡果不足惜怀各,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一倔韭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓢对,春花似錦寿酌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碟联。三九已至妓美,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鲤孵,已是汗流浹背壶栋。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留普监,地道東北人贵试。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像凯正,于是被迫代替她去往敵國和親毙玻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355