枚举和 MS DCERPC

信息安全 视窗 渗透测试 枚举
2021-08-14 20:02:06

枚举,枚举,甚至更多的枚举是通用的渗透口头禅,但如果你看不懂结果,枚举就毫无价值。

我遇到了 Windows RPC 服务,其中 metasploit 返回结果,例如

msf auxiliary(endpoint_mapper) > run

[*] Connecting to the endpoint mapper service...
[*] 12345778-1234-abcd-ef00-0123456789ac v1.0 TCP (49179) 192.168.41.221
[*] 2f5f6521-cb55-1059-b446-00df0bce31db v1.0 PIPE (\pipe\tapsrv) 
\\XXXXX [Unimodem LRPC Endpoint]
[*] 2f5f6521-cb55-1059-b446-00df0bce31db v1.0 LRPC (tapsrvlpc) [Unimodem 
LRPC Endpoint]
[*] 2f5f6521-cb55-1059-b446-00df0bce31db v1.0 LRPC (unimdmsvc) [Unimodem 
LRPC Endpoint]
[*] 906b0ce0-c70b-1067-b317-00dd010662da v1.0 LRPC 
(LRPC-d08ef1fa6d632a075d)
[*] 906b0ce0-c70b-1067-b317-00dd010662da v1.0 LRPC 
(LRPC-d08ef1fa6d632a075d)
[*] 906b0ce0-c70b-1067-b317-00dd010662da v1.0 LRPC 
(LRPC-d08ef1fa6d632a075d)
[*] 906b0ce0-c70b-1067-b317-00dd010662da v1.0 LRPC 
(LRPC-d08ef1fa6d632a075d)
[*] 906b0ce0-c70b-1067-b317-00dd010662da v1.0 LRPC 
(OLEEE86D47927814F3C96D95E0A7601)
[*] 906b0ce0-c70b-1067-b317-00dd010662da v1.0 LRPC 
(LRPC-bec9533644f8432732)
[*] 367abb81-9844-35f1-ad32-98f038001003 v2.0 TCP (49164) 192.168.41.221
[*] 12345678-1234-abcd-ef00-0123456789ab v1.0 LRPC 
(LRPC-9d7905a8727cb4e919) [IPSec Policy agent endpoint]
[*] 50abc2a4-574d-40b3-9d66-ee4fd5fba076 v5.0 TCP (49155) 192.168.41.221
...

或者

msf auxiliary(management) > run

[*] UUID e1af8308-5d1f-11c9-91a4-08002b14a0fa v3.0
[*] Remote Management Interface Error: DCERPC FAULT => nca_s_fault_ndr
[*]      listening: 00000000
[*]      killed: 00000005
[*]      name: 00010000000000000100000000000000d3060000
[*] UUID 0b0a6584-9e0f-11cf-a3cf-00805f68cb1b v1.1
[*] Remote Management Interface Error: DCERPC FAULT => nca_s_fault_ndr
[*]      listening: 00000000
[*]      killed: 00000005
[*]      name: 00010000000000000100000000000000d3060000
...

或者

msf auxiliary(tcp_dcerpc_auditor) > run

192.168.41.221 - UUID 99fcfec4-5260-101b-bbcb-00aa0021347a 0.0 OPEN VIA 
135 ACCESS GRANTED 00000000000000000000000000000000000000000000000076070000
192.168.41.221 - UUID afa8bd80-7d8a-11c9-bef4-08002b102989 1.0 OPEN VIA 
135 ACCESS GRANTED 
000002000c0000000c00000004000200080002000c0002001000020014000200180002001c0002002000020024000200280002002c000200300002000883afe11f5dc91191a408002b14a0fa0300000084650a0b0f9ecf11a3cf00805f68cb1b0100010026b5551d37c1c546ab79638f2a68e86901000000e6730ce6f988cf119af10020af6e72f402000000c4fefc9960521b10bbcb00aa0021347a00000000609ee7b9523dce11aaa100006901293f000002001e242f412ac1ce11abff0020af6e7a17000002003601000000000000c0000000000000460000000072eef3c67eced111b71e00c04fc3111a01000000b84a9f4d1c7dcf11861e0020af6e7c5700000000a001000000000000c000000000000046000000007f0bfe64f59e5345a7db9a19757775540100000000000000

但是,我不知道如何处理这些信息。示例 #1 似乎有点用处,但无论如何:这些信息将如何帮助攻击者计划他的下一步行动?metasploit 在这里告诉我什么?

3个回答

