iT邦幫忙

2026 iThome 鐵人賽

DAY 10
0

前三篇我們處理的都是特定應用程式的漏洞——FTP 伺服器的後門、SMB 的命令注入、IRC 伺服器的後門。今天要進入一個不同的領域:Java RMI(Remote Method Invocation)。

這不是某個特定軟體的 bug,而是 Java 平台內建的遠端呼叫機制本身存在的安全風險。當 Java RMI 服務暴露在網路上且缺乏適當的安全設定時,攻擊者可以透過反序列化(Deserialization)攻擊直接在目標主機上執行任意程式碼——不需要帳號,不需要密碼,甚至不需要知道目標在跑什麼應用程式。

實作開始,nmap掃描~~/images/emoticon/emoticon31.gif
https://ithelp.ithome.com.tw/upload/images/20260918/201836390oPM38ZzQ9.png
進入msfconsole,search查找關鍵字
https://ithelp.ithome.com.tw/upload/images/20260918/201836395j6jjkEHQY.png
用search找要設定payload,並設定
https://ithelp.ithome.com.tw/upload/images/20260918/20183639J0di3PkntN.png
show option 設定完Rhosts和Lhost,這邊有個小插曲。因為我之前找payload沒辦法打進去,所以後來用其他nmap的腳本證明這漏洞存驗,然後又找新的payload成功拿到root。
https://ithelp.ithome.com.tw/upload/images/20260918/201836398sEyJzkCXA.png
以下是用nmap腳本證明漏洞存在
https://ithelp.ithome.com.tw/upload/images/20260918/20183639l0pg6Ni5Q0.png


Java RMI 這篇比前幾篇的難度提升了一個層級。前三個漏洞都是「送一個特定的字串就能觸發」,但 Java RMI 背後涉及的反序列化機制是一個更深層、更廣泛的問題。理解這個概念很重要,因為:

  1. 反序列化不只存在於 RMI:任何接受序列化資料的 Java 服務都可能有類似的風險
  2. Gadget Chain 的概念是理解現代 Java 安全的基礎
  3. 防禦思路不同:前面的漏洞靠升級就好,反序列化需要從架構層面去思考

上一篇
UnrealIRCd 後門漏洞復刻
下一篇
distcc 遠端指令執行漏洞
系列文
打靶機 30 天:從 Metasploitable2 到 3 的滲透測試學習筆記12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言