接上文——C++实现VT全免杀(0/71)

admin 2023年2月21日10:06:29接上文——C++实现VT全免杀(0/71)已关闭评论58 views字数 3218阅读10分43秒阅读模式

1  前言

2   效果图

3   前置知识

4   免杀实验

5   实验结论

01


前言


本篇是棉花糖糖糖圈子里的大佬的文章
欢迎更多师傅通过本文内的圈子介绍加入圈子一起交流
原作师傅的公众号(推荐关注噢):


上一篇文章:shellcode随机值时间碰撞解密大法免杀

制作了VT查杀1的免杀马,于是我自夸了一句过VT和微步,但是群里面有小伙伴说:

图片

的确是还有一个,本来我觉得VT 1/71已经够了,但我觉得还是可以研究一下,在我的印象里剩下这个MaxSecure只要是g++打包的exe都会报毒。

图片

如果我的免杀代码没有问题,杀毒无法监测出病毒,那么问题只能出在编译上。


 02


效果图


还是先放效果图:

图片


 03


前置知识


免杀马的实现就是将shellcode加密、shellcode加载器、反沙箱及编译器编译等几种技术组合在一起实现免杀。


前面一篇文章讲了shellcode加密、shellcode加载器、反沙箱以及简单讲了以下编译器编译,在选择编译器时VS还是g++,选择g++,因为g++编译的空包exe比VS编译低两个数量级。但除了编译器选择还有编译器应该如何编译——编译器编译命令。编译器编译命令也是一个很大的影响因数,后面的会写一篇python免杀VT查杀1/71的文章也会用到这个原理。


 04


免杀实验


先让chargpt写一个冒泡排序:

图片

这是一段完全无害的代码,如果报毒,那么绝对是编译的问题,分别用VS与g++编译这一段代码上传VT看看VT报毒情况。

VS编译:

图片

g++编译:

g++ scl2.cpp -o scl.exe -mconsole

图片

可以看到g++编译的命令要比VS低很多,后面继续用g++编译这一段代码不同的是不断改变g++的编译命令。

先测试一些常见的命令:

图片

g++ scl2.cpp -o scl.exe -mconsole -pipe

图片

g++ scl2.cpp -o scl.exe -mconsole -time

图片

g++ scl2.cpp -o scl.exe -mconsole -s

图片

一些参数还可能会导致报毒变多,-s参数就是一个很典型的例子,6个报毒。。

g++ scl2.cpp -o scl.exe -mconsole -pie

图片

-pie参数编译后运行没有反应,跳过。

g++ scl2.cpp -o scl.exe -mconsole -shared

图片

-shared参数编译后运行无法运行,跳过。

--target-help下面还有几百个参数:

图片

我试了一些不是没有变化就是不能运行或是不会用,这个时候我想到了chargpt,这种时候用chargpt就是很合适了。

图片

  1. -s 参数用于剥离可执行文件中的符号表,这样可以使反汇编变得更困难,也可以减少程序被误判为病毒的概率。

  2. -fno-stack-protector 参数可以禁用堆栈保护机制,这样可以减少杀软对程序的误报。

  3. -fvisibility=hidden 参数可以隐藏编译出的符号表,这也可以使反汇编变得更困难。

  4. -Wl,--dynamicbase,-Wl,--nxcompat 参数可以启用程序地址空间随机化和数据执行保护,这可以提高程序的安全性,同时也可以减少杀软的误报。

前面第一个 -s ,前面试过了,6个报毒,直接舍弃。试试后面的4个:

g++ scl.cpp -o scl.exe -mconsole -fno-stack-protector

还是1个报毒。

g++ scl.cpp -o scl.exe -mconsole -fno-stack-protector -fvisibility=hidden

还是1个报毒。

g++ scl.cpp -o scl.exe -mconsole -fno-stack-protector -fvisibility=hidden -Wl,--dynamicbase

还是1个报毒。

g++ scl.cpp -o scl.exe -mconsole -fno-stack-protector -fvisibility=hidden -Wl,--dynamicbase -Wl,--nxcompat

图片

最后一个0个报毒!

那么关键的时候来了,将代码换成前一篇的随机值时间碰撞解密免杀(没有看过前一篇的关注公众号:锦鲤安全)。

g++ scl2.cpp -o scl.exe -mconsole -fno-stack-protector -fvisibility=hidden -Wl,--dynamicbase -Wl,--nxcompatg++

g++编译,主机启动360不报毒,cs正常上线

图片

图片

上传VT,结果出来实现VT全免杀!至此实验结束。

补充:

g++ scl2.cpp -o scl.exe -mconsole -Wl,--nxcompat

图片

单独使用 -Wl,--nxcompat 参数还是会导致报毒。

05

实验结论



在代码确定免杀的情况下报毒,是编译的问题。使用g++编译时 -s 参数会导致报毒增多(6/71),

-fno-stack-protector -fvisibility=hidden -Wl,--dynamicbase -Wl,--nxcompat

连在一起使用可减少报毒(0/71)。

g++ scl2.cpp -o scl.exe -mconsole -fno-stack-protector -fvisibility=hidden -Wl,--dynamicbase -Wl,--nxcompat

05

付费圈子


如果看到这里的师傅的你偏新人向
那么加入我们,性价比绝对超高,内部有新人所需绝大部分资源
包括一些出名的鹏程万里加密培训课程(这里不便展示)
内部也能分发授权
如果师傅已经脱离新手
那么圈子内部的交流氛围也是值得一看的
还有各个方向的学习资料和教程相信也能吸引你
如果师傅你有兴趣了解
请后台回复知识星球或点击菜单栏“付费圈子”查看更详细的介绍
开圈四个月以来已有超过500位师傅选择付费足以说明其价值

目前仅需70RMB一年,满1000人涨到99一年(目前进度507/1000)

价格只会越来越高

图片

图片

06


封面地址



兄弟反映需要封面图?

后台回复文章推送日期加”封面“即可获取

(2022年十月五日前的文章没有)

例如今天为:20230220封面

07


往期文章



burp_2023.2.1专业版中文破解_一键启动

近期在github收藏的一些自动化工具分享

AWVS_15.3版本一键破解

漏扫工具Invicti-Professional-v23-1破解

xray1.9.4_windows&linux高级版

fortify_sca_22.2-Windows-linux破解版

CS4.7汉化+修改指纹+加密流量+最新ladon9.2.5教程内附成品

windows10渗透虚拟机更新!帮助渗透新手快速搭建工作环境,工欲善其事,必先利其器。

一款开源命令行漏洞扫描器——简易添加poc

AppScan_Standard_10.1.0中文永久破解版

招聘!主场研判 长期,工资10K-12K

github-cve-monitor——一款cve、大佬仓库、工具监控工具(文末成品直接使用)


08


免责声明


本工具仅面向合法授权的企业安全建设行为,如您需要测试本工具的可用性,请自行搭建靶机环境。

为避免被恶意使用,本项目所有收录的poc均为漏洞的理论判断,不存在漏洞利用过程,不会对目标发起真实攻击和漏洞利用。

在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。请勿对非授权目标进行扫描。

如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。

本工具来源于网络,请在24小时内删除,请勿用于商业行为,自行查验是否具有后门,切勿相信软件内的广告!

在安装并使用本工具前,请您务必审慎阅读、充分理解各条款内容,限制、免责条款或者其他涉及您重大权益的条款可能会以加粗、加下划线等形式提示您重点注意。除非您已充分阅读、完全理解并接受本协议所有条款,否则,请您不要安装并使用本工具。您的使用行为或者您以其他任何明示或者默示方式表示接受本协议的,即视为您已阅读并同意本协议的约束。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月21日10:06:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   接上文——C++实现VT全免杀(0/71)http://cn-sec.com/archives/1562190.html