Leprechaun:渗透测试过程中用来将网络拓扑可视化的工具
source link: https://www.tuicool.com/articles/EjyMzm7
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
在获取组织网络的提升权限后,接下来你想要做什么?我想大多数的答案应该是,获取有价值的数据!如今市面上已有许许多多的工具和方法,可以帮助我们在渗透测试期间提升权限,以及查找有价值的数据。在本文中我想讨论Leprechaun,一款用于协助后渗透利用的新工具 。
为什么选择Leprechaun?
在我的许多渗透测试任务中,想要获取至少某种级别的提升权限通常只是一个时间问题,从而允许我在内部环境中枚举系统和服务。Bloodhound则是我个人最喜欢使用的工具之一,它可以帮助你快速识别权限提升路径,而且运行的效果也非常的好。但在黑盒渗透中,我们无法获知网络的实际情况,需要进行尽可能多的侦察,来构建网络图,识别有价值的服务器和资源,绘制数据点等。Leprechaun将会协助我们完成这一过程。
Leprechaun如何工作?
使用诸如Josh Stone的routehunter之类的工具,或者可以在多个主机上递归运行netstat的任意其他进程/工具,你可以提供Leprechaun输出并获得环境中数据流(或网络连接)的可视化表示。
使用命令和参数./leprechaun.rb -f results.txt -p all,你可以快速将netstat结果解析为以下图表:
在一个非常大的网络环境中,能够快速地映射出正在发生的事情可以为你节省大量的时间。使用以上的输出,你可以快速(并且非常容易地)推断出位于192.12.70.50的系统是一个非常重要的系统。因此,你需要将你的注意力集中在这个系统上,并确定这里到底发生了什么。
此外,如果你更喜欢文本输出,那么可以使用与上面相同的命令,并获得以下输出结果:
[root:vonahisec-kali:~/test]# ./leprechaun.rb -f results.txt -p all [*] Completed! Graph output file located at: ./network_diagram.png +---------------+-----------------------------+----------------------------------+ | Server | Number of connected clients | Highest traffic destination port | +---------------+-----------------------------+----------------------------------+ | 192.12.70.50 | 21 | 57488/tcp (1 clients) | | 192.12.80.115 | 5 | 64216/tcp (1 clients) | | 192.12.70.71 | 4 | 80/tcp (4 clients) | | 192.12.206.48 | 3 | 5555/tcp (3 clients) | | 192.12.71.90 | 2 | 50471/tcp (1 clients) | | 192.12.70.18 | 2 | 443/tcp (2 clients) | | 192.12.70.45 | 1 | 445/tcp (1 clients) | | 192.12.70.40 | 1 | 50958/tcp (1 clients) | | 192.12.70.16 | 1 | 64744/tcp (1 clients) | | 192.12.70.15 | 1 | 1688/tcp (1 clients) | +---------------+-----------------------------+----------------------------------+
在某些情况下,这可能会变得非常复杂,具体取决于网络的大小和环境中已建立连接的数量。它可能看起来会像下面这样:
因此,如果你只想要一个特定的端口,请将上述参数中的all替换为特定端口,例如80,甚至80,443,8080等,并获得以下输出和图表:
[root:vonahisec-kali:~/test]# ./leprechaun.rb -f results.txt -p 80 [*] Completed! Graph output file located at: ./network_diagram.png +--------------+-----------------------------+----------------------------------+ | Server | Number of connected clients | Highest traffic destination port | +--------------+-----------------------------+----------------------------------+ | 192.12.70.71 | 4 | 80/tcp (4 clients) | +--------------+-----------------------------+----------------------------------+
最后,如果你只对“常见”端口感兴趣,你可以使用硬编码端口列表,也可以根据自己的喜好对其进行修改。这是一个查看常见端口的示例。
[root:vonahisec-kali:~/Downloads/test]# ./leprechaun.rb -f netstat.txt -p common [*] Completed! Graph output file located at: ./network_diagram.png +--------------+-----------------------------+----------------------------------+ | Server | Number of connected clients | Highest traffic destination port | +--------------+-----------------------------+----------------------------------+ | 192.12.70.71 | 4 | 80/tcp (4 clients) | | 192.12.70.18 | 2 | 443/tcp (2 clients) | | 192.12.70.45 | 1 | 445/tcp (1 clients) | +--------------+-----------------------------+----------------------------------+
如果你对将要解析的示例netstat文件感到好奇,它可能是几行包含你从netstat获得的正常格式,如下所示(仅限IPv4):
TCP 192.168.19.25:445 192.168.80.115:64216 ESTABLISHED TCP 192.168.19.25:445 192.168.80.115:64924 ESTABLISHED TCP 192.168.19.58:445 192.168.80.115:64923 ESTABLISHED TCP 192.168.81.10:445 192.168.80.115:64933 ESTABLISHED TCP 192.168.81.31:445 192.168.80.115:64938 ESTABLISHED TCP 192.168.19.222:49319 192.168.70.15:1688 ESTABLISHED TCP 192.168.8.176:1433 192.168.70.16:64744 ESTABLISHED TCP 192.168.18.128:55276 192.168.70.18:443 ESTABLISHED TCP 192.168.81.31:59387 192.168.70.18:443 ESTABLISHED TCP 192.168.81.46:50115 192.168.70.40:50958 ESTABLISHED TCP 192.168.81.47:63280 192.168.70.45:445 ESTABLISHED TCP 192.168.81.47:63280 192.168.70.45:445 ESTABLISHED TCP 192.168.81.47:63280 192.168.70.45:445 ESTABLISHED TCP 192.168.10.177:49154 192.168.70.50:57488 ESTABLISHED TCP 192.168.10.178:49154 192.168.70.50:57491 ESTABLISHED TCP 192.168.10.179:49154 192.168.70.50:57489 ESTABLISHED TCP 192.168.10.181:135 192.168.70.50:57741 ESTABLISHED TCP 192.168.10.181:49154 192.168.70.50:57490 ESTABLISHED
总结
我想当你在执行渗透任务时,你应该不想花费数小时去搜寻数据,并尝试学习网络。虽然有时你可以向你的主要联系人询问可能有用的信息,但在短时间内快速了解更多关于网络的信息,可能会对你的客户展示出更大的价值。
在过去,我们使用类似的技术来定位重要的数据库管理系统,并最终能够通过定位SQL客户端和服务器来获取其他凭据,例如Microsoft SQL Server服务帐户。这对于识别其他重要资源(如文件服务器、内网、应用程序服务器等)也很有用。
你可以在GitHub存储库中获取Leprechaun: https://github.com/vonahi-security/leprechaun
*参考来源: vonahi ,FB小编secist编译,转载请注明来自FreeBuf.COM
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK