红日1靶场(灵境平台)完整渗透记录


一、环境信息

1.1 网络拓扑

1.2 机器信息

角色主机名IP系统
攻击机Kali192.168.188.134 (eth1)Kali Linux 2025.4
Web 服务器STU1192.168.242.97 / 192.168.52.141 / 10.0.2.15Windows 7 SP1 x64
域控OWA192.168.52.138Windows Server 2008 R2 SP1
域名-GOD.ORG-

1.3 灵境靶场开启

使用灵境靶场直接开启环境:


二、网络连通性排障(重点)

重点说一下灵境和 VMware 的网络互通,由于我的 VMware 并不能通过正常的桥接模式(正常的桥接模式设置请看:CSDN参考文章)与灵境网卡互通,所以通过直接修改文件达成桥接,具体如下:

2.1 第一阶段:不同网段,直接不通

Kali IP 为 192.168.188.113/24,靶场为 192.168.242.12,不在同一网段,ping 返回 Destination Host Unreachable。

处理:将 Kali 网卡改到 VMnet2(192.168.242.0/24 网段),Kali 获得 192.168.242.128。

2.2 第二阶段:同网段仍然不通

Kali 改到 192.168.242.128/24 后 ping 靶场依然不通。使用 nmap 跳过 ping 直接扫端口:

结果:0 hosts up,主机完全不可达。

2.3 第三阶段:扫描全网段,靶机不存在

结果只发现 3 台主机:

  • 192.168.242.1 — Windows 宿主机 (VMnet2)
  • 192.168.242.254 — VMware DHCP 服务
  • 192.168.242.128 — Kali 自己

靶机 242.12 根本不在 VMnet2 网络上。

2.4 第四阶段:关键发现——Windows 能通,Kali 不能

在 Windows 上 ping 靶场:

说明靶场是通过 灵境 VPN 隧道 访问的,不是通过 VMnet2 的本地网络。

2.5 第五阶段:分析 Windows 网络

关键网卡信息:

网卡IP说明
LingJing192.168.188.6/24灵境 VPN 虚拟网卡
VMware VMnet2192.168.242.1/24VMware Host-Only
VMware VMnet8192.168.93.1/24VMware NAT

结论:192.168.242.12 的流量是通过 LingJing VPN 隧道路由的,不是在 VMnet2 上直接可达的。Kali 挂在 VMnet2 上自然找不到靶机。

2.6 第六阶段:解决方案——VMware 桥接到 LingJing

思路

让 Kali 新增一张网卡,桥接到 LingJing VPN 适配器上,这样 Kali 就能通过灵境的 VPN 隧道访问靶场。

遇到的问题

VMware 虚拟网络编辑器中,VMnet0 桥接模式可以看到 LingJing,但点 OK/Apply 后配置丢失,其他 VMnet 根本看不到 LingJing 选项。

解决:直接编辑 .vmx 文件

绕过 VMware GUI 限制,在 Kali 虚拟机的 .vmx 文件中手动添加第二张网卡:

bridgeAdapter 的值需要和 Windows Get-NetAdapter 中显示的网卡名称完全一致。
可通过 PowerShell 查看:Get-NetAdapter | Format-Table Name, InterfaceDescription

配置网络

启动 Kali 后,eth1 出现但没有 IP。使用 DHCP 获取地址:

注意:Kali 2025+ 版本已移除 dhclient,改用 dhcpcd。

成功获取到 192.168.188.116/24,网关 192.168.188.1(灵境 VPN 网关)。

验证

成功!

最终网络拓扑

2.7 网络不稳定的处理

灵境 VPN 桥接偶尔断连,解决方法:

然后测试:ping 192.168.242.97 -c 2

如果还是不通,检查一下 Windows 上灵境 VPN 还连着没:ping 192.168.242.97

2.8 核心经验

步骤关键操作
1确认靶场 IP 实际通过 LingJing VPN 隧道访问,非本地 VMnet
2编辑 .vmx 文件,添加桥接到 LingJing 的网卡
3使用 dhcpcd 获取 VPN 网段 IP
4通过 VPN 隧道成功访问靶场

灵境靶场的网络是通过 VPN 隧道访问的,必须让攻击机也接入这个 VPN 网络才能通信。VMware GUI 可能无法选择 VPN 网卡进行桥接,但直接编辑 .vmx 文件可以绕过这个限制。


三、外网渗透:信息收集

3.1 Nmap 端口扫描

3.2 Dirsearch 目录爆破

关键发现:

  • /phpMyAdmin/ — 200 — 数据库管理后台
  • /phpinfo.php — 200 — PHP 信息页面
  • /beifen.rar — 网站备份文件
  • /yxcms — CMS 系统

弱口令 root/root 登录 phpMyAdmin:


四、phpMyAdmin 提权 GetShell

4.1 方法一:MySQL 全局日志写马(成功)

开启全局日志

设置日志记录地址

植入 Webshell

general_log 和 general_log_file 是可以通过 SQL 动态修改的,不受 secure-file-priv 限制。

蚁剑连接

image-20260308144021321

连接后确认权限为 NT AUTHORITY\SYSTEM。

发现备份文件

4.2 方法二:慢查询日志写马

查看慢查询权限

开启慢查询日志

设置慢查询日志路径

踩坑点:路径设置需要 / 而不是 \,否则保存日志路径会没有 \。

查询慢查询阈值

植入 Webshell

注意:SLEEP 的数值一定要大于慢查询阈值(默认 10 秒)。

蚁剑连接验证

