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

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

为什么选择Leprechaun?

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

Leprechaun如何工作?

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

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

1.png

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

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

2.png

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

3.png

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

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

4.png

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

免责声明:务必仔细阅读

  • 本站为个人博客,博客所转载的一切破解、path、补丁、注册机和注册信息及软件等资源文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。

  • 本站为非盈利性站点,打赏作为用户喜欢本站捐赠打赏功能,本站不贩卖软件等资源,所有内容不作为商业行为。

  • 本博客的文章中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断.

  • 本博客的任何内容,未经许可禁止任何公众号、自媒体进行任何形式的转载、发布。

  • 博客对任何脚本资源教程问题概不负责,包括但不限于由任何脚本资源教程错误导致的任何损失或损害.

  • 间接使用相关资源或者参照文章的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 博客对于由此引起的任何隐私泄漏或其他后果概不负责.

  • 请勿将博客的任何内容用于商业或非法目的,否则后果自负.

  • 如果任何单位或个人认为该博客的任何内容可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明至admin@proyy.com.我们将在收到认证文件后删除相关内容.

  • 任何以任何方式查看此博客的任何内容的人或直接或间接使用该博客的任何内容的使用者都应仔细阅读此声明。博客保留随时更改或补充此免责声明的权利。一旦使用并复制了博客的任何内容,则视为您已接受此免责声明.

您必须在下载后的24小时内从计算机或手机中完全删除以上内容.

您使用或者复制了本博客的任何内容,则视为已接受此声明,请仔细阅读


更多福利请关注一一网络微信公众号或者小程序

一一网络微信公众号
打个小广告,宝塔服务器面板,我用的也是,很方便,重点是免费的也能用,没钱太难了,穷鬼一个,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9kY3ZwbXo=


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

发表评论

发表评论

一一网络-提供最优质的文章集合

立即查看 了解详情