今天研究家里的光猫(KD-YUN-811G),发现默认开了 telnet,用户名 telnetadmin, 密码 telnetadmin。结果登陆上去发现是个假 shell,里面什么命令都没有,也没有 sh 命令。
折腾一顿发现 http 界面可以开 ftp 服务器,登陆进 ftp 可以访问到光猫文件系统。
下载下来 /etc/telnetd, 拖进 ida 反编译找到登陆逻辑:
1 | // start -> _ftext: |
这些函数都在 libcms_cli.so 中,这里重点关注 cmsCli_run: 参考网上的源码可知处理输入的逻辑在 processInput 中:
1 | // processInput |
再看看 cli_processHiddenCmd:
1 | // cli_processHiddenCmd |
输入 muma@door,发现其实是 busybox,这样就可以正常使用命令了: