前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透测试之Vulnhub-DC2

渗透测试之Vulnhub-DC2

作者头像
TenG
发布2021-12-07 17:14:55
3740
发布2021-12-07 17:14:55
举报
文章被收录于专栏:网安菜鸟成长记

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参考选项帮助吧。

代码语言:javascript
复制
wpscan --url http://dc-2 -e u

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

结果:

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

Password

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

代码语言:javascript
复制
cewl http://dc-2 w dc-2_password

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

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

代码语言:javascript
复制
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默认端口,所以连接到时候需要指定端口

代码语言:javascript
复制
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里面就可以发现。然后还需要再添加一下环境变量

代码语言:javascript
复制
export PATH=$PATH:/usr/bin
export PATH=$PATH:/bin

然后就直接切换jerry用户

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

本来是想用SUID提权的,但是发现常见的方法比如:find、nmap并没有SUID权限,然后再结合flag4里面的提示,用sudo -l看到git有root权限,并且不需要密码

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

然后直接用git获取root权限

代码语言:javascript
复制
sudo git -p
!/bin/bash

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

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

至此本次渗透测试练习就完成啦!

Ending

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Preface
  • Process
    • 信息搜集
      • Username
      • Password
    • Getshell&提权
    • Ending
    相关产品与服务
    网站渗透测试
    网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档