今天登陆后台无心中发现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的文件可真难受。愿大佬提建议~~