一、概要
靶机:192.168.1.103
攻击机:192.168.1.101
靶机下载地址:https://download.vulnhub.com/ica/ica1.zip
参考文章:https://blog.youkuaiyun.com/weixin_44830645/article/details/123520118
二、主机发现
靶机这里直接给出了ip地址,其实不用再去进行主机发现了
也可以使用arp-scan扫描一下
三、信息收集
简单扫描开启的端口
可以看到靶机开放了22、80、3306、33060四个端口
四、渗透测试
开放了web服务就先查看一下web服务的信息
是个这样子的页面
这里可以看到这是一个完整的系统,并且给出了系统的版本
根据这个版本信息,我们可以尝试搜索一下相关漏洞
1、漏洞利用
搜索一下漏洞信息发现存在一个未授权漏洞
尝试利用一下这个漏洞试试
locate定位一下漏洞文件位置
# Exploit Title: qdPM 9.2 - DB Connection String and Password Exposure (Unauthenticated)
# Date: 03/08/2021
# Exploit Author: Leon Trappett (thepcn3rd)
# Vendor Homepage: https://qdpm.net/
# Software Link: https://sourceforge.net/projects/qdpm/files/latest/download
# Version: 9.2
# Tested on: Ubuntu 20.04 Apache2 Server running PHP 7.4
The password and connection string for the database are stored in a yml file. To access the yml file you can go to http://<website>/core/config/databases.yml file and download.
翻译:
# 漏洞利用标题:qdPM 9.2 - 数据库连接字符串和密码泄露(未经身份验证)
# 日期: 03/08/2021
# 漏洞利用作者:Leon Trappett (thepcn3rd)
# 供应商主页: https://qdpm.net/
# 软件链接:https://sourceforge.net/projects/qdpm/files/latest/download
# 版本:9.2
# 测试于: 运行 PHP 7.4 的 Ubuntu 20.04 Apache2 服务器
数据库的密码和连接字符串存储在 yml 文件中。要访问 yml 文件,您可以转到 http://<website>/core/config/databases.yml 文件并下载。
2、信息泄露
漏洞信息指出:数据库的密码和连接字符串存储在yml文件中
访问这个地址可以下载http://<website>/core/config/databases.yml
直接得到账号密码信息
使用这个账号密码连接一下mysql
把用户名和密码都保存一下
3、ssh账号密码破解
但是这里的密码经过了base64加密,需要先解密一下
同时这里的用户名也都要改成小写的
用hydra破解一下
hydra -L user -P pass ssh://192.168.1.103
得到两个可用的账号和密码
分别ssh登录一下这两个用户
前面连接错误的话,可以使用
ssh-keygen -R 192.168.1.103清除一下连接记录再去连接
当前目录下有一个文件,读取一下
这个账号可以直接获取一个flag
回到前面那个账号,查找漏洞获取第二个flag
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.
译文:
在我看来,在访问系统时存在一个弱点。
据我所知,可执行文件的内容是部分可见的。
我需要找出其中是否存在漏洞。
五、提权
查找一下有root权限的可执行文件
明显发现这个可执行文件比较可疑
直接cat的话乱码太多,使用strings获取一下其中的命令字符串信息
明显的cat /root/system.info存在漏洞的可能
这里利用的点在于:可以对cat进行伪造
在tmp文件夹中伪造一个cat命令
使用export命令将其添加到环境变量中,伪造的内容为/bin/bash
为其赋一下执行权限,查看一下环境变量是否写入进去
拿到flag
六、新知识总结
searchsploit 漏洞搜索目标
从本地查找相关利用信息
locate 文件名
定位文件位置
hydra -L 用户名文件 -P 密码文件 ssh://ip
利用hydra尝试ssh密码组合
strings 目标文件
读取其中的字符串
export伪造环境变量
echo "/bin/bash" > /tmp/cat
export PATH=/tmp:$PATH
把/bin/bash写入到/tmp中的cat,再把这个cat加入到环境变量,达到混淆的效果