官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序
生活中的很多烦恼,就是源于我们不能体谅,过分在意了自己的主张,互不理解,互不相让,伤了彼此的心灵。
—— 林徽因
前言:
hackmyvm打靶系列文章。
本次文章只用于技术讨论,学习,切勿用于非法用途,用于非法用途与本人无关!
所有环境均为在线下载的靶场,且在本机进行学习。
一、信息收集
netdiscover -r 192.168.56.0/24
nmap -sV -Pn -sC 192.168.56.133
访问页面,并没有什么收获,对其进行端口扫描
gobuster dir -u http://192.168.56.133/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x txt,php,html,cgi
这个notes.txt文件,写了一些东西,但是似乎现在没啥用处,备份文件字典也没有扫到(也可能是字典不足)
观察网页发现有数字倒数,最开始猜测是不是修改前端的数字使其倒数完毕然后会有新的线索,但是实验过后不行,之后抓包看看包里面有没有啥线索
抓包发现cookie的值,用过是base64编码后的,后面也是如此
解
解码后为false,因此修改为true并且在存储处添加刷新看看(有点ctf的味道了)
二、反弹shell
网页多了一个上传的按钮,点击进入即可上传shell文件,不过这里简单的做了一下黑名单过滤,只需要上传.phtml后缀的文件即可
上传后会自动跳转到http://192.168.56.133/assets/img/
后面反弹shell即可
获得稳定的shell:python3 -c "import pty;pty.spawn('/bin/bash');"
三、权限提升
cat /etc/passwd,有一个scpuser的用户
suid没有啥可以利用的,其他的权限都不够,内核版本算比较高的。。。这里有点打脑壳
在之前的notes.txt文件中
http://192.168.56.133/notes.txt
有测试文件备份没有删除,因此搜索一下备份文件
find / -name *backups*
python3起个http服务即可下载
python3 -m http.server 8080
打开后/etc目录下有个shadow文件里面放着密码(/etc/shadow就是存放密码的地方,因为这是备份文件)
john a.txt -format=crypt
登录scpuser用户
这里提权没有想出来办法,看了现有的文件中的密码都不行
读者们有兴趣可以咨询思考如何提权