渗透测试之Vulnhub-DC2

Preface

本篇文章记录为vulnhub系列DC2,练习过程中也参考了其他大师傅的文章,加上个人的一些思路见解就有了此文,个人拙见定会有出错,还请各位师傅们指正。参考文章

Process

信息搜集

靶机搭建完成以后发现无法访问正常页面,根据提示应该是无法将地址解析到域名,我们需要在本地hosts文件末尾添加一条解析记录

靶机IP dc-2
hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将网址域名与其对应的IP地址建立一个关联,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。hosts文件的优先级是高于DNS解析的

使用插件可以看到所使用的框架为wordpress4.7.10,首页可以看到flag1,翻译以后就是需要登录,我是直接用dirsearch扫的目录,如下:

在这里插入图片描述
试过其他页面以后也都没有什么结果,那么就从登录页面下手。最开始我是测试了一下是否在sql注入,之后我又百度找了wordpress4.7.1的漏洞,但是大部分都是修改文章的洞,没有什么实质性进展。那么接下来就登录进去,刚开始我是爆破的admin账号的密码,但是没有爆出来,让flag1翻译过来里面提示以其他身份登录,那么就开始爆破用户名,有两个方法:

Username

Method1

直接使用burpsuite爆破,这个就需要看自己的字典了,我用的是大佬给的字典,成功爆破出来了三个用户名(需要字典的师傅可以下方留言或者私信我哈)
在这里插入图片描述

Method2

这个方法是看过其他师傅的文章以后才知道的,wpscan是专门用于扫描爆破wordpress的工具,kali里面自带的有。这里说一下payload里面的参数作用,其他详细参数还请师傅们百度或者查看帮助文档,但是我看的时候有些文章的选项参数都比较旧,所以还是建议help参考选项帮助吧。

wpscan --url http://dc-2 -e u

–url:指定网站的url
-e:枚举
u:枚举用户名
-U:爆破时指定的用户名
-P:爆破时指定的密码字典

结果:
在这里插入图片描述

Password

最开始的时候我是用burpsuite让三个用户的密码都试了一遍,但是一个都没有爆破出来,后来看其他师傅的文章才知道flag1里面的cewl是一个工具。这里简单说一下,cewl工具就是爬取网站信息然后生成一个用于爆破用户名密码的字典,这里写下生成密码的payload,其他用法及详细介绍还请师傅们百度一下。

cewl http://dc-2 w dc-2_password

dc-2_password为要保存的搜集结果的文件名

接下来就结合wpsan里面的爆破模块开始爆破。当然都搜集到字典了同样可以使用burpsuite来进行爆破,不过方法都一样,所以这里就只写一下wpsan的爆破结果吧。

wpscan --url http://dc-2 -P dc-2.password -U admin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

U1: tom P​1: parturient
U​2: jerry P2: adipiscing

最先爆破的是admin用户,但是没有爆破出密码,而且flag1里面也提示了用其他用户登录,就又试了另外两个用户,然后就成功得到密码,接下来登录进去直接找到flag2
在这里插入图片描述

翻译过来就是:如果您无法利用WordPress并采取捷径,那么还有另一种方法。希望您找到了另一个切入点。

用nmap扫描的时候看到靶机还开放了ssh端口,看来是要用ssh登录,不过这里吐槽一下:查看flag2只能jerry用户才能查看,而登录ssh只有tom用户能登录,看来每个信息都有用啊,这也是信息搜集的重要性。

Getshell&提权

根据提示直接用ssh登录,而且尝试以后发现只有tom用户能登陆成功,看下面就知道原因了。由于靶机更换了ssh默认端口,所以连接到时候需要指定端口

ssh -p 7744 tom@IP

登录进去以后发现当前目录下有flag3.txt,但是cat命令不能用,而且绝大部分命令都用不了,于是就查看了一下当前shell,发现是rbash,这里简单介绍一下rbash:

rbash:全称restrict bash,即受限制的bash,受限 shell 是 LinuxShell 限制一些 bash shell 中的功能,并且是从名字上很清楚。 该限制很好地实现了命令以及脚本在受限 shell 中运行。 它为 Linux 中的 bash shell 提供了一个额外的安全层。

查看一下环境变量路径
在这里插入图片描述
然后就用ls查看一下哪些命令可用
在这里插入图片描述
emmmm,先说一下刚开始我自己的思路:看到既然有less命令,那么直接用less查看flag3
在这里插入图片描述
意思应该是需要切换为jerry账号,也就是jerry的权限应该要比tom的高,不过我当时并没有着急切换账号。百度查看rbash一般情况下命令里面是应该不能包含”/“斜杠的,但是既然这里可以包含,那么就直接查看其他目录文件。果不其然,在/home目录下发现了jerry目录,而且里面还有flag4,那么还是用less查看
在这里插入图片描述
只看翻译的话应该是没有什么提示了,但是注意英文中有一个git,后来看其他师傅的文章发现是git提权,但是当时的我并不知道。既然可以用vi命令,那么我就直接试着在html目录下写shell,但是保存的时候才发现没有写入权限,然后看了下passwd和shadow文件以后也没有什么进展。然后就去看了大师傅们的文章,发现可以用vi/vim绕过rbash,这里放下命令

vi test
:set shell=/bin/bash
:shell

首先随便vi创建一个文件,进入以后直接在命令模式键入冒号设置shell为标准bash,然后再次键入冒号输入shell,我理解的作用是在当前vi环境下设一个标准shell,然后再在当前vi里面调用设置的shell,这点在exit退出标准shell以后会回退到vi里面就可以发现。然后还需要再添加一下环境变量

export PATH=$PATH:/usr/bin
export PATH=$PATH:/bin

然后就直接切换jerry用户
在这里插入图片描述
本来是想用SUID提权的,但是发现常见的方法比如:find、nmap并没有SUID权限,然后再结合flag4里面的提示,用sudo -l看到git有root权限,并且不需要密码
在这里插入图片描述
然后直接用git获取root权限

sudo git -p
!/bin/bash

我理解的是因为git具有root权限,所以直接进入git交互界面,需要输出信息比较多的,其他选项好像都不适用,然后再在git缓冲区调用bash,这样就是以root身份调用的shell了。不过需要说一下的是,我用的ssh终端是Fluent Terminal,进入git缓冲区交互界面需要小窗,全屏窗口会直接输出全部内容,无法进入缓冲区。使用MobaXterm测试过后发现也是这样,这点确实需要注意一下。
获得root权限以后目的其实就已经达成了,但还是看一下最后的flag吧
在这里插入图片描述
至此本次渗透测试练习就完成啦!

Ending

测试过程中难免会去查看其他师傅们的方法,文中我只放了主要参考文章的链接,同时也谢谢其他参考文章的师傅们的付出。文中个人的思路及见解难免会有错误,还请各位大师傅们幸苦指正。
此刻独坐图书馆,突然思绪万千,日常生活虽有些许枯燥,但也是为了日后的精彩!

人间烟火气,最抚凡人心

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HackerTenG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值