首页
社区
课程
招聘
[原创]VMWare安装破解FortiGate7.4.2
发表于: 2024-12-13 14:45 2236

[原创]VMWare安装破解FortiGate7.4.2

2024-12-13 14:45
2236

可以在以下地址进行下载虚拟机镜像

https://fortiweb.ru/en/download/FortiGate/

下载 New deployment of xxxx 的 zip 压缩包,比如 FGT_VM64-v7.4.2.F-build2571-FORTINET.out.ovf.zip 解压之后双击 .ovf 文件,用 vmware station 导入虚拟机即可.

image-20241202095347356

导入后将虚拟机网卡绑定到 NAT 网卡 (默认是物理桥接,理论上应该也没有问题).

image-20241202095502405

启动后使用 admin + 空密码登录系统,按提示设置 admin 账户密码,然后给网卡配置 ip,以及允许访问的服务/端口,端口配置如下(NAT网段为 192.168.137.0/24)

image-20241202095623599

如果访问WebUI发现需要联网激活(没有离线license),则仍需通过命令行让FortiGate能够访问Internet。

本例中默认网关设置为192.168.137.2,并将port1设置为互联网访问接口。请根据需要修改。

image-20241202104726586

未授权时,FortiOS GUI 允许您使用 FortiCare 帐户凭据从 FortiCare 下载永久 VM 试用许可证。在 FortiGate VM 许可证页面中,对于“您将如何授权此 VM?”,选择“评估许可证”

img

image-20241202105325471

运行以下命令来检查永久虚拟机试用License是否有效:

image-20241202105508281

开启sslvpn web管理

image-20241213143233198

image-20241213143319168

挂载.vmdk磁盘

使用getrootfskey.py从内核( flatkc)检索 ramdisk 加密密钥并解密rootfs.gz

解压bin.tar.xz以访问/bin/init二进制文件

修补/bin/init以禁用之前发现的完整性检查

将我们的工具部署到/bin

重新打包bin.tar.xz,替换为rootfs.gz

调试 FortiGate 内核以禁用 ramdisk 签名检查。

二进制程序位于虚拟机磁盘文件中,使用 vmware workstation (Linux 虚拟机)挂载 fortinet 虚拟机的磁盘文件,在虚拟机中挂载分区。

主要业务二进制位于 FORTIOS 分区的 rootfs.gz 打包文件中。

提取rootfs .gz之后发现是一个加密的文件,对其进行解密,首先我们extlinux.conf文件发现,其通过flatkc加载rootfs .gz,因此我们先使用vmlinux-to-elf去转换此文件。

image-20241202143212100使用getrootfskey.py获取加密种子

使用decrypt_rootfs和加密种子解密rootfs .gz,这样就完成的对rootfs .gz的解密,具体原理可以参考下面的链接。

先使用gzip解压解密的文件,然后在使用cpio解压文件。

为了添加自定义程序(固件)我们要patch固件的完整性检查,在/bin/init文件中。

修补之前

image-20241202155448037修补完成


为了获得合适的 shell,我们将使用嵌入式设备中经常遇到的流行工具:busybox。它将为我们提供与操作系统交互的基本 Unix 命令。我们将安装一个绑定 shell,其目的是将busybox连接到套接字,以便我们能够远程连接到 FortiGate。

然后下载busybox和gdbserver,最终我们得到下面的4个文件。把文件放入/bin进行重新打包

然后重新打包加密固件

卸载挂载,然后替换原来的磁盘文件。

打包完成后,直接进行内核调试,在fgt_verify_initrd函数下断点,修改下面的r12d寄存器为0就可以了。

通过这种方法可以重新打包固件获取root shell,但是这种方法有其局限性:每次重启系统都要进行内核调试,因此就有了下面的方法。

前面的提取解密和patch文件步骤都是一样的,只不过添加了一步修改内核来patch掉文件检测。

通过Catalpa文章得知,我们知道linux内核在引导映像那个位置,以下就是我测试的FortiGate版本的内核信息。定位此段代码的特征码564889F748


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2024-12-13 15:57 被l140w4n9编辑 ,原因:
收藏
免费 29
支持
分享
最新回复 (24)
雪    币: 5488
活跃值: (2532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错!!!感谢分享
2024-12-13 16:29
0
雪    币: 439
活跃值: (825)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
不错!!!感谢分享
6天前
0
雪    币: 8117
活跃值: (4909)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
专业 精彩文章 
6天前
0
雪    币: 31
活跃值: (295)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
very good,路过
6天前
0
雪    币: 8377
活跃值: (4247)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢分享
6天前
0
雪    币: 11
活跃值: (1996)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
Thanks for sharing
5天前
0
雪    币: 1499
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
不错!!!感谢分享
5天前
0
雪    币: 31505
活跃值: (1437)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不错!!!感谢分享!
5天前
0
雪    币: 61
活跃值: (2420)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
10
感谢分享
5天前
0
雪    币: 7
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
不错!!!感谢分享
5天前
0
雪    币: 3401
活跃值: (3037)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
是飞塔的,对吧
4天前
0
雪    币: 236
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
感谢分享
4天前
0
雪    币: 97
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14
感谢分享
4天前
0
雪    币: 0
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
感谢分享
3天前
0
雪    币: 215
活跃值: (243)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
感谢分享
3天前
0
雪    币: 2314
活跃值: (3067)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
感谢分享
3天前
0
雪    币: 19105
活跃值: (2417)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
感谢分享
3天前
0
雪    币: 4
活跃值: (128)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
感谢share
3天前
0
雪    币: 207
活跃值: (377)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
感谢大佬的分享
3天前
0
雪    币: 2206
活跃值: (1723)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
感谢大佬的分享,请收下我的赞美!
3天前
0
雪    币: 9
活跃值: (1364)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
大佬厉害,感谢分享
3天前
0
雪    币: 5921
活跃值: (643)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
大佬厉害
3天前
0
雪    币: 286
活跃值: (538)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
大佬厉害
2天前
0
雪    币: 4531
活跃值: (1730)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
大佬厉害
2天前
0
游客
登录 | 注册 方可回帖
返回
//