首页 > 系统相关 >PowerShell木马免杀利器: Invoke-Obfuscation(过火绒)

PowerShell木马免杀利器: Invoke-Obfuscation(过火绒)

时间:2023-01-07 12:22:25浏览次数:60  
标签:脚本 Obfuscation 加密 免杀 Invoke 火绒 PowerShell

Invoke-Obfuscation

简介

Invoke-Obfuscation工具下载地址: https://github.com/danielbohannon/Invoke-Obfuscation

这是一款针对PowerShell文件的免杀工具, 此处对CS生成的PowerShell木马进行免杀

Invoke-Obfuscation是一款PowerShell混淆工具,可以将PowerShell脚本加密,使得它的检测和分析变得更加困难。该工具包含多种加密方法,可以单独使用也可以结合使用,以提高混淆的效果。Invoke-Obfuscation还有多个选项可以选择,如TOKEN、AST、STRING、ENCODING、COMPRESS和LAUNCHER,可以帮助你更好地混淆脚本


简单演示

1.CS生成ps木马

打开Cobalt Strike, 点击攻击>生成后门->Payload Generator

image-20230106191819966


选择相应的监听, 生成powershell木马

image-20230106191957575


2.导入模块并加载

进入invoke-Obsfuscation文件夹并打开powershell, 执行如下命令导入Invoke-Obfuscation模块

Import-Module .\Invoke-Obfuscation.psd1

执行如下命令加载模块

Invoke-Obfuscation

image-20230106192850710


随后进入工具命令行界面, 如下图所示, 该工具支持六种加密方式:

  • TOKEN: 将脚本转换为一个或多个PowerShell解析器令牌的序列

  • AST: 将脚本转换为抽象语法树

  • STRING: 混淆脚本中的字符串,使得脚本的意图变得模糊不清

  • ENCONDING: 将脚本转换为ASCII、Unicode或Base64编码

  • COMPRESS: 将脚本压缩,使得脚本的大小变小,从而使得脚本的传输和存储更加方便

  • LAUNCHER: 生成一个启动器,该启动器可以在目标系统上执行混淆后的脚本

1


3.输入要加密的脚本路径

set scriptpath C:\Users\hacker\Desktop\payload.ps1

image-20230106220244166


4.加密脚本

此次我选择编码加密, 输入encoding, 随后出现8种编码加密方式, 这里我简单介绍下常用的五种加密

  1. ASCII编码
  2. HEX(16进制)编码
  3. octal(8进制)编码
  4. Binary(2进制)编码
  5. AES算法加密(最常用)

image-20230106220433823


此处我选择5, 即AES算法加密

1


输入back返回上级目录, 然后输入string对脚本文件进行字符串混肴, 有三种字符串混肴方法, 此处我输入2选择了第二种

image-20230106222848097


5.查看加密选项

可以看到加密前和加密后的脚本内容对比, 以及采用了何种加密方法和完整的加密命令

show options

image-20230106223901101


6.输出脚本

输出加密后的脚本文件至工具所在目录

out test.ps1

image-20230106221539461


杀软测试

火绒

使用火绒静态扫描脚本文件, 没有发现威胁

image-20230106223945754


cmd命令行输入如下命令执行脚本, 火绒没有报毒, 成功过掉火绒动态扫描

PowerShell.exe -ExecutionPolicy Bypass -File .\test.ps1

至于为何要加上-ExecutionPolicy Bypass参数, 这是因为在默认情况下, powershell的安全策略规定不允许运行命令和文件, 但是可以通过添加此参数来绕过任意一个安全保护规则, 在真实的渗透环境中经常用到此参数来执行powershell脚本

image-20230106224136701


WindowDefender

成功过掉WindowDefender的静态扫描

image-20230106224957853


但是过不了WindowDefender的动态扫描

image-20230106225055133

标签:脚本,Obfuscation,加密,免杀,Invoke,火绒,PowerShell
From: https://www.cnblogs.com/henry666/p/17032456.html

相关文章

  • 免杀——UUID回调函数免杀
    生成UUID的Python脚本:importuuidshellcode=b""list=[]foriinrange(50):bytes_a=shellcode[i*16:16+i*16]b=uuid.UUID(bytes_le=bytes......
  • 免杀——msfvenom基本操作
    MSF生成EXE:msfvenom-p有效载荷-f输出格式-o输出文件msfvenom-pwindows/meterpreter/reverse_tcp-fexe-opayload.exeMSF生成Shellcode:msfvenom-a系统架构......
  • 免杀——凯撒+RC4+Base64分离免杀
    Shellcode生成器:buf是CS生成的Shellcode#include"Caesar.h"#include"Base64.h"#include"RC4.h"intmain(){ unsignedcharbuf[]="" unsignedchar......
  • 免杀——CobatStrike基本操作
    安全测试中,将一台虚拟机作为服务器,同时也可以作为客户机。1、将服务器打开./teamserver192.168.204.148kali 2、启动客户端中文插件打开:java-Dfile.encoding=UTF......
  • 免杀——直接加载
    通过使用直接加载的方式来加载shellcode,是最初始的免杀手段。不过随着对抗的加剧,该方法现在已经不再实用。#include<stdio.h>#include<stdlib.h>#pragmacomment(li......
  • 平台调用 (P/Invoke):托管代码(C#)调用非托管代码(C/C++)
      首先,本文基于.net6来实现C#代码来调用C/C++程序(VS2022),主要从三个角度来说明:简单的调用实现、自定义类和结构体、回调函数。  其次,C#调用C/C++一般是通过调用C/C++的......
  • Python免杀过360
    本文章仅供参考学习作者:mantou博客地址:https://www.cnblogs.com/mantou0/分离免杀这个我就不多说了,效果确实不错,网上关于分离免杀的也有很多文章不分离过360一个exe,......
  • Spring源码-08-容器refresh之invokeBeanFactoryPostProcessors方法
    Spring源码-08-容器refresh之invokeBeanFactoryPostProcessors方法ConfigurationClassPostProcessor作用的时机扫描注册用户BeanDefinition到Bean工厂一Bean工厂后置处......
  • 免杀学习-认识shellcode
    免杀学习-认识shellcode接着暑假的学习继续更,这学期比较忙,学校里要过逆向考试,加上学生会加上新生班助,还要忙着研究小车做比赛作品,杂七杂八的事一大堆就没更。这个学期正......
  • Cannot invoke “org.springframework.web.servlet.mvc.condition.PatternsRequestCon
    异常信息:Cannotinvoke“org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()”because“this.condition”isnull出现该异常......