Henry's Blog
  • CobaltStrike系列
    • CobaltStrike的基本操作
    • CobaltStrike会话管理
    • CobaltStrike重定向服务
    • CobaltStrike钓鱼攻击
    • 凭据导出与存储
    • Beacon的常用操作
    • DnsBeacon详解
    • 权限提升
    • 简单的内网信息收集
    • Cross2生成LinuxShell
    • CNA插件开发
    • Profile编写规则
    • BOF开发
    • execute-assembly原理
    • Vps搭建可能遇到的问题
  • OPSEC(免杀)
    • BypassPPL
    • Certutil绕过技巧
    • DLL劫持技术(白+黑)
    • PEB伪装
    • PpidSpoofing
    • Python反序列化免杀
    • WebShell绕过技巧
    • mimikatz免杀
    • 利用CobaltStrikeProfile实现免杀
    • 利用Windows异常机制实现Bypass
    • 削弱WindowsDefender
    • 模拟Powershell实现Bypass
    • 浅谈CobaltStrikeUDRL
    • 添加用户和计划任务(Bypass)
    • 移除NtDll的hook
    • 定位修改MsfShellcode特征码实现免杀
    • 利用COM接口实现进程断链执行.md
    • 免杀工具篇
      • Invoke-Obfuscation
      • Shellter
    • 流量检测逃避
      • CobaltStrike流量逃避.md
      • MSF流量加密.md
      • NC反弹Shell流量加密.md
  • Shellcode加密
    • 前置知识
    • XOR加密
    • AES加密
  • Shellcode加载器
    • 常见的加载方式
    • 分离加载
    • 创建纤程加载
    • 动态调用API加载
    • 基于APC注入加载
    • 基于反调试加载
    • 基于回调函数加载
    • 基于线程池加载
    • 模块踩踏
    • 进程镂空注入(傀儡进程)
    • 反射dll注入(内嵌式)
  • Web渗透
    • 信息收集
    • 各类Webshell
    • 基本漏洞利用
    • 远程命令执行漏洞
    • sql注入
    • sqlmap的使用方法
  • 内网渗透
    • 内网渗透前置知识
    • BadUsb制作
    • Linux反弹Shell总结
    • 内网渗透技术总结
    • 横向移动
      • GoToHttp
      • MS14-068
      • PassTheHash
      • PassTheTicket
      • Psexec
      • RustDesk
      • SMB横移
      • WMI横移
      • 用户枚举与爆破
    • 流量加密
      • CobaltStrike流量加密
      • MsfShell流量加密
      • OpenSSL加密反弹shell
  • 协议分析
    • TCP_IP协议
  • 权限提升
    • 土豆提权原理
    • UAC提权
  • 蓝队技术
    • 应急响应流程总结
  • 进程注入
    • Conhost注入
    • session0注入
    • 内核回调表注入
    • 剪切板注入
  • 逆向技术
    • HOOK技术
    • IDA遇到的坑
    • Shellcode的原理与编写
    • Windbg的使用
    • 使用Stardust框架编写Shellcode
    • PeToShellcode
    • 破解系列
      • PUSH窗体大法
      • VM绕过技巧(易语言)
      • Crackme_1
      • 反破解技术
      • 按钮事件特征码
      • 逆向调试符号
      • 破解实例
        • IDA逆向注册码算法
  • 钓鱼技术
    • Flash网页钓鱼
    • LNK钓鱼
    • 自解压程序加载木马
  • 隧道应用
    • 隧道应用前置知识
    • BurpSuite上游代理
    • DNS隧道传输
    • EarthWorm内网穿透
    • Frp内网穿透
    • ICMP隧道传输
    • MsfPortfwd端口转发
    • Neo-reGeorg内网穿透
    • NetCat工具使用
    • Netsh端口转发
    • SSH端口转发
    • 正向连接与反向连接
  • 基础学习
    • C和C++
      • C++编程
      • C程序设计
    • Linux学习
      • Linux Shell编程
      • linux基础
    • Python基础
      • python之Socket编程
      • python之多线程操作
      • python基础
      • python算法技巧
    • Qt基础
      • Qt笔记
    • 逆向基础
      • PE结构
      • Win32
      • 汇编语言
  • 漏洞复现
    • Web漏洞
      • ApacheShiro反序列化漏洞
    • 系统漏洞
      • Linux漏洞
        • ShellShock(CVE-2014-6271)
  • 靶场系列
    • Web靶场
      • pikachu靶场
      • sqli-labs
      • upload-labs
    • 内网靶场
      • Jarbas靶场
      • SickOS靶场
      • W1R3S靶场
      • prime靶场
      • vulnstack靶场系列一
      • vulnstack靶场系列二
      • vulnstack靶场系列四
  • 代码审计
    • PHP代码审计基础
  • 一些杂七杂八的
    • 开发工具与环境
      • Github的使用
      • JSP环境搭建
      • Pycharm设置代码片段
      • VS2017安装番茄助手(破解版)
      • VisualStudio项目模板的使用
      • WindowsServer搭建IIS环境
      • 安装Scoop
      • c++安装vcpkg
      • dotnet-cnblog的安装与使用
      • gitbook使用教程
      • kali安装burpsuite
      • 配置win2012域服务器
      • VSCode配置MinGW
    • 踩坑记录
      • BurpSuite导入证书
      • Powershell禁止执行脚本
      • centos7没有显示ip
      • kali安装pip2
      • oracle12没有scott用户
由 GitBook 提供支持
在本页
  • 简介
  • 简单演示
  • 1.CS生成ps木马
  • 2.导入模块并加载
  • 3.输入要加密的脚本路径
  • 4.加密脚本
  • 5.查看加密选项
  • 6.输出脚本
  • 杀软测试
  • 火绒
  • WindowDefender
  1. OPSEC(免杀)
  2. 免杀工具篇

Invoke-Obfuscation

上一页免杀工具篇下一页Shellter

最后更新于1年前

简介

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

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

2.导入模块并加载

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

Import-Module .\Invoke-Obfuscation.psd1

执行如下命令加载模块

Invoke-Obfuscation

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

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

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

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

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

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

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

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

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

4.加密脚本

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

  1. ASCII编码

  2. HEX(16进制)编码

  3. octal(8进制)编码

  4. Binary(2进制)编码

  5. AES算法加密(最常用)

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

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

5.查看加密选项

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

show options

6.输出脚本

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

out test.ps1

杀软测试

火绒

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

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

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

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

WindowDefender

成功过掉WindowDefender的静态扫描

但是过不了WindowDefender的动态扫描

image-20230106191819966
image-20230106191957575
image-20230106192850710
image-20230106220244166
image-20230106220433823
image-20230106222848097
image-20230106223901101
image-20230106221539461
image-20230106223945754
image-20230106224136701
image-20230106224957853
image-20230106225055133