一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:hackableII(10.0.2.52)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/hackable-ii,711/
二、信息收集
使用nmap主机发现靶机ip:10.0.2.52
使用nmap端口扫描发现,靶机开放端口:21、22、80
21端口:通过nmap扫描结果发现ftp存在匿名登录,登录ftp,下载里面的文件,未发现有用的信息
80端口:打开网站发现是apache2的默认页面,查看源码发现提示,对该网站进行目录爆破
使用gobuster工具对网站进行目录爆破,发现一个/files
目录
gobuster dir -u http://10.0.2.52 -x txt,php,html,bak --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
浏览器访问该目录,发现该目录里的文件和ftp里面的文件一样,怀疑ftp的文件夹就是该文件夹
三、漏洞利用
使用ftp上传webshell到文件夹,并使用浏览器刷新/files
目录,发现存在webshell文件
使用nc监听端口,点击webshell执行,反弹shell
获取交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
四、提权
查看是否存在特权命令,发现需要输入密码,我们没有www-data的密码
查看是否存在具有root权限的可利用的可执行文件,发现没有
查看/home
文件夹看一下存在哪些用户,是否可以进一步利用
发现important.txt
文件,查看该文件,发现提示我们执行/.runme.sh
脚本
执行/.runme.sh
脚本,获得shrek用户的md5加密的密码:shrek:cf4c2232354952690368f1b3dfdfb24d
使用在线网站解密得到shrek用户的密码:onion
使用su命令切换为shrek用户,使用sudo -l
命令查看特权命令,发现可以无密码以root权限执行/usr/bin/python3.5
命令
使用该命令进行提权
sudo /usr/bin/python3.5 -c 'import os; os.execl("/bin/sh", "sh", "-p")'
获取flag