Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
clrinject — 将C#可执行文件或DLL程序集注入到另一个进程的每个CLR运行时和AppDomain中。 | Kitploit
工具/GitHubGitHub/jonatan1024/clrinject
权限提升漏洞利用横向移动后渗透利用渗透测试红队
GitHubjonatan1024/clrinject

clrinject

将C#可执行文件或DLL程序集注入到另一个进程的每个CLR运行时和AppDomain中。

查看仓库
237577年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

clrinject

将C# EXE或DLL程序集注入到另一个进程的任何CLR运行时和AppDomain中。注入的程序集随后可以访问被注入进程类的静态实例,从而影响其内部状态。

使用方法

clrinject-cli.exe -p <processId/processName> -a <assemblyFile>

打开ID为 <processId> 或名称为 <processName> 的进程,注入 <assemblyFile> EXE并执行Main方法。

附加选项

  • -e 枚举所有已加载的CLR运行时和已创建的AppDomain。
  • -d <#> 只注入到第<#>个AppDomain。如果未指定数字或指定为0,程序集将注入到每个AppDomain。
  • -i <namespace>.<className> 从命名空间<namespace>创建类<className>的实例。

示例

使用示例

  • clrinject-cli.exe -p victim.exe -e (从victim.exe枚举运行时和AppDomain)
  • clrinject-cli.exe -p 1234 -a "C:\Path\To\invader.exe" -d 2 (将invader.exe注入到ID为1234的进程的第二个AppDomain)
  • clrinject-cli.exe -p victim.exe -a "C:\Path\To\invader.dll" -i "Invader.Invader" (在victim.exe的每个AppDomain中创建Invader实例)
  • clrinject-cli64.exe -p victim64.exe -a "C:\Path\To\invader64.exe" (将x64程序集注入到x64进程)

可注入程序集示例

以下代码可作为C#可执行文件编译,然后注入到PowerShell进程中。该代码访问内部PowerShell类的静态实例,将控制台文本颜色更改为绿色。

root@kitploit:~
using System;
using System.Reflection;

using Microsoft.PowerShell;
using System.Management.Automation.Host;

namespace Invader
{
    class Invader
    {
        static void Main(string[] args)
        {
            try
            {
                var powerShellAssembly = typeof(ConsoleShell).Assembly;
                var consoleHostType = powerShellAssembly.GetType("Microsoft.PowerShell.ConsoleHost");
                var consoleHost = consoleHostType.GetProperty("SingletonInstance", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null);

                var ui = (PSHostUserInterface)consoleHostType.GetProperty("UI").GetValue(consoleHost);
                ui.RawUI.ForegroundColor = ConsoleColor.Green;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
    }
}

注入命令:

clrinject-cli64.exe -p powershell.exe -a "C:\Path\To\invader64.exe"

结果:

结果

下载工具