DC-2 靶场实操

靶场搭建


靶场部署
下载网址:https://www.vulnhub.com/?q=DC-

tips:强烈建议各位师傅们使用迅雷或idm要不然下载靶场将是一个十分痛苦的环节

之后环境搭建操作步骤一致故此处搭建环境以DC-1为例

将下好的压缩包解压,你就会看到一个.ova文件,用VMware将其打开即可打开过程中可能会遇到如下报错
在这里插入图片描述


点击重试即可

tips:将DC-1的配置改为net模式,更改网络适配器需要在虚拟机关闭时才能更改
在这里插入图片描述

相关知识

Hosts文件以及如何修改Hosts文件
Hosts文件

hosts文件是一个没有扩展名的系统文件。它的主要作用是保存域名与**ip**的映射关系。

hosts文件和DNS解析

在系统进行dns解析之前,会首先去hosts文件中查找。

hosts文件中,如果能够找到被访问域名的ip地址,就不会再向dns服务器发起请求。

文件位置

在 iOS 系统中中,hosts文件的位置为:~/private/etc;

在 Windows 系统中,hosts文件的位置为:C:\Windows\System32\drivers\etc;

rbash
rabsh简介
如果bash以rbash这个名字启动,或者是通过-r选项调用时,那么这个shell就会受限 受限shell(以下统称为rbash)和bash相同但以下情况是不允许rbash执行的;
1. 使用命令cd更改目录
2. 设置或者取消环境变量的设置(SHELL, PATH, ENV, or BASH_ENV)
3. 指定包含参数'/'的文件名
4. 指定包含参数' - '的文件名
5. 使用重定向输出'>', '>>', '> |', '<>' '>&','&>'

tips:由此可见在使用bash和rbash“权限”是相同的并不存在绕开后及提权的说法

绕过方法
  • 方法一

      vi绕过
    
#进入命令模式
:set shell=/bin/sh
:shell
export PATH=PATH:/bin:/sbin:/usr/bin:/usr/sbin  #设置环境变量

在这里插入图片描述

  • 方法二
BASH_CMDS[a]=/bin/sh; 
a  #调用/bin/sh命令解释器
/bin/bash   #使用bash命令解释器
export PATH=PATH:/bin:/sbin:/usr/bin:/usr/sbin  #设置环境变量

在这里插入图片描述

tips:这里简单介绍一下上述shell中的一些文件及对应用途

/bin:是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod 、tar等。

/sbin:一般是指超级用户指令**。**主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、rmmod、 runlevel、shutdown等。 /usr/bin:是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、wget等。

PATH里是否已经包含了这些环境变量。可以查看PATH,如果是:PATH=PATH:HOME/xxxx/bin则需要添加成如下: PATH=PATH:HOME/bin:/sbin:/usr/bin:/usr/sbin

cewl

Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qKLbLC5Y-1673624118746)(D:\ctfmd\DC靶场\DC-2\image\image-20230112103136404.png)]

wpscan

WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web开发人员扫描 WordPress漏洞并在他们开发前找到并解决问题。我们还使用了 Nikto ,它是一款非常棒的Web 服务器评估工具,我们认为这个工具应该成为所有针对 WordPress网站进行的渗透测试的一部分

常用指令

--update 更新到最新版本
--url | -u <target url> 要扫描的`WordPress`站点.
--force | -f 不检查网站运行的是不是`WordPress`
--enumerate | -e [option(s)] 枚举

信息收集

探测存活主机

nmap -sP IP/24

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ojK2NbDb-1673624118747)(D:\ctfmd\DC靶场\DC-2\image\image-20230111123423316.png)]

之后进行端口扫描

nmap -A -p- IP

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d04WD7ph-1673624118747)(D:\ctfmd\DC靶场\DC-2\image\image-20230111123635563.png)]

发现开放了80和7744两个端口,所以尝试网页访问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2REiPzfO-1673624118747)(D:\ctfmd\DC靶场\DC-2\image\image-20230111123713399.png)]

访问后发现无法正常进入

在这里插入图片描述

并且能够正常ping通说明靶机没什么问题,这个时候再次回到网页观察发现网站是以域名方式访问的,因为是本地部署,所以dns服务器定然无法正常解析返回域名所对应的IP,所以此时需要从hosts文件入手,对hosts文件进行修改如下:
在这里插入图片描述

tips:hosts文件修改,在windos中如果要切换为管理员权限实属有些小困难,所以我们将hosts文件托至桌面然后在进行更改即可

修改后保存即可进行正常访问了
在这里插入图片描述

指纹收集

在这里插入图片描述

目录扫描

