今天登陸後臺無心中發現Wordpress安全插件(Wordfence)報警!發現某惡意文件。php
由以上可見,它位於Wordpress媒體上傳目錄,是一個壓縮包而且內部含有c語言代碼。html
詳細信息如圖python
經詳細信息發現,這個文件的建立日期爲2020年11月26日星期四上午01:38:40,大小約70kb。linux
這就納悶了,一個壓縮包,位於媒體文件上傳目錄,內部含有c語言代碼,僅70kb;十分可疑!web
故而登陸服務器把它下載到本地仔細研究;解壓一看,茫然了。。。shell
文件名我沒有截出來,它的文件名爲「ebpf_mapfd_doubleput_exploit」,那麼這無疑是一個用於本地提權的惡意程序(百度搜索文件名一大堆提權資料)apache
那麼就要搞明白這文件怎麼來的centos
發現是由www-data建立的,這代表攻擊者是經過apache程序上傳的該文件。安全
Wordpress安全插件(Wordfence)顯示這個文件建立於「2020年11月26日上午01:38:40」。服務器
linux顯示這個文件,最後一次訪問時間爲「 2020-12-29 23:39:46.605865354 +0800」
最後一次內容修改時間爲「2020-11-26 09:38:40.000000000 +0800」
最後一次屬性修改時間爲「2020-12-25 00:00:48.593857119 +0800」
而今天是2020/12/30,linux並不顯示建立時間,最後一次查看是昨天。
整理出一個時間線,建立於2020/11/26/01:38:40
最後一次解壓或者移動於2020-11-26 09:38:40
最後一次修改權限於2020-12-25 00:00:48
最後一次訪問於2020-12-29 23:39:46
但忽略了一個問題,除了攻擊者,Wordfence訪問是否是也記錄其中?因此,最後一次訪問時間無效。
因而查看apache日誌,發現該文件被建立時,apache並無生成日誌
難道不是經過Wordpress上傳的嗎?明明上傳在「wp-content/uploads/」這是wordpress媒體上傳目錄啊。。。
遺憾的是,wordpress並無日誌記錄是誰上傳的以及上傳者ip。
ps:提及這個惡意提權壓縮包就頗有趣,它被放在/wp-content/uploads/;包內有個compile.sh,解壓後內容以下:
#!/bin/sh gcc -o hello hello.c -Wall -std=gnu99 `pkg-config fuse --cflags --libs` gcc -o doubleput doubleput.c -Wall gcc -o suidhelper suidhelper.c -Wall
哦~~它須要編譯,可是壓縮包裏已經包含編譯好的可執行文件了;是兩手準備?仍是把編譯後的可執行文件又添加進了壓縮包爲掩人耳目?幸虧wordfence識別出來了。
還有,這個目錄是沒有可執行權限的(不過好像是僅針對php)
因爲apache日誌內找不到上傳該文件的日誌記錄,wordpress也沒有總之線索斷了!
可是,可執行文件已經上傳了,沒有shell攻擊者怎麼用??
萬能的阿里雲~!(看日誌是夠辛苦的)
從阿里雲的報告來看,最後一次反彈shell時間:2020/12/24/22:47:46秒
貌似與最後一次屬性修改時間:「2020-12-25 00:00:48」對上了
還發現攻擊者經過python虛擬了一個交互式shell;而後沒有更多信息了。
依據經驗,經過apache反彈shell通常使用惡意php程序;可wordfence並無掃描出惡意php程序。
不甘心使用webshell掃描工具「河馬」掃描一波,
仍未發現惡意php!
粗略檢查了一下linux的登陸日誌,並無發現www-data登陸(也許反彈shell登陸並不會被日誌記錄?這方面不太懂)
因爲已經發現了用於提權的惡意程序,須要分析(究竟可否提權成功),檢查服務器其餘位置是否存在其餘本地提權程序
使用「find / -user www-data -perm -u=r -ls > demo.txt」列出全部、全部者或全部組爲www-data的文件並將輸出重定向到demo.txt;使用「cat demo.txt | grep *.tar*」等,查找可疑文件後綴
並查找了linux中任何人均可寫的目錄,如tmp
root@iZbp18bu6m70t9of9avduiZ:~# find / -name tmp /tmp /var/tmp /var/www/html/wp-content/plugins/wordfence/tmp /var/www/html/phpMyAdmin/tmp
未發現其餘本地提權程序。。。
理清思路:服務器被上傳本地提權程序,被反彈shell但未找到惡意php程序(webshell河馬的檢測能力仍是能夠的),因此懷疑是apache或者wordpress的漏洞致使被反彈shell
爲保證安全,升級wordpress版本、更新全部軟件、更新系統及內核版本並變動用戶密碼
詳見個人另外幾篇文章:更新系統及內核版本http://www.javashuo.com/article/p-uozxazqa-oa.html
Ubuntu更新軟件參考https://www.jianshu.com/p/a79ee7f59036
Wordpress自動升級穩定性不佳,建議手動升級;參考http://www.wuwenhui.cn/3090.html
總結經驗:
一、Wordpress須要安裝日誌插件來記錄日誌!!
二、研究透各大發行版的日誌格式,Ubuntu日誌與centos有很大不一樣;因爲不常常看,打開/var/log/嚇壞了,覺得日誌被刪除了……提權成功了;打開虛擬機試驗後發現是其日誌格式與centos不一樣。。。
道高一尺,魔高一杖;找不到php反彈shell的文件可真難受。願大佬提建議~~