git shell旁路,少更多

我們一直是WARGAMES的粉絲。不是電影(嗯,同樣的電影)但是我指的是黑客的戰爭名。然而,有許多樣式,但通常您可以訪問到某處的初步殼帳戶,這是level0,以及您必須在系統中利用一些缺陷來處理level1權限以及等等。幾乎總是有一個級別,你必須利用合法的二進制(帶一些陰暗的權限),這比例行各個人的想法更多。

在CVE-2017-8386的情況下,更少的是更多。

[Timo Schmid]詳細信息究竟如何在SSH隧道上用作Git遠程會話中的上游對等體的Git-shell如何濫用,以便完成任意數據讀取,目錄列表以及某種程度上限制數據寫入。 Git-shell基本概念是將SSH會話中的啟用命令限制為Git所需的SSH會話(Git-Recopt-Pack,Git-Upload-Pack,Git-Upload-Archive)中的啟用命令。研究人員意識到他可能會將參數傳遞給這些命令,如標誌 – help:

1
2
3.
4.
5.
6.
7.
$ ssh git @ remoteserver“git-recept-pack’ – help’&Quic;

Git-Receive-Pack(1)Git手動Git-Receive-Pack(1)

姓名
git-recept-pack – 將推入存儲庫的內容
[…]

旗幟所做的是讓Git命令打開Git的Guy Page,它傳遞給尋呼機程序,通常較少。以及這是它得到了有趣的地方。命令越少,如果以交互方式運行,可以做一些您希望搜索文本的許多東西,轉到行號,向下滾動以及等等。它同樣可以打開一個新的數據(:e),將輸入保存到數據以及執行命令(!)。要以交互方式運行,您必須強制在SSH中配置PTY:

1
2
3.
4.
5.
6.
7.
8.
9.
$ ssh -t git @ remoteserver“git-recept-pack’ – help’&Que;

Git-Receive-Pack(1)Git手冊Git-Receive-Pack(1)

姓名
git-recept-pack – 將推入存儲庫的內容

手動頁面Git-Receive-Pack(1)第1行(按H進行輔助或Q Quit)

按H進行輔助以及享受樂趣。一個警告是,通常的安裝代碼執行不會真正執行任意命令,因為當前運行的登錄shell是Git-shell,僅限於某些白色列出的命令。然而,存在這種情況的特定配置,例如將BASH或SH保存為登錄外殼,以及限制他們只能利用Git的方法(例如沒有root Access的共享環境)。你可以在這裡看到這樣的例子。

在SSHD配置中,最快的解決方案似乎允許No-Pty標誌服務器端。這避免了客戶端請求PTY,因此少不會以交互模式運行。

1
2
3.
4.
5.
6.
錢少

少(1)一般命令手冊較少(1)

姓名
少 – 更多

諷刺,不是嗎?

Leave a Reply

Your email address will not be published. Required fields are marked *