• vulnhub靶机darkhole


    靶机下载地址:DarkHole: 1 ~ VulnHub

    Kali ip:192.168.174.128

    靶机ip:192.168.174.135

    靶机ip发现

    sudo arp-scan -l

    开放端口扫描

    nmap -p- -sV -A 192.168.174.135

    发现开启了22端口和80端口

    目录扫描

    gobuster dir -u http://192.168.174.135/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt

    这个地点有点问题,我用dirsearch进行扫描,字典比较全,扫描多出来几个文件

    扫描到几个目录  查看一下config,发现数据库文件

    发现是个空文档,什么都没有

    Dashboard虽然返回200但是输出的信息是无法访问

    漏洞利用

    进入login页面进行查看

    既然有注册的地方,那就先去注册一下,中间白色的框是邮箱(这个颜色搭配真的费眼睛)

    注册好了就进行登录,这里发现还存在一个id字段

    尝试访问一下id=1的,不能访问

    那就在id=2页面进行测试,这里有修改密码,抓包查看,这里尝试把id=1的用户的密码改为666,这里存在的问题是对用户的身份缺少验证。

    应该是修改成功了,现在密码有了,然后我们尝试对账号进行爆破。

    爆破账号

    使用hydra进行破解

    hydra -L /usr/share/seclists/Usernames/cirt-default-usernames.txt -p 666 192.168.174.135 http-post-form "/login.php:username=^USER^&password=^PASS^:username or password is incorrect"

    这里对命令进行说明一下

    -L后面加字典,这里是代表的账号

    -p代表密码(小p是单独的一个密码)如果是大P则跟一个字典

    192.168.174.135是代表ip

    http-post-form表示破解是采用http的post方式提交的表单密码破解,双引号里面是目录:变量&变量:登录不成功时会出现的字段其中的变量必须按照上面的写:username=^USER^&password=^PASS^

    破解出的密码是admin,使用admin进行登录查看

    文件上传

    这里的id值变成了1

    而且存在一个上传文件的地方

    那就上传个木马进行反弹shell吧

    上传php反弹shell的脚本,发现有后端验证,说只允许png,jpg,gif,看着像是白名单,但是上传后发现是个黑名单验证

    上传的后缀改为phtml(也可以使用phar),我这里还修改了content-type为image/png

    成功上传,且此处的file看着像个链接,鼠标右击file复制链接,然后进行访问

    成功接收到shell

    权限提升

    开启交互模式

    SHELL=bash script -q /dev/null

    我们在var/www目录下发现了数据库的信息,其中发现之前的admin密码,果然是强密码

    使用find查找具有suid权限的命令,这里发现一个特殊的toto

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

    切换到home下发现两个用户,darkhole和john,其中john好像存在有用的信息

    其中的toto是root权限的,且是可执行文件,执行一下看看结果

    这里输出了id的信息

    但是通过cat和strings都没有看到很多可用的信息

    这里尝试替换id和修改环境变量进行提权

    说明一下这几条命令

    创建名为id的文件,将bash文件的位置写入id当中,然后使用export修改环境变量,优先加载tmp下的id文件,echo输出path查看是否修改成功

    chmod赋予id可执行权限

    这里切换到john目录,执行toto,发现成功切换到了john的用户下

    切换到用户john下,那他的一些文件也就可以查看了

    密码为root123

    有了密码使用sudo -l查看当前用户的权限

    发现python3,当前文件夹下又有file.py那就在file中写入内容,使用python进行提权

    echo ‘import os;os.system(“/bin/bash”)’ > file.py

    使用python3执行,这里的命令要和sudo -l中的一致不能修改的

    切换目录,查看root文件,靶机成功结束

  • 相关阅读:
    用 TypeScript 类型运算实现一个五子棋游戏
    spring之AOP的概念及简单案例
    MindSpore Serving模型部署,如何提升吞吐量,降低推理时延
    macOS 下 Termius 中文显示为乱码
    qiankun 乾坤主应用访问微应用css静态图片资源报404
    神经网络学习小记录71——Tensorflow2 使用Google Colab进行深度学习
    拆串后再列间分组计平均
    Sentinel微服务流量治理组件实战上
    基于阻塞队列、线程池的生产者消费者模型
    车载T-BOX
  • 原文地址:https://blog.csdn.net/weixin_52450702/article/details/128084745