4.3 方法三:INTO OUTFILE 写马(失败)

条件

  • Root 数据库用户(root 权限)
  • 网站绝对路径(确定有写入权限)
  • secure_file_priv 没有具体值

创建数据库和表

建库:

建表:

建字段:

插入 webshell 数据:

执行导出(报错)

报错 #1290:--secure-file-priv 限制,该参数为启动级别,无法通过 SQL 动态修改,需改配置文件重启 MySQL。在只有 phpMyAdmin 权限的情况下,此路不通。

INTO OUTFILE 写马条件

4.4 MySQL 提权相关辅助操作

查看数据目录

查看用户权限

查看写入权限

  • NULL — 不允许导入导出
  • "" 或 "/" — 允许任意目录
  • 指定路径 — 仅限该目录

读取文件

4.5 确认系统权限


五、内网渗透准备

5.1 关闭目标靶机防火墙

5.2 Cobalt Strike 4.7 上线尝试(因网络限制未成功)

CS 部署

用的是天狐渗透工具箱中的

中途 Kali IP 从 192.168.188.116 更换为 192.168.188.134;靶机 IP 从 192.168.242.12 更换为 192.168.242.97。

Windows 客户端连接:

创建监听器与生成 Payload

保存生成的后门:

蚁剑上传 beacon.exe 到靶机:

CS 上线失败原因

网络环境限制——只能 Kali 单向 ping 通靶机,靶机无法回连 Kali:

结论:在靶机单向不可达 Kali 的情况下,CS 的初始上线方式都用不了。


六、Metasploit 上线(bind_tcp 正向连接)

6.1 为什么用 bind_tcp

方向是否可达
Kali → 靶机✅ 通过 LingJing VPN
靶机 → Kali❌ 灵境 VPN 不允许反向路由

Metasploit 的 bind_tcp 可以直接从攻击机连接目标,不需要已有 session,不需要靶机回连。

6.2 生成木马

6.3 蚁剑上传并执行

注意:蚁剑终端直接执行 bind.exe 不会在后台运行,必须用 start /b。

确认监听:

6.4 Kali 连接

成功获得 meterpreter session!

6.5 基础信息确认

常用命令:

getuid # 查看当前权限

sysinfo # 系统信息

ipconfig # 网络配置

ps # 进程列表

hashdump # 导出密码哈希

screenshot # 截屏

shell # 进入 cmd

靶机三张网卡:

网卡IP用途
Intel #510.0.2.15/24NAT 出网
Intel #4192.168.242.97/24外网(攻击入口)
Intel #3192.168.52.141/24内网域网段

到目前为止拿下的只是外网 Web 服务器(STU1):


七、内网渗透:拿下域控

7.1 进程迁移与密码哈希提取

hashdump 失败是因为 meterpreter 是 x86,需要迁移到 x64 的 SYSTEM 进程:

7.2 内网信息收集

添加内网路由

域信息收集

ARP 表发现域控:

IP说明
192.168.52.138域控(OWA)
192.168.52.141当前靶机(自己)

net user /domain 等命令报错 1355(DNS 无法联系域控),不影响后续渗透。

7.3 扫描域控端口

7.4 抓取域凭据(Mimikatz/Kiwi)

域控 445 开放,可以用 PTH 打。但先需要域用户的凭据(本地哈希打不了域控)。

回到 Web 靶机 session,用 mimikatz 抓内存中的域密码:

抓到域管明文密码:

用户域密码NTLM Hash
AdministratorGODhongrisec@2025ad8b1b80e5d43bd61ab6796242bc7daa
liukaifeng01STU1hongrisec@2025ad8b1b80e5d43bd61ab6796242bc7daa

7.5 PSExec 横向移动打域控

第一次尝试:bind_tcp(失败)

认证成功但 bind handler 连不上,域控防火墙拦截了入站连接。

第二次尝试:通过 session 1 跳板 reverse_tcp(成功)

域控 SYSTEM 权限到手!

7.6 域控信息提取

域控本地管理员哈希:

用户NTLM Hash
Administrator2e8b24e00bd703e52cfe327a072006b0

八、最终战果

8.1 Sessions

8.2 获取的凭据汇总

用户域密码NTLM Hash
AdministratorGOD (域管)hongrisec@2025ad8b1b80e5d43bd61ab6796242bc7daa
liukaifeng01STU1 (本地)hongrisec@2025ad8b1b80e5d43bd61ab6796242bc7daa
AdministratorOWA (域控本地)-2e8b24e00bd703e52cfe327a072006b0

8.3 完整攻击链


九、关键知识点总结

9.1 写 Webshell 的三种方式对比

方式条件能否动态修改结果
INTO OUTFILE受 secure-file-priv 限制❌ 需改配置重启 MySQL失败
全局日志写马general_log_file 可控✅ SQL 语句直接修改成功
慢查询日志写马slow_query_log_file 可控✅ SQL 语句直接修改成功

9.2 正向 vs 反向连接

类型方向适用场景
Reverse (反向)靶机 → 攻击机靶机能出网回连攻击机
Bind (正向)攻击机 → 靶机靶机不能出网,攻击机能到靶机

9.3 MSF 跳板技术

9.4 Mimikatz 抓密码

注意:如果 meterpreter 是 x86 运行在 x64 系统上,hashdump 可能失败,
需要 migrate 到 x64 进程后再操作。

9.5 Windows 防火墙命令

适用于 Windows Vista / Server 2008 及以上版本。XP 使用 netsh firewall。