.NET内网实战:通过winlogon、CMSTP提升本地账户权限

01阅读须知

此文所节选自小报童《.NET 内网实战攻防》专栏,主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,对内网和后渗透感兴趣的朋友们可以订阅该电子报刊,解锁更多的报刊内容。

02本地权限提升

本文内容部分节选自小报童《.NET 通过winlogon进程提升至SYSTEM权限》和 《.NET 通过指定的COM接口执行命令绕过UAC》,完整的文章内容请加入小报童后订阅查看。现在限时只需59元,永久买断!目前已有280+位朋友抢先预定,我们会长期更新,对.NET内网安全的朋友们请尽快订阅该报刊!

03Winlogon权限提升

在内网渗透环境中,获得 SYSTEM 权限是攻击链中的关键一环。通过分析 Windows 系统中对高权限进程的访问机制,我们利用 SYSTEM 账户运行的winlogo进程的访问令牌,可以伪装为操作系统内核,启动具有最高权限的进程。

3.1 识别当前进程的所有者

我们调用 WMI 的 GetOwner 方法反射获取进程所有者的用户名和所在的域,然后通过判断进程所有者的用户名是否包含了关键词 "NT",比如返回 "NT AUTHORITY\SYSTEM",包含了NT就表示该进程是系统用户创建的,因此也具备了SYSTEM权限。具体代码如下所示。

public static string GetProcessOwner(int processId)
{
			string query = "Select * From Win32_Process Where ProcessID = " + processId.ToString();
			ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
			ManagementObjectCollection processList = searcher.Get();
			foreach (ManagementBaseObject managementBaseObject in processList)
			{
				ManagementObject obj = (ManagementObject)managementB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dot.Net安全矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值