UOS博客被攻擊後——追根溯源-Wordpress-反彈shell-本地提權-Ubuntu

今天登陸後臺無心中發現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的文件可真難受。願大佬提建議~~

相關文章
相關標籤/搜索