34

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

 4 years ago
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结果解析为以下图表:

EzqIB3r.jpg!web

在一个非常大的网络环境中,能够快速地映射出正在发生的事情可以为你节省大量的时间。使用以上的输出,你可以快速(并且非常容易地)推断出位于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)             |
+---------------+-----------------------------+----------------------------------+

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

yyYveqB.jpg!web

因此,如果你只想要一个特定的端口,请将上述参数中的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)               |
+--------------+-----------------------------+----------------------------------+

jUbQrqv.jpg!web

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

[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)              |
+--------------+-----------------------------+----------------------------------+

ymiURnM.jpg!web

如果你对将要解析的示例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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK