CVE-2014-0160漏洞复现
漏洞成因
Heartbleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。如同漏洞成因所讲,可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。
漏洞影响范围
OpenSSL1.0.1版本
进入shodan寻找存在漏洞网站
寻找存在漏洞的网站
打开kali中的msf进行复现
然后使用 auxiliary/scanner/ssl/openssl_heart_bleed功能。
执行run命令,运行扫描器,查看结果,可以看到有Heartbeat response with leak的字样,证明该站存在HeartBleed漏洞
进行攻击
修复方法
升级openssl。此外,做如下措施。
- 修改服务器密码
- 重新配置私钥
- 重新配置证书
CVE-2020-15778 scp命令注入
漏洞描述
该漏洞即使在禁用ssh登录的情况下,但是允许使用scp传文件,而且远程服务器允许使用反引号(`),可利用scp复制文件到远程服务器时,执行带有payload的scp命令,从而在后续利用中getshell。漏洞利用需要知道或猜中OpenSSH登陆用户名及密码。
漏洞原理
使用scp复制文件到远程服务器时,在scp命令后面跟上文件的路径,具体格式如下:
1 | scp SourceFile user@host:directory/TargetFile |
在上述过程中,scp会使用”-t“参数来获取存储传入文件的路径,如下:
1 | scp -t directory/TargetFile |
如上图所示。这个地方未对传入的文件路径进行检测防护。攻击者可以使用反引号包裹payload然后加上文件名执行scp命令,这时,payload将会发送到远程服务器并执行
漏洞影响范围
OpenSSH <= 8.3p1
漏洞复现
1 | 攻击机:kali |
先查看ssh的版本
8.2p1 ,存在漏洞
正常复制文件
1
scp ./tunan.txt username@192.168.17.129:/home/username/tunan.txt
把本机上的tunan.txt 复制到靶机上的username用户的目录下,并命名为tunan.txt
执行带有payload的scp命令
1
scp ./tunan.txt username@192.168.17.129:'`echo "tunan"> /home/username/tunan.txt`/home/username/1.txt'
将“tunan” 写到
/home/username
目录下的tunan.txt
文件内、成功执行命令
修复建议
- 修改密码为强密码,并定期更换
- 等补丁