小迪安全v2023学习笔记(一百四十四天)—— Webshell篇静态查杀行为拦截流量监控代码混淆内存加载工具魔改
免杀对抗——第一百四十四天
Webshell篇&静态查杀&行为拦截&流量监控&代码混淆&内存加载&工具魔改
环境搭建
- 这里我们和小迪一样,测试目前主流的四款杀毒软件:火绒、360、卡巴斯基和Denfener,直接在虚拟机中安装即可:
-
火绒V6.0:

-
卡巴斯基标准版:

-
360全家桶:


-
Denfener:

查杀对象 - Webshell&C2后门&工具&钓鱼
-
我们要拿权限,一般都是通过传Webshell、工具或者钓鱼应用,那么杀毒软件查杀的也就是这些,如果不做任何处理的话,基本都是会被查杀的
-
比如这里我们用哥斯拉生成一个Webshell,然后放到虚拟机上看看:

-
基本放上去就被杀掉了,所以实战中肯定是不能直接上传这样的木马的,同样,如果是CS的木马程序也一样,放上去就被干掉了:


-
连火绒都过不去,所以这就体现了免杀的重要性
免杀对象 - Webshell&表面代码&行为调用
- 我们需要做免杀的对象就是上面说的,当然还有其他的,反正只要是需要上传到目标主机的文件,如果有被查杀的可能,基本都需要做免杀
- 而杀毒产品杀毒的逻辑有两种,一种是静态查杀,一种是动态查杀
- 静态查杀就像上面演示的,当我们把木马文件放到目标主机上就被杀软识别出来了,原因就是这些木马程序存在特征,所以它根据这些特征就能够识别是否为木马;同时,很多Webshell工具连接流量也具有特征,因此也会被识别到并拦截。
- 动态查杀顾名思义,就是程序在运行时如果做出了一些敏感可疑的操作,可能就会被杀软检测到,从而标记为木马程序并杀掉
- 那如何对抗这两种检测方式,就是我们这个章节需要学习的东西
杀毒产品 - Webshell免杀-表面代码&加密混淆
-
首先是静态查杀,由于它的检测逻辑是判断文件中是否存在一些特征码,所以我们很容易就能想到去混淆表面的代码,用看起来无害的代码去写出有害的内容
-
比如这里我们使用一些免杀程序,很多就用的这种逻辑,通过加密或者编码去混淆:

-
然后把免杀后的代码放到目标主机上,可以看到火绒、卡巴斯基、360都过了:


-
但是只要一用哥斯拉尝试连接,它就会被杀掉
杀毒产品 - Webshell免杀-行为调用&工具类型
- 然后是动态查杀,杀软一般会定时扫描内存中存在的程序,如果某个程序有异常活动,那么就会被监测并查杀
- 针对这种,我们之后会讲到如何去绕过它,目前需要学的是如何去静态绕过
流量检测 - Webshell免杀-工具类型&源码魔改
- 而除了会查杀我们的木马或者程序,很多检测软件还会根据流量包判断是否为Webshell工具进行连接,如果被检测到,即使Webshell或者木马程序免杀了,但是也没办法连接到目标
- 因此我们有两种方式,要么使用小众的Webshell连接工具,要么自己魔改Webshell工具的特征
- 这里我们主要讲第二种方式,而如何魔改我们会在接下来的课程中讲到
