CVE-2023-51385
信息
Tags
- OpenSSH 9.6 命令注入
官方数据库记录
在 9.6 之前的 OpenSSH 中的 ssh 中,如果用户名或主机名具有 shell 元字符,并且在某些情况下该名称被扩展令牌引用,则可能会发生操作系统命令注入。 例如,不受信任的 Git 存储库可能有一个用户名或主机名中包含 shell 元字符的子模块。
参考
首先,题目限制了使用 Github
代码托管服务,可以使用 Gitee
或者 Gogs: A painless self-hosted Git service 自托管一个 Git 服务
这里我选择使用 Gogs: A painless self-hosted Git service 自托管一个 Git 服务
创建 submodule 仓库
首先,先创建一个仓库,只放置 README.md
文件,作为后续利用的 submodule
┌──(randark ㉿ kali)-[~/pocs]
└─$ mkdir CVE-2023-51385-submodule
┌──(randark ㉿ kali)-[~/pocs]
└─$ cd CVE-2023-51385-submodule/
┌──(randark ㉿ kali)-[~/pocs/CVE-2023-51385-submodule]
└─$ echo "test" > README.md
┌──(randark ㉿ kali)-[~/pocs/CVE-2023-51385-submodule]
└─$ ls -lh
total 4.0K
-rw-rw-r-- 1 randark randark 5 Jul 24 23:14 README.md
然后初始化 git 仓库,并设置仓库,创建提交
注意
经过测试,远程靶机的 git 服务只接受分支名为 master
的仓库
┌──(randark ㉿ kali)-[~/pocs/CVE-2023-51385-submodule]
└─$ git config --global init.defaultBranch master
┌──(randark ㉿ kali)-[~/pocs/CVE-2023-51385-submodule]
└─$ git init
Initialized empty Git repository in /home/randark/pocs/CVE-2023-51385-submodule/.git/
┌──(randark ㉿ kali)-[~/pocs/CVE-2023-51385-submodule]
└─$ git add README.md
┌──(randark ㉿ kali)-[~/pocs/CVE-2023-51385-submodule]
└─$ git commit -m "init"
[master (root-commit) e7f93b0] init
1 file changed, 1 insertion(+)
create mode 100644 README.md
然后在 gogs 平台上建立一个仓库,在本地 git 仓库添加远程仓库,并推送
┌──(randark ㉿ kali)-[~/pocs/CVE-2023-51385-submodule]
└─$ git remote add origin http://139.*.*.*:3000/123/CVE-2023-51385-submodule.git
┌──(randark ㉿ kali)-[~/pocs/CVE-2023-51385-submodule]
└─$ git push -u origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 212 bytes | 212.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Username for 'http://139.*.*.*:3000': 123
Password for 'http://123@139.*.*.*:3000':
To http://139.*.*.*:3000/123/CVE-2023-51385-submodule.git
* [new branch] master -> master
branch 'master' set up to track 'origin/master'.
此时,在 gogs 平台上就可以看到创建好的仓库了