根据您发布的第一个命令输出中的MSRPC DCE-RPC IFID,目标似乎可能受到MS00-070CVE-2000-0544CVE-2001-0662CVE-2002-1561CVE-2003-0533CVE-2003-0818CVE-2004-0894、CVE-2005-1984(Nessus 19406 和19407以及 CANVAS ms05_043和 CORE IMPACT MSRPC SPOOLSS 缓冲区溢出)、CVE-2005-2119CVE-2006-0034/1184( Nessus 21334和 CORE IMPACT MSDTC 分配),或CVE-2007-1748您可以通过此处的Windows 网络服务内部文档获取有关使用epdump工具识别的某些 IFID 的粗略信息或有关每个 IFID 的深入信息:

如果您想要一个漂亮的 GUI 来枚举所有 IFID 并解释它们是什么,请查看来自 securityfriday.com 的名为RpcScan的旧工具。其中的下载链接不起作用,因此经过一番调查后,我能够在一个声名狼藉的位置找到该工具 -在这里- 但我能够通过使用' - 来验证 zip 文件中包含的 GPG 签名-verify 对 .sig 文件使用“--search-keys”作为生成的 keyid,编辑密钥以添加信任,最后使用关联的可执行文件验证签名。以防万一,您可能希望在一个令人震惊的来宾 VM 中运行它。

此外,由于动态分配,第一个 IFID 显示 SAMR 通过TCP端口 49179在 192.168.41.221 上运行这可以使用 rpctools 实用程序包中的 walksam 等工具进行查询。

在此处阅读有关 rpctools 的更多信息——https://web.archive.org/web/20070510223113/http: //www.bindview.com/Services/RAZOR/Utilities/Windows/rpctools1.0-readme.cfm

并在此处下载 zip 文件 - https://web.archive.org/web/20070510223113/http://www.bindview.com/Resources/RAZOR/Files/rpctools-1.0.zip

使用以下技术查询服务器:

C:\> walksam -p ncacn_ip_tcp -e 49179 192.168.41.221

在遍历 SAM 数据库时,还运行不带标志的 walksam(针对所有 SMB 主机)以获取更一般的用户信息。TrustedSec 还发布了一个执行 RID 循环的工具,这是 walksam 执行的技术之一。您可以在其 GitHub 页面上更深入地查看rid_enum.py

有很多工具与您通过这些 metasploit-framework 辅助模块收集的信息中的枢轴点相关。有些可以在这里找到——http: //winhackingexposed.com/tools.html——并在该书第 4 章关于 RPC 和 SMB 枚举的部分中进行了讨论。我还推荐 Chris McNab 的工作,因为我收集了很多从他的智慧书籍中获得这个答案的信息。

此 MSRPC 工具链的最佳现代等效工具是 CoreSec impacket工具有一个 rpcdump.py,但您可能会更好地使用他们的 ifmap.py 和 opmap.py 工具。这些将引导您使用其他工具,例如 samrdump.py、lookupsid.py,甚至可能是 services.py 或 secretsdump.py。这些都是纯粹从 MSRPC DCE-RPC 角度讲的,可能还有很多其他途径可以进入这台 Windows 机器或周围环境。

我假设你知道 RPC 是如何工作的。Metasploit 允许使用您列出的方法枚举 DCE-RPC 服务(DCOM 对象),除此之外是隐藏的。Endpoint Mapper 为您提供在 Endpoint Mapper 中注册的 DCOM 对象或服务列表。为什么 Endpoint Mapper 是因为它支持对服务的动态绑定。您在运行端点映射器后看到的 UUID(通用唯一标识符)列表被映射到唯一服务。所以你的下一步应该是在互联网(谷歌)上搜索这些服务,并找出它们是否在 RPC 上易受攻击(溢出)。

dcerpc管理模块从dcerpc服务的远程管理界面获取信息。由于它没有得到预期的响应,因此它正在打印Remote Management Interface Error: DCERPC FAULT => nca_s_fault_ndr您可以在/opt/metasploit/apps/pro/msf3/lib/msf/core/exploit/dcerpc_mgmt.rb位置检查探测代码。

最后一个tcp_dcerpc_auditor扫描 TCP 上可用的 RPC 服务。

在遍历 SAM 数据库时,还运行不带标志的 walksam(针对所有 SMB 主机)以获取更一般的用户信息。

TrustedSec 还发布了一个执行 RID 循环的工具,这是 walksam 执行的技术之一。您可以在其 GitHub 页面上更深入地查看 rid_enum.py。