前言
在第一部分我们讲过的基础知识:
使用凭证
dump凭据
执行命令
使用payload模块
在第二部分我们将介绍CME的内部数据库以及如何使用metasploit和Empire来拿到shell.
CME的内部数据库可以通过使用cme_db.py脚本进行查询,两件事情会自动记录到数据库中:
CME所访问到的所有主机
拥有管理员权限的每台主机上的所有可获取的凭据
此外CME还会记录哪些凭据对哪些主机具有管理员权限。这项功能是非常有用的,因为在一个大型的网络环境中,我们可以拿到的凭据的数量是十分大的,如果完全人工分析,工作量会非常大.
使用hosts命令我们可以查看所有我们交互过的主机
这个的输出会返回所有我们交互过的主机以及每台机器上我们已经获得的管理员凭据数目.如果我们想查看某台特定主机的凭据信息可以把主机名或者ip地址传递给hosts命令.
同时我们还可以查询每个已获得的凭据对哪些机器具有管理员权限.我们可以使用:creds命令来概览下:
输出返回凭据的ID,类型,用户名,密码以及该凭据具有管理员权限的机器的数量。要了解详细情况我们可以直接把用户名作为参数传递给creds命令.
拿到所有的shell
在第一部分中我们已经拿到了域管理员权限,我们就能拿到所有东西的shell啦!首先介绍如和拿到meterpreter session.
先来看看meterpreter_inject模块的说明.
现在我们在每台机器上运行meterpreter_inject模块,然后设置LHOST和LPORT参数(设为我们在 handler中设置的一样)
然后shell就到我们的metasploit中了…..
接下来介绍如何使用Empire获取所有的shell,首先看看模块的说明
empire_agent_exec模块需要Empire监听器的名称,然后使用Empire’s RESTful API来生成一个合法的加载器.首先启动EmpireRESTfulAPI
(你需要在cme.conf文件中配置EmpireRESTfulAPI的host,用户名,密码来对EmpireRESTfulAPI进行认证)
然后创建一个名为CMETest的监听器
准备工作已经搞定,下面来接shell吧……
这里我使用了一个-id的参数指定了管理员的凭据,因为前面CME会把所有的凭据都存到数据库中,所以当我们指定CredID时他们会从后端数据库自动到指定的凭据来验证指定的机器!接着使用了LISTENER参数指定了Empire监听器的名称,然后CME会自动的去连接EmpireRESTfulAPI,生成加载器并且执行他,整个过程都是自动化的.下面来看看我们的shell
总结
在这里介绍了如何在大型网络环境中使用CWE,通过使用这款工具可以节省我们很多时间。
本文由 安全客 翻译,作者:hac425
原文链接:https://byt3bl33d3r.github.io/getting-the-goods-with-crackmapexec-part-2.html

评论(0)