如何判断webshell木马的来源
作者:时尚 来源:娱乐 浏览: 【大 中 小】 发布时间:2026-10-17 06:20:17 评论数:
判断webshell木马的何判来源,最直接的木马办法不是看代码,而是何判看它落地的“姿势”。
我见过太多人拿到一个可疑PHP文件,木马第一反应是何判打开编辑器读代码。这没用。木马就算你读懂每一行,何判也未必知道它怎么进来的木马——攻击者往往把真正的入口藏在别的日志里。你得反过来,何判先问自己:这个文件是木马什么时候出现的?哪个目录下的?权限是谁的?这三个问题能帮你锁定大半来源。
拿个真实案例说吧。何判上个月朋友公司的木马服务器被种了木马,文件在/tmp目录下,何判名字叫cache.php,木马大小才2KB。何判代码里全是base64解码加eval,典型的一句话。但他怎么都查不到上传漏洞,后来我让他翻Apache访问日志,搜当天所有POST请求,果然发现一个可疑的/wp-admin/admin-ajax.php请求,User-Agent是空的,来自一个国外IP。那台服务器装了个老旧的WordPress插件,漏洞早就公开了。木马就是从那个插件的文件上传功能进来的。
所以第一步,看时间戳和文件位置。木马通常落在可写目录,比如/tmp、/uploads、/images,或者干脆藏在主题目录里。如果文件修改时间正好对应某次批量扫描或者异常登录时段,那多半是漏洞利用的结果。反过来,如果时间戳被刻意改成和旁边文件一样——攻击者会用touch命令伪造——那就得看inode变化,或者对比备份文件。
第二步,查入口日志。别只看web日志,还得看FTP日志、SSH登录记录,甚至邮件发送日志。有些木马是攻击者通过弱口令直接上传的,那FTP日志里会有痕迹;有些是SQL注入写进去的,那数据库日志会有异常insert语句;还有些是第三方组件后门,比如某个编辑器插件自带上传功能被滥用。你把这些日志按时间排序,和木马文件出现的时间对齐,基本能找出那条“传送带”。
有个细节容易被忽略:检查文件所有者。如果木马属主是www-data,那八成是web漏洞进来的;如果属主是某个FTP账号,那可能是账号泄露;如果是root,那问题就大了——说明攻击者已经提权成功,你得立刻检查系统用户和计划任务。我见过最隐蔽的一个案例,木马藏在/var/spool/cron/里,属主是root,每天凌晨三点执行一次,把服务器当矿机用。这种靠文件扫描根本发现不了,得看进程列表和网络连接。
最后说个土办法,但很有效:对比基线。如果你有干净的备份,直接diff一下目录结构,新出现的文件、被修改过的文件一目了然。没备份的话,就去搜代码特征——比如eval($_POST)、assert($_REQUEST)、base64_decode加gzuncompress,这些是标配。但别只搜这些,攻击者会变形。你得更狠一点,搜所有包含$_FILES的代码,再搜所有执行系统命令的函数,比如system()、shell_exec()、passthru()。把结果筛一遍,剩下的可疑项就少了。
判断来源这事,说白了就是拼图。时间戳、日志、属主、代码特征,每块拼图凑到一起,攻击路径自然浮出来。别指望一步到位,也别迷信任何扫描工具——工具能帮你缩小范围,但真正的判断还得靠人。你盯着那几行日志看半小时,往往比跑十个扫描器都管用。
