NF_Exp3_20164306

免杀原理与实践

1 关键内容

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

 经过组合应用各类技术实现恶意代码免杀shell

 用另外一电脑实测,在杀软开启的状况下,可运行并回连成功编程

2 基础问题回答

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

构建病毒库,对比特征码函数

启发式检测工具

分析其是否有恶意行为编码

免杀是作什么?

针对杀毒软件使用的检测技术,假装恶意代码使之不被发现加密

免杀的基本方法有哪些?

改变特征码spa

  • 加壳
  • 用encode进行编码
  • 基于payload从新编译生成可执行文件
  • 用其余语言进行重写再编译(veil-evasion)

改变行为3d

  • 尽可能使用反弹式链接
  • 使用隧道技术
  • 加密通信数据
  • 基于内存操做
  • 减小对系统的修改
  • 加入混淆做用的正常功能代码

3 基本内容

使用 msf 编码 6 次,生成 .jar 文件code

 安装 veil ,得首先解决wine32的问题

  sudo apt-get install wine32

嗯,装了两天

  sudo apt-get install veil-evasion

根据 veil 菜单提示逐步操做便可

使用 msf 生成 shellcode,具体参数见 Exp2 加分项

修改成 .c 文件,进行编程,特别的

  • 可编程处理字符串,增减字符以改变其存储内容,在运行时还原并最终实现功能
  • 头文件可经过工程设置省略,在这种状况下,恶意代码更难被杀软查出

压缩壳 UPX

试了一圈,它没法压缩 .jar 和 .c 文件,这里加壳的是 Exp2 中生成的 .exe 文件

加密壳 Hyperion 的使用方法相似,运行相应的可执行文件便可

hyperion.exe -v new_20164306.exe new2_20164306.exe

查看生成的文件

4 结果验证

上述恶意代码在 win10 环境下不会被 Windows Defender 检测为病毒

仅使用现有工具不可能实现反弹链接

这是由于实验中使用的工具都是些老牌免杀软件且现行杀软广泛使用启发式检测

经过实验发现不一样杀软判断编码器、加壳等处理方式的敏感程度存在差别,举例如使用 shellcode 实现后门,加壳前360并不会直接报毒,反而是加了 UPX 壳后直接就被查杀了

使用现有工具反复尝试,发现使用 shellcode 编程实现后门是相对隐蔽的

然而,使用shellcode编程时,就算对生成的字符串进行特殊处理,也没法阻止杀软查杀

举使用 .c 文件实现后门为例,首先是免不了系统函数调用,其次是在编译运行时会生成一个 Meterpreter.o  这明摆着是告诉人家本身有毒

特别的,在此不讨论结合了缓冲区溢出、社会工程学等其余方式的攻击,由于上述攻击成功条件自己太过苛刻,且与免杀关联不大

可见纯手工编写后门程序也应尽可能使用 python 等脚本语言实现,但这种方法又不具备广泛性,由于不保证靶机是否具备 python 环境

在此诚心向使用 meterpreter 成功反弹的同窗请教,dalao 们在评论区留言就好

 

记录mark(混乱版,不建议看)

  

 

若是要使用内嵌汇编,必须在VC或是VS下编译

 

改变代码,用codeblocks编译

 

 

Exe不会被查杀,攻击者不开控制台不监听,exe能够随意运行

 

不妨看看标准输出后的字符串是啥

 

 

mark别人写的按格式输出

 

好的这里问题来了,我能够编写exe程序把这个shellcode输出了,可是生成的后门准备链接时

 

 

这首先说明一点问题,Windowsdefender可以基于行为检测病毒

这个行为是否为运行shellcode?不妨用一段人畜无害的shellcode进行实验

 

运行成功

 

本站公众号
   欢迎关注本站公众号,获取更多信息