• Dr4g0nb4ll靶机


    信息收集

    使用arp-scan生成网络接口地址,查看ip

    输入命令:

    arp-scan  -l
    

    image-20240711145931078

    nmap扫描端口开放

    TCP

    输入命令:

    nmap --min-rate 10000 -p- 192.168.187.184    //以最低10000的发包速率扫描全部端口
    

    可以看到目标只开放http的22和80端口

    image-20240711150148096

    UDP

    输入命令:

    nmap -sU  --min-rate 10000 -p- 192.168.187.184
    

    这边的udp扫描没有发现什么有用的信息

    image-20240711151010555

    nmap扫描端口信息

    输入命令:

    nmap -sT  -sC  -sV  -O  -p 22,80 192.168.187.184
    

    这边可以看到一些简单的端口基础信息,可以简单了解一下

    image-20240711151109545

    nmap漏洞脚本扫描

    输入命令:

    nmap --script=vuln -p 22,80 192.168.187.184
    

    这里的漏洞脚本扫描枚举出了一个子目录的文件名称,等下可以去看看。

    image-20240711151518450

    查看web端

    访问ip的80端口,可以看到界面如下,是一个龙珠的浏览介绍页面。浏览一下页面上的内容,没有发现有什么特别的内容

    image-20240711152023069

    image-20240711152052323

    查看页面源代码

    在这里面看了看,上面也没有很特殊的提示,几个图片的链接也都是引用的其他网站的。

    image-20240711152306754

    但是页面往下滚动半天没有到尽头,一直往下拉页面以后,发现最下面有隐藏的加密信息,看起来是一个加密的字符串,尝试破解一下

    字符串:VWtaS1FsSXdPVTlKUlVwQ1ZFVjNQUT09

    image-20240711161353141

    这里尝试了一些方法后,发现是用的base64加密的,不过存在套娃,还需要继续解密

    输入命令:

    echo 'VWtaS1FsSXdPVTlKUlVwQ1ZFVjNQUT09'|base64 -d
    

    image-20240711163455499

    最终解密三次,才拿到了一个信息字符串DRAGON BALL ,暂时还不清楚是做什么用的,先记下来

    image-20240711163536954

    目录爆破

    输入命令:

    dirsearch -u 192.168.187.184
    

    这边发现了一个robots.txt,之前的nmap漏洞扫描也扫到了这个目标,等下去查看

    image-20240711153122920

    输入命令:

    gobuster dir  -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,jpg,pdf  -u http://192.168.187.184
    

    这边扫描到了robots.txt,还有一个新的图片,可以先记一下

    image-20240711153331737

    查看目录

    发现加密字符串

    我们现在来查看相关的目录信息,最先访问的肯定是刚刚的robots.txt,可以看到一串字符串,看这个格式很可能是base64加密过的,需要破解一下

    image-20240711153807362

    输入命令:

    echo 'eW91IGZpbmQgdGhlIGhpZGRlbiBkaXI='|base64 -d
    

    这里解密后显示我们找到了隐藏目录,之前我们通过解密发现了一个DRAGON BALL的解密字符,当时不清楚作用,看这样子有可能就是隐藏目录,我们等下访问试试

    image-20240711154338291

    查看DRAGON BALL

    这里成功发现了其他的文件信息

    image-20240711164830441

    自动化目录分析

    先查看secret.txt文件,里面有一些类似目录的样式,也许是要用来放到哪一个路径下才有信息,我们这里可以一个个尝试,但是很花费时间。也可以借助工具来简单实现一下

    image-20240711165150256

    在本地上我们新建一个txt文件,然后把这些可能的目录信息放进去

    image-20240711170014297

    这里可以使用替换的方法快速构造url访问地址

    image-20240711172629618

    这里将有可能的目录组合方式全部加上后,我们可以使用curl来测试网页返回值

    curl

    输入命令:

    while  read  url < 1.txt ;do curl "$url";done     
    

    命令分析:

    while read url < 1.txt //将文件中的每一行信息,读取并赋值给url参数
    while read url < 1.txt ;do curl “$url”;done //每读取一行信息后,使用curl来访问url参数,即文件中每一行的地址信息

    执行命令后可以看到回显,但是比较乱,需要优化一下命令

    image-20240711174253968

    输入命令:

    while  read  url ;do curl  "$url" -o /dev/null -s -w "%{url_effective} status:%{http_code}\n" ;done <1.txt
    //-s  —静默模式,不会输出无关中间过程信息
    //-w  “%{url_effective}” — 输出目标网址
    //status:%{http_code}   状态码结果输出
    

    但是可以看到除了主页面能访问到以外,其他的目录拼接后,都是无法访问的地址,这里暂时没有新的发现了(整了半天被套路到了)

    image-20240712093508335

    查看登录页面

    image-20240712094234190

    这里面出现了一个登录页面,打开可以查看一下

    image-20240712094326208

    这里显示到了一个登录页面,标题有一个xmen,似乎是用户名,但并不确定可以尝试一下弱密码。

    image-20240712094352222

    这里尝试一些弱密码后,没有成功进入,点击下方的download,显示界面也是无法访问,但是url中弹出了aj.jpg的字样,这好像是提示

    image-20240712095025418

    查看图片

    除了刚刚的目录部分,我们之前还看到了一个图片,打开看到是这个样子,按照刚刚的提示,或许图片中藏有一些信息也说不定,下载下来看看

    image-20240711154643630

    下载图片

    输入命令:

    wget http://192.168.187.184/aj.jpg
    

    可以看到已经将图片下载到了本地上

    image-20240711154931193

    尝试图片破解

    stegseek

    输入命令:

    stegseek aj.jpg /usr/share/wordlists/rockyou.txt 
    

    这个工具可以用来破解图片隐写,用法:stegseek+图片名称+字典(如果没有这个工具可以先试用apt-install stegseek安装一下)

    这里可以看到我们成功发现了密码,以及相关的隐写文件,好像还是ssh的私钥文件

    image-20240711160348865

    破解后的文件已经存放在了当前的目录下

    image-20240711160704105

    获取ssh私钥

    我们打开查看一下,确实就是私钥的密码文件

    image-20240711160926679

    这里我们将文件名称改一下,改为ssh_rsa,便于后面使用

    image-20240712100135299

    ssh私钥链接

    这里我们有了私钥,但是还没有用户名,尝试了一些root,admin的用户名,但是无法登陆,重新回顾一下之前所找到的一些信息,之前的登录页面有一个xmen的名称,拿来尝试一下,发现成功登录

    image-20240712100209106

    拿到flag1

    在当前登录的目录下,可以发现一个local.txt,打开后可以看到flag信息

    image-20240712100508079

    提权

    sudo提权

    查看是否有以root身份执行的命令

    输入命令:

    sudo  -l   //用来查找当前用户是否存在可以以root身份执行的命令
    

    但是这里需要密码,但是我们用的私钥登录,暂时放弃

    image-20240712100649205

    suid提权

    输入命令:

    find  /  -perm   -4000  2>/dev/ull   //查找当前系统存在的拥有root属主权限的二进制文件
    

    这里看到了一个可能存在的提权文件,我们去查看一下

    image-20240712101004950

    这里面存在2个文件,demo.c文件里面显示存在系统命令ps。shell文件不能查看,会显示乱码,但是运行后会发现也会执行ps命令

    image-20240712101916486

    环境变量劫持

    这里可以尝试一下环境变量劫持,首先查看我们当前目录的所属组,发现这一级是root的所属组,上一级目录是我们的所属组

    image-20240712103122411

    返回上一级,建立一个新文件,名称要和刚刚的系统命令一致,写进去一个/bin/bash

    image-20240712103339965

    赋予文件可执行权限

    这里要记得给文件赋予可执行权限

    image-20240712105022548

    配置环境变量

    返回到shell文件的目录,可以查看一下这个目录的环境变量

    输入命令:

    echo $PATH
    

    image-20240712102810722

    然后把我们刚刚建立ps文件的绝对路径,添加到环境变量中,(要添加在最前面,环境变量的引用是从前往后开始的)

    输入命令:

    export PATH=/home/xmen:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:PATH
    

    image-20240712105413378

    拿到root权限

    此时配置好了,我们来执行一下shell文件,发现已经成功提权到root

    image-20240712105744463

    拿到flag2

    提权后在/root下可以找到第二个flag信息

    image-20240712105854549

  • 相关阅读:
    Java编程学习-MySQL(数据库CRUD语句)
    【5种数据结构的操作】RedisTemplate模版类!
    React合成事件
    kubernetes安全机制
    C++中打印uint64_t
    libpqxx (PostgreSQL C++ API)——安装使用
    Spring:常见的面试题和答案
    计算机网络408考研 2020
    106362-34-9,(D-Ala1)-Peptide T amide
    IDEA和Tomcat服务器的整合
  • 原文地址:https://blog.csdn.net/ybk6666/article/details/140373659