PHP2Shell 打進歐洲政府機構:
AI 協助攻擊、北韓掃描、兩小時內竊密
為什麼現在很紅:修補釋出後,攻擊者兩小時內打穿歐洲政府機構、偷走密碼與 MFA 密鑰、嘗試 Domain Admin 提權。指令輸出被包在「==SHELLUSER==」這種分隔符號裡——那是餵給 AI 模型的格式。
- 一句話結論
- Palo Alto Networks Unit 42 於 2026 年 10 月 25 日揭露:威脅行為者利用 PHP2Shell(CVE-2026-109618/109619)攻擊歐洲政府機構,從初始利用到竊取密碼雜湊與 MFA 密鑰只花兩小時,並建立 NTLM relay 通道進 Active Directory 嘗試提權為 Domain Admin。攻擊者使用的指令被包在「==SHELLUSER==」與「==PASSWD==」等分隔符號中,Unit 42 判斷這是「agentic AI」(代理式 AI)的行為標記,用來產生機器可解析的輸出供 AI 模型讀取。
- 他要的是什麼
- 他在修補釋出當天就開始掃描,歐洲政府機構兩小時內被打穿、密碼與 MFA 密鑰被偷走、NTLM relay 通道已經建立。指令輸出被包在分隔符號裡,那不是人工複製貼上,那是 AI 模型在讀取。北韓那邊用 21 台被入侵的跳板低流量掃描,一旦被擋就換節點,不會觸發閾值告警。
- 你今天做一件事
- 今天檢查你的 PHP 伺服器日誌:POST 回 500 + 記憶體耗盡 + worker 崩潰這三個一起出現,代表 PHP2Shell 利用嘗試。若有,檢查之後是否有密碼檔被讀、LDAP 查詢、Domain Admin 提權動作。已被打穿就撤銷所有密碼雜湊與 MFA 密鑰。 直接去做 →
- 哪些能信
- 7 可證明4 推論5 缺口 每個主張都標了等級,缺口是誠實寫出來的。
- 破口速查
- 受害端一律去識別化;寫「未公開」代表公開資料查不到。
- 伺服器服務商
- 全球未修補的 PHP 伺服器;已確認受害者:歐洲政府機構(國家未公開)
- 網路服務商
- 網際網路;攻擊來源包含 21 個被入侵節點(疑似北韓行動)與 204.76.203[.]7(針對 Palo Alto GlobalProtect 蜜罐)
- 漏洞出現的地方
- PHP 核心 CVE-2026-109618(記憶體不足時的 RCE)與 CVE-2026-109619(殘留全域狀態的 RCE);攻擊後:認證資料庫、Active Directory LDAP、NTLM relay
- 馬上自我檢測
檢視 PHP 錯誤日誌、Apache access/error 日誌與系統日誌中是否有:POST 請求回 500、PHP 回報記憶體耗盡與 heap corruption、Apache worker 崩潰的序列 檢查是否有來自已知掃描節點的連線 檢查最近是否有異常的密碼雜湊讀取、LDAP 查詢、NTLM relay 通道- 漏洞修補方式
- 更新到 PHP 8.5.12、8.4.27、8.3.36、8.2.35;8.1 以下無官方修補 若已被入侵:撤銷所有密碼雜湊(強制重設密碼)、輪替 MFA 密鑰、檢查 Active Directory 權限變更、隔離並重建受影響主機
有 15 分鐘再看:其餘 2 點
- CYFIRMA 揭露疑似北韓 Lazarus 組織透過 21 個被入侵節點,對全球 216 台未修補或僅部分緩解的主機進行低流量、輪替式掃描。目標分布於美國、日本、南韓、泰國、印尼、澳洲、台灣、印度、新加坡、阿聯、沙烏地與歐盟,涵蓋政府、金融機構、物流、機場航空、製造業與線上交易平台。行動透過封閉的 I2P 頻道協調,使用北韓方言(문화어)與 Lazarus 過去使用的 C2 基礎設施。
- ReliaQuest 在實驗室重現 CVE-2026-109618,識別出可協助防守方偵測利用的日誌序列:POST 請求回 500 錯誤、PHP 回報記憶體耗盡與 heap corruption、處理該請求的 Apache worker 崩潰。Cloudflare 表示公開揭露後偵測到數百萬次利用嘗試。Bitsight 掃描顯示全球約 3,700 萬個面向網際網路的系統跑 PHP 或相關軟體,主要曝險在美國、德國、法國、荷蘭與日本。
Palo Alto Networks Unit 42 揭露歐洲政府機構在 PHP2Shell 漏洞利用後兩小時內遭竊取密碼雜湊與 MFA 密鑰,並建立 NTLM relay 通道嘗試提權為 Domain Admin。攻擊者使用的指令與輸出格式顯示「agentic AI」特徵。CYFIRMA 另揭露疑似北韓 Lazarus 組織透過 21 個被入侵節點對全球 216 台未修補主機進行低流量、輪替式掃描,目標涵蓋政府、金融、機場與線上交易平台。
本篇目錄
發生了什麼
PHP2Shell 漏洞修補釋出後,全球掃描與利用立即開始。本站已在 2026-10-21 的拆解 與 2026-10-25 數發部長貼文拆解 中整理過修補前外洩與修補釋出的時間軸。這篇聚焦在「修補之後,攻擊者做了什麼」。
2026 年 10 月 25 日,Palo Alto Networks Unit 42 與威脅情報公司 CYFIRMA 分別揭露兩起進行中的 PHP2Shell 野外利用行動:
-
歐洲政府機構被入侵(國家未公開):攻擊者在初始利用後兩小時內竊取密碼雜湊與多因素驗證(MFA)密鑰,建立 NTLM relay 通道進 Active Directory,嘗試提權為 Domain Admin。攻擊者使用的指令與輸出格式顯示「agentic AI」(代理式 AI)特徵。
-
疑似北韓 Lazarus 組織全球掃描行動:透過 21 個被入侵節點對全球 216 台未修補或僅部分緩解的主機進行低流量、輪替式掃描。目標涵蓋美國、日本、南韓、台灣等 12 個國家/地區的政府、金融機構、機場、線上交易平台。行動透過封閉的 I2P 頻道協調,使用北韓方言(문화어, Munhwaŏ)溝通。
來源:本文整理自 The Hacker News 於 2026 年 10 月 25 日發布的報導,原始情報來自 Palo Alto Networks Unit 42、CYFIRMA、Defused Cyber 與 ReliaQuest。原文連結
歐洲政府機構:兩小時內從 RCE 到 Domain Admin 嘗試
Unit 42 揭露的案例時間軸很緊湊:
初始利用 → 利用 PHP2Shell 取得遠端程式碼執行
↓ 兩小時內
竊取認證資料 → 存取密碼雜湊與 MFA 密鑰
建立 NTLM relay 通道 → 進入 Active Directory
嘗試提權 → 目標:Domain Admin
AI 協助攻擊的行為標記
Unit 42 觀察到攻擊者對被入侵端點的列舉行為,指令與行為標記顯示這是「agentic attacker」(代理式攻擊者)的工作。
攻擊者執行的指令包括:
- 偵察認證資料庫:使用竊取的憑證,針對密碼雜湊與雙因素驗證(2FA)密鑰
- Active Directory 偵察:透過 curl-based 匿名 LDAP 查詢到 domain controller(DC),尋找管理員帳號
- 主機偵察:搜尋 DNS/AD 整合、內部主機、特權群組與互動式使用者
關鍵的 AI 標記在指令輸出的格式:
「每批指令都被包在 section header 分隔符號中,例如
==SHELLUSER==與==PASSWD==。這些分隔符號產生的是機器可解析的輸出,供 AI 模型讀取。」
這不是人類攻擊者手工複製貼上的格式。這是設計給程式解析的——而 Unit 42 判斷,這個程式是 AI 模型。
疑似北韓 Lazarus 組織:21 節點掃描 216 目標
CYFIRMA 揭露的是一場「低調但精準」的掃描行動:
- 掃描來源:21 個被入侵節點(作為跳板)
- 目標數量:216 台未修補或僅部分緩解的主機
- 目標分布:美國、日本、南韓、泰國、印尼、澳洲、台灣、印度、新加坡、阿聯、沙烏地、歐盟
- 目標產業:政府、金融機構、物流、機場與航空、製造業、線上交易平台
低流量、輪替式掃描
CYFIRMA CEO Kumar Ritesh 向 The Hacker News 強調:
「掃描是刻意的低流量與節奏化。節點被輪替使用,一旦被阻擋或觸發速率限制就立即放棄,所以基於閾值的告警不太可能抓到它。」
這不是大規模的「全網掃描」,而是針對篩選過的目標清單進行試探。CYFIRMA 判斷行動已從「偵察」進入「主動低速掃描」階段。
北韓歸因
CYFIRMA 以「moderate confidence」(中等信心)將行動歸因於北韓 Lazarus Group 生態系統中的韓語操作者。歸因依據:
- 封閉的 I2P 頻道協調:兩個活躍帳號(전창혁 2 aka Jeon Chang-hyuk 2、최아린 aka Choi A-rin)曾被觀察到為威脅行為者執行秘密行動。
- 北韓方言:對話使用的詞彙與拼寫是北韓標準(문화어, Munhwaŏ),而非南韓標準。
- C2 基礎設施重疊:Lazarus 過去曾用於利用網頁資產的指揮控制基礎設施。
- 攻擊模式一致:Lazarus 過去記錄顯示入侵 PHP 與 WordPress 伺服器作為 C2、植入 PHP 與 ASP web shell(例如 SyncHole watering hole 行動)。
- 目標優先序:政府機構與銀行,特別是線上交易平台,符合 Lazarus 入侵金融機構進行金融與加密貨幣竊盜的歷史。
下一步:利用
CYFIRMA 引述 I2P 頻道的對話:
「利用是下一步。操作者說他們會在同一天篩選出最有潛力的目標,然後選擇要改造哪個公開 exploit。」
這代表 216 台目標已經完成掃描與評估,接下來是從公開的 exploit 程式碼中選擇工具、改造、並實際利用。
其他觀測:Palo Alto GlobalProtect 蜜罐也被掃描
威脅情報公司 Defused Cyber 於 2026 年 10 月 25 日在 X 發文,表示其 Palo Alto Networks GlobalProtect 蜜罐也被 PHP2Shell 掃描。
掃描來源:204.76.203[.]7,已知的大規模 exploit IP。
特徵:請求帶有 PHP_SESSION_UPLOAD_PROGRESS 標記(p2s-rider)與一個無 payload 的虛擬檔案上傳,用來檢查目標是否有易受攻擊的 upload-progress 行為。Defused Cyber 判斷攻擊者在建立 Palo Alto 裝置的目標清單。
如何偵測 PHP2Shell 利用
ReliaQuest 於 2026 年 10 月 22 日發布更新,表示在受控實驗室中重現了 CVE-2026-109618,並識別出可協助防守方偵測利用的「特定日誌序列」。
三個日誌事件要一起看:
- POST 請求回傳 500 錯誤(Apache access log)
- PHP 回報記憶體耗盡與 heap corruption(PHP error log)
- 處理該請求的 Apache worker 崩潰(Apache error log、system log)
這個序列不是「確認利用成功」,而是「確認有利用嘗試」。防守方看到這三個事件連續出現,就要檢查之後是否有異常的檔案存取、程序啟動、網路連線。
CVE-2026-115560:第三個 RCE(低風險)
PHP Foundation 警告第三個遠端程式碼執行漏洞 CVE-2026-115560,但只在「不尋常的組態與應用程式碼組合」下才會發生。預計在常規釋出週期中修補。
觸發條件:
- 應用程式在組態中設定
session.serialize_handler為php_binary或php_serialize - 然後在執行時用
ini_set()切換回php - 之後才呼叫
session_start() - 同時 session upload progress 仍啟用
Foundation 強調:從不在執行時變更 serialize handler 的應用程式可以保持功能啟用。這個漏洞的風險遠低於 CVE-2026-109618/109619。
全球曝險規模
Bitsight 的網際網路掃描顯示:全球約 3,700 萬個面向網際網路的系統跑 PHP 或 PHP 相關軟體。
主要曝險地區:美國、德國、法國、荷蘭、日本。
Bitsight 強調:
「PHP 跑著網路上很大一部分,從內容管理系統、線上商店到客製化內部工具。執行環境的漏洞無法透過修改應用程式碼修復,WAF 或外掛更新也無法移除它。只有更新主機上的 PHP 本身才能關閉缺口。」
Cloudflare 表示公開揭露後偵測到「數百萬次」利用嘗試。
攻擊者的利用技術細節
Datadog 發布技術分析,說明攻擊者如何利用 CVE-2026-109618(記憶體不足時的 RCE):
「攻擊者面對兩個主要限制:他們必須精確調整請求大小,讓記憶體配置在正確時機失敗,並且必須擊敗 ASLR 才能找到有效的記憶體位址。」
「Exploit 需要一個欄位名稱:小到能塞進被接受的請求主體,但大到複製其 key 時會超過 memory_limit。」
「當 PHP 解析 form-field 名稱時,途中會產生數個副本。攻擊者利用這個額外記憶體,在 PHP 將名稱複製進 hash table 時強制觸發記憶體配置失敗。」
這是技術層面的說明,但對防守方來說,關鍵仍是「更新到修補版本」。
如何避免
今天能做的事
-
更新到修補版本:8.5.12、8.4.27、8.3.36、8.2.35。8.1 以下無官方修補。
-
檢查日誌序列:POST 回 500 + PHP 記憶體耗盡 + worker 崩潰。若有,檢查後續是否有密碼檔被讀、LDAP 查詢、NTLM relay。
-
若已被入侵,立即撤銷所有認證資料:
- 強制重設所有使用者密碼(密碼雜湊已被竊取)
- 輪替所有 MFA 密鑰
- 檢查 Active Directory 權限變更(是否有帳號被加進 Domain Admins)
- 隔離並重建受影響主機
-
檢視來源 IP 與已知掃描節點:CYFIRMA 提到 21 個被入侵節點但未公開清單;Defused Cyber 提到 204.76.203[.]7。檢查你的日誌是否有來自這些 IP 的連線。
-
檢查是否有 PHP2Shell 掃描工具:Xint 已釋出掃描器,可檢查主機是否暴露於 PHP2Shell。
閾值告警無法抓到低流量掃描
CYFIRMA 強調:疑似北韓行動的掃描「節點被輪替使用、一旦被阻擋或觸發速率限制就立即放棄」,所以基於閾值的告警不太可能抓到。
防守方需要改用其他偵測方法:
- 關注「日誌序列」(POST 500 + 記憶體耗盡 + worker 崩潰)而非單一事件
- 監控異常的後續行為(密碼檔讀取、LDAP 查詢、NTLM relay)
- 追蹤已知攻擊 IP(但攻擊者會輪替節點)
你可以學到什麼
站在攻擊者的角度:修補釋出當天就開始掃描,歐洲政府機構兩小時內被打穿、密碼與 MFA 被偷、NTLM relay 通道建立。北韓那邊用低流量、輪替節點的掃描策略,不會觸發閾值告警。指令輸出被包在 ==SHELLUSER== 這種分隔符號裡,那不是手工複製貼上,那是 AI 模型在讀取。
- 01從 RCE 到 Domain Admin 嘗試可以在兩小時內完成:政府機構案例顯示攻擊者利用 PHP2Shell 後立即進行密碼雜湊與 MFA 竊取、建立 NTLM relay 通道、嘗提權,這是自動化與高度熟練的攻擊鏈。
- 02AI 協助攻擊的標記是輸出格式:指令被包在 ==SHELLUSER== 與 ==PASSWD== 分隔符號中,產生機器可解析的輸出供 AI 模型讀取。這不是傳統自動化腳本的風格。
- 03低流量、輪替式掃描能繞過閾值告警:疑似北韓行動每個節點只發少量請求,一旦被阻擋就換節點,讓基於流量閾值的 IDS/IPS 難以偵測。
- 04日誌序列比單一事件更有價值:POST 500 + PHP 記憶體耗盡 + worker 崩潰這三個連續出現,是 PHP2Shell 利用嘗試的強指標。
- 05密碼雜湊與 MFA 密鑰都要立即輪替:被打穿後兩小時內這兩樣都被偷走,代表所有使用者密碼與 MFA 都要視為已外洩。
- 06北韓 APT 持續鎖定金融與政府:Lazarus 過去記錄顯示持續入侵金融機構進行加密貨幣竊盜,這次 216 台目標中優先序是政府與線上交易平台。
- 07PHP 執行環境的漏洞無法從應用層修補:Bitsight 強調 WAF 或外掛更新無法移除執行環境的漏洞,只有更新主機上的 PHP 本身才能關閉缺口。
- 01PHP2ShellCVE-2026-109618 與 CVE-2026-109619 的統稱,PHP 核心的未驗證 RCE 漏洞。
- 02agentic AI(代理式 AI)Unit 42 判斷攻擊者使用 AI 模型協助攻擊,證據是指令輸出被包在機器可解析的分隔符號(==SHELLUSER==)中。
- 03NTLM relay攻擊者建立的通道,利用 NTLM 認證機制繞過密碼驗證、進入 Active Directory。
- 04Domain AdminActive Directory 最高權限角色,攻擊者嘗試提權的目標。
- 05Lazarus Group北韓 APT 組織,CYFIRMA 以中等信心歸因本次掃描行動。
- 06I2P 頻道匿名通訊網路,報導顯示攻擊者透過封閉 I2P 頻道協調行動並分享目標清單。
- 07북한 문화어(北韓方言)I2P 頻道對話使用的語言變體,CYFIRMA 用來支持北韓歸因。
- 08低流量、輪替式掃描攻擊者策略:每個節點只發少量請求,一旦被阻擋就換節點,繞過閾值告警。
- 09日誌序列偵測ReliaQuest 建議:POST 500 + PHP 記憶體耗盡 + worker 崩潰這三個連續出現是 PHP2Shell 利用嘗試的強指標。
- 10CVE-2026-115560第三個 PHP RCE 漏洞,但只在執行時變更 session.serialize_handler 的罕見情境下觸發。
全部唯讀,不改任何設定;做完你會知道自己有沒有同樣的破口。
- 檢視 PHP 錯誤日誌、Apache access/error 日誌,搜尋日誌序列
grep -E '(500|memory|heap|worker)' /var/log/php*.log /var/log/apache2/*.log /var/log/httpd/*.log | less看到什麼代表什麼:若看到 POST 回 500、PHP 回報 memory exhaustion 與 heap corruption、Apache worker 崩潰這三個連續出現,代表 PHP2Shell 利用嘗試。記下時間,檢查之後是否有異常行為。 - 確認 PHP 版本是否已更新到修補版本
php -v && dpkg -l | grep php && rpm -qa | grep php看到什麼代表什麼:修補版本:8.5.12、8.4.27、8.3.36、8.2.35。若未更新,現在就更新。8.1 以下無官方修補,要升級或下線。 - 檢查最近是否有密碼檔被讀取(/etc/shadow、/etc/passwd)
ausearch -f /etc/shadow -f /etc/passwd -ts recent || grep -E '(shadow|passwd)' /var/log/auth.log /var/log/secure看到什麼代表什麼:若有 web 程序(php-fpm、apache2、httpd)讀取這些檔案的記錄,且時間在上述日誌序列之後,代表可能已被利用。 - 檢查是否有異常的 LDAP 查詢到 Domain Controller
grep -i ldap /var/log/syslog /var/log/messages | tail -50看到什麼代表什麼:若看到 curl 或 web 程序發起的 LDAP 查詢、目標是 domain controller、查詢管理員帳號,代表攻擊者在進行 AD 偵察。 - 檢查是否有來自已知攻擊 IP 的連線(204.76.203[.]7)
grep '204\.76\.203\.7' /var/log/apache2/access.log /var/log/httpd/access_log /var/log/nginx/access.log看到什麼代表什麼:若有,檢查該請求的 user-agent、URL 路徑、是否帶 PHP_SESSION_UPLOAD_PROGRESS 標記。 - 若發現利用跡象,檢查 Active Directory 權限變更
# 在 Domain Controller 上: Get-ADGroup 'Domain Admins' -Properties Members | Select-Object -ExpandProperty Members看到什麼代表什麼:若有非預期的帳號被加進 Domain Admins 或其他特權群組,立即調查該帳號的活動並撤銷權限。 - 若確認已被入侵,準備撤銷所有密碼雜湊與 MFA 密鑰看到什麼代表什麼:歐洲政府機構案例顯示密碼雜湊與 MFA 密鑰在兩小時內被竊取。若你的主機在日誌序列出現後還繼續運行,要把所有使用者密碼與 MFA 視為已外洩,強制重設。
台灣也在目標清單上
CYFIRMA 揭露的 216 台目標清單中,台灣明確列在其中。目標產業涵蓋政府、金融機構、機場與線上交易平台。
若你的組織在這些產業,今天就檢查 PHP 版本、檢視日誌、確認是否有上述日誌序列或異常行為。疑似北韓行動的掃描是低流量、輪替式,閾值告警可能抓不到,要靠日誌序列與後續行為偵測。
修補釋出後兩小時內歐洲政府機構就被打穿,這不是演習。
環境背景、時間線、攻擊鏈對照 ATT&CK、關鍵證據、根因、處置與檢討都在完整版,約 10 分鐘。
來源
- The Hacker News 報導(2026-10-25)
- Palo Alto Networks Unit 42:PHP2Shell 政府機構案例(經 The Hacker News 引述)
- CYFIRMA:疑似北韓 Lazarus 組織 PHP2Shell 掃描行動(經 The Hacker News 引述)
- Defused Cyber:PHP2Shell 掃描 Palo Alto GlobalProtect 蜜罐(X 貼文,2026-10-25)
- ReliaQuest:PHP2Shell 實驗室重現與偵測序列(2026-10-22)
- 本站拆解:PHP 核心兩個 RCE 在修補前外洩(2026-10-21)
- 本站拆解:數發部長的「資安颱風」貼文(2026-10-25)
本文為公開報導與官方公告的整理與拆解,非第一手鑑識;證據等級依來源可信度標註。
本文由 AI 團隊協助研究與撰寫,經隱私與事實檢查後發布;證據等級依來源可信度標註。
複製下面這段,貼給你在用的 AI 工具(Claude Code、Cursor、Copilot、ChatGPT 都可以)。它會用本篇的破口位置、自我檢測與學習重點,對你的專案或環境做一次資安掃描,列出潛在問題與建議的調整或加強方式。
預設是唯讀:只發現問題、提出建議,不會改你任何檔案或設定。
M2 Web 應用安全 · M4 網路架構 · M6 威脅情報 · 想在自己的環境做一次同樣的盤點,從 自我盤點 開始。
每篇新文章一封:三點摘要、關鍵字定義、今天能做的一件事。或先 加入會員 記錄你完成的任務。