Leprechaun:渗透测试过程中用来将网络拓扑可视化的工具

Track-SSG   ·   发表于 2019-07-10 10:57:43   ·   漏洞文章

在获取组织网络的提升权限后,接下来你想要做什么?我想大多数的答案应该是,获取有价值的数据!如今市面上已有许许多多的工具和方法,可以帮助我们在渗透测试期间提升权限,以及查找有价值的数据。在本文中我想讨论Leprechaun,一款用于协助后渗透利用的新工具 。

为什么选择Leprechaun?

在我的许多渗透测试任务中,想要获取至少某种级别的提升权限通常只是一个时间问题,从而允许我在内部环境中枚举系统和服务。Bloodhound则是我个人最喜欢使用的工具之一,它可以帮助你快速识别权限提升路径,而且运行的效果也非常的好。但在黑盒渗透中,我们无法获知网络的实际情况,需要进行尽可能多的侦察,来构建网络图,识别有价值的服务器和资源,绘制数据点等。Leprechaun将会协助我们完成这一过程。

Leprechaun如何工作?

使用诸如Josh Stone的routehunter之类的工具,或者可以在多个主机上递归运行netstat的任意其他进程/工具,你可以提供Leprechaun输出并获得环境中数据流(或网络连接)的可视化表示。

使用命令和参数./leprechaun.rb -f results.txt -p all,你可以快速将netstat结果解析为以下图表:

https://image.3001.net/images/20190703/1562111161_5d1becb9744bf.png

在一个非常大的网络环境中,能够快速地映射出正在发生的事情可以为你节省大量的时间。使用以上的输出,你可以快速(并且非常容易地)推断出位于192.12.70.50的系统是一个非常重要的系统。因此,你需要将你的注意力集中在这个系统上,并确定这里到底发生了什么。

此外,如果你更喜欢文本输出,那么可以使用与上面相同的命令,并获得以下输出结果:


在某些情况下,这可能会变得非常复杂,具体取决于网络的大小和环境中已建立连接的数量。它可能看起来会像下面这样:

https://image.3001.net/images/20190703/1562111184_5d1becd09844e.png

因此,如果你只想要一个特定的端口,请将上述参数中的all替换为特定端口,例如80,甚至80,443,8080等,并获得以下输出和图表:


https://image.3001.net/images/20190703/1562111209_5d1bece92a446.png

最后,如果你只对“常见”端口感兴趣,你可以使用硬编码端口列表,也可以根据自己的喜好对其进行修改。这是一个查看常见端口的示例。


https://image.3001.net/images/20190703/1562111226_5d1becfa5fca0.png

如果你对将要解析的示例netstat文件感到好奇,它可能是几行包含你从netstat获得的正常格式,如下所示(仅限IPv4):


总结

我想当你在执行渗透任务时,你应该不想花费数小时去搜寻数据,并尝试学习网络。虽然有时你可以向你的主要联系人询问可能有用的信息,但在短时间内快速了解更多关于网络的信息,可能会对你的客户展示出更大的价值。

在过去,我们使用类似的技术来定位重要的数据库管理系统,并最终能够通过定位SQL客户端和服务器来获取其他凭据,例如Microsoft SQL Server服务帐户。这对于识别其他重要资源(如文件服务器、内网、应用程序服务器等)也很有用。

你可以在GitHub存储库中获取Leprechaun:https://github.com/vonahi-security/leprechaun

 *参考来源:vonahi,FB小编secist编译,转载来自FreeBuf


打赏我,让我更有动力~

0 条回复   |  直到 2019-7-10 | 1183 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.