在这里插入图片描述

点击红框中的url可以跳转至后台登录界面,测试弱口令无果;

搜集部分暂告一段落开始寻找flag

漏洞利用

flag1

利用域名成功访问网站后我们可以看到有一个flag选项点击查看获得第一个flag

在这里插入图片描述

你通常的单词列表可能不起作用,所以相反,也许你只需要被 cewl。

更多的密码总是更好,但有时您无法赢得所有密码。

以一个人的身份登录以查看下一个标志。

如果找不到,请以其他人身份登录。
flag2

提取flag1提示中的关键次:cewl、以一个人的身份登录

利用cewl爬取网站密码
在这里插入图片描述

利用wpscan扫描用户

wpscan --ignore-main-redirect --url 192.168.149.139 -e --force  

在这里插入图片描述

扫描出了三位用户,将三位用户编辑进入dc2user.txt中

vim dc2user.txt
admin
tom
jerry

之后继续配合cewl爬出的密码进行爆破

wpscan --ignore-main-redirect --url 192.168.149.139 -U dc2user.txt -P dc2pwd.txt -t 30

在这里插入图片描述

ok账户密码爆破完毕登录后查找flag

登录jerry的账户中发现了flag2
在这里插入图片描述

如果你不能利用WordPress并走捷径,还有另一种方法。

希望你找到另一个切入点。
flag3

根据flag2的提示我们还有另一种方法,这时候我们想起之前端口探测时还有一个开放的端口及774并且可以进行ssh

尝试了jerry发现无法登录这里之后又试了一下tom发现可以登录(密码和之前后台登录密码相同)

ssh tom@192.168.149.139 -p 7744

在这里插入图片描述

这里拓展一个工具hydra工具使用已生成的密码字典对已知的用户名进行ssh登录密码爆破

只是时间有点久

hydra -L dc2user.txt -P dc2pwd.txt -s 7744 -t 5 192.168.149.139 ssh

效果如下:
在这里插入图片描述

查看当前可以使用的命令

compgen -c 

在这里插入图片描述

我们发现这里有两个能够读取的命令(less和vi)使用vi查看flag3.txt

在这里插入图片描述

可怜的老汤姆总是追着杰瑞跑。也许他应该为他造成的所有压力而努力。

flag4

提取flag3中的提示(after jerry、su)所以我们尝试进入/home/jerry,这就需要我们绕过rbash去添加我们的命令这里提供两个方法,原理不是很明白的师傅可以看一下上面写的

  • 方法一

    BASH_CMDS[a]=/bin/sh; 
    a  #调用/bin/sh命令解释器
    /bin/bash   #使用bash命令解释器
    export PATH=PATH:/bin:/sbin:/usr/bin:/usr/sbin  #设置环境变量
    

在这里插入图片描述

  • 方法二

利用vi来绕过

在这里插入图片描述

这里回车后没有什么太大的视觉效果,不用关之后继续:shell即可,然后最后添加命令

在这里插入图片描述

读取flag

在这里插入图片描述

我们可以看到两种方式绕过都可以成功读取到flag

很高兴看到你已经走到了这一步 - 但你还没有回家。                                                                             
您仍然需要获得最终标志(唯一真正重要的标志!!!)。                                                                                   
这里没有提示 - 你现在只能靠自己了。 :-)                                                                                                           
继续 - 在这里 git out ta!!!
flag 5

flag4中说已经无提示,但回想起flag3中的提示su,然后又看到flag4中的git很明显需要我们提权

find / -perm -u=s -type f 2>/dev/null

在这里插入图片描述

git提权

利用sudo -l 显示出自己(执行 sudo 的使用者)的权限,但是在tom中我们我们没查到

在这里插入图片描述

此时登录jerry在次尝试发现git是root权限
在这里插入图片描述
之后

sudo git help config

在进入页面后在末行输入

/bin/sh

在这里插入图片描述

之后就会进入一个以root权限运行的shell,进入/root下读取flag即可

如下:

在这里插入图片描述

参考文章

(6条消息) 什么是Hosts文件以及如何修改Hosts文件_Chen4852010的博客-CSDN博客_hosts文件

/bin,/sbin,/usr/sbin,/usr/bin 目录之简单区别 - 腾讯云开发者社区-腾讯云 (tencent.com)

RBash - 受限的Bash绕过 - 腾讯云开发者社区-腾讯云 (tencent.com)

Kali Linux字典生成工具Cewl使用全指南 - FreeBuf网络安全行业门户

Kali(渗透工具):WPScan的使用(WordPress扫描工具) - 知乎 (zhihu.com)

git | GTFOBins

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值