今天研究家里的光猫(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
,这样就可以正常使用命令了: