駭客正將手機視為「行動金礦」,受害者的隱私、通話紀錄、銀行帳戶、身分認證資料都可能被竊取或操控。本文以Android木馬XploitSPY為例,從駭客視角分析其架構與運作方式,並探討社交工程如何誘導使用者自行安裝惡意APK,最後提出防禦策略。
根據Statista預估,2025年全球Android使用者將超過30億人,市占率達72%,凸顯Android生態的龐大與其成為攻擊目標的高風險。Android的開放性雖促進應用創新,卻也降低惡意程式散布的門檻。攻擊者常透過第三方通路、修改版APK(Android Package Kit)或社交工程誘騙安裝,繞過系統防護。行動資安不再只是技術漏洞問題,也涉及到供應鏈安全、使用者教育與制度治理。
本文將以XploitSPY為例,解析其架構與運作流程,並透過模擬情境與實作範例,展示其常見散布手法與遠端控制能力。同時從防禦角度探討開發、部署、偵測與教育層面的應對策略,期望提供兼具技術深度與實務意涵的參考架構。
背景知識介紹
首先,介紹相關的背景知識。
什麼是XploitSPY
XploitSPY是一款開源的Android木馬,屬於一種遠端存取木馬(Remote Access Trojan,RAT),主要目的是在受害Android裝置上長期、隱密地竊取個人資訊與系統資訊,並接受遠端指令以執行各種惡意活動。
技術上,XploitSPY以APK形式作為客戶端安裝在目標裝置,與位於網路上的控制伺服器(Command & Control,C2)持續通訊,駭客藉由C2下達指令、回收蒐集到的資料,實現遠端監控與操控。常見能力包括錄音、螢幕截圖、相機拍攝、讀取簡訊與通訊錄、定位資訊與檔案上傳和下載等。主要的散布手法為社交工程,駭客將木馬植入應用程式中並偽裝成正常的App、系統更新,或是以釣魚郵件、惡意連結形式誘騙受害者點擊安裝。XploitSPY結合隱蔽運作、模組化設計與多種傳播管道,是針對行動裝置具有高威脅性的木馬程式。
遠端存取工具與遠端存取木馬
以下說明何謂遠端存取工具與遠端存取木馬(RAT)。
遠端存取是指使用者能夠從不同地點透過網際網路連線,操作另一部電腦或網路系統的技術。這使得使用者可不受空間限制使用或傳輸資料、應用程式或伺服器,就像是自己親自坐在遠端裝置前操作一樣。遠端存取的核心在於建立安全的「端對端通訊通道」,並讓使用者的鍵盤、滑鼠與畫面輸入即時傳到目標系統。常見的遠端存取應用,包括遠距工作、系統維護與企業伺服器管理等。
遠端存取的運作依賴多種通訊協定,確保雙方資料傳輸的即時性與安全性。主要協定包括:
‧RDP:Microsoft開發的遠端桌面協定,可即時傳輸畫面與操作指令,提供完整桌面體驗並支援檔案傳輸與列印,常用於企業遠端登入與伺服器維護。
‧VNC:以TCP/IP傳輸桌面畫面與輸入事件,支援多平台間的遠端控制。若未搭配加密通道,易遭攔截,因此大多與VPN或TLS加密併用。
‧VPN:在公共網路上建立加密隧道,讓使用者安全連線至企業內部資源。常見實作包含IPsec與SSL/TLS VPN,可確保資料傳輸的機密性與完整性。
‧IPsec/SSL/TLS:這些協定提供通訊加密與身分驗證,常作為其他協定(如VPN、RDP)的安全基礎層,防止資料遭竊聽或竄改。
綜上所述,現代遠端存取多以RDP或VPN結合TLS加密實作,兼顧便利性與安全性。
遠端存取木馬(RAT)是模仿合法遠端工具的惡意版本,若在使用者未授權的情況下取得對方裝置的控制權限,即屬於遠端存取木馬的範疇,其能在受害裝置中隱蔽運作並回傳資料給攻擊者,其基本流程如圖1所示。
圖1 遠端存取木馬運作流程。
惡意遠端存取木馬的特徵,包括:隱蔽運作(在背景執行、不顯示圖示或通知)、權限濫用(要求過多系統權限,能讀取、修改或刪除檔案)、遠端監控(能錄音、截圖、開啟相機或鍵盤側錄)、資料外洩(將敏感資訊如帳號、文件、影像等上傳至C2伺服器)、擴散與植入(可下載其他惡意程式,甚至作為Botnet節點)。
圖2 C2指揮與控制架構。
常見RAT範例包括Back Orifice、Beast、NjRAT、DarkComet、XploitSPY等,這些程式可在未經授權情況下實現遠端控制、竊密、監控與持續滲透。
其典型惡意活動則包含:鍵盤側錄∕輸入監控、檔案讀取與上傳(文件竊取、資料外洩)、遠端控制(執行Shell、開啟連線、啟∕停服務)、非法監控(麥克風錄音、相機拍攝、螢幕截圖)、建立Botnet殭屍網路(整合多台受害裝置進行分散式任務)、簡訊∕通訊錄監控(OTP竊取與社交工程強化)。
C2(Command & Control,指令與控制)是惡意程式與操作者之間的「指揮中樞」。對於像XploitSPY或其他遠端存取木馬(RAT)而言,C2是整個攻擊鏈的核心:它負責接收受害端上傳的資料、下達指令、維持連線,並管理所有被感染的裝置。若將RAT比喻為駭客的「手與眼」,那麼C2就是它的「大腦與神經中樞」。如圖2所示,XploitSPY的C2架構採取分層設計,以集中管理受害裝置。
C2的運作機制,如下所述:
‧註冊(Registration/Beaconing):當受害端的惡意程式啟動後,會向預設的C2伺服器發送「報到訊號」(Beacon),傳送裝置資訊、版本號與識別ID,讓C2登錄該裝置為新的控制節點。
‧命令下達(Command Delivery):伺服器接收操作者輸入的命令後,將其以HTTPS、WebSocket或其他協定封包發送給受害端。命令可能包括啟動錄音、拍照、讀取簡訊、下載檔案,或遠端執行Shell指令。
‧資料回傳:受害端在執行完命令後,會將擷取的資料(如文字記錄、錄音、影像、GPS座標)加密後回傳給C2。部分C2會透過中繼伺服器或合法雲端服務(如Google Drive、Telegram Bot API)轉傳資料,以降低被防火牆偵測的機率。
‧持續控制與更新:攻擊者可透過C2定期更新惡意程式設定、新模組或是切換伺服器域名,使攻擊持續運作並適應防禦環境的變化。
C2與受害端的通訊方式會依照攻擊需求與隱蔽程度不同而改變,常見通道如下:
‧HTTP/HTTPS輪詢:受害端定期向指定URL發送請求取得命令,最常見且易偽裝。
‧長連線(Persistent Connection):使用TCP Socket或WebSocket維持持續連線,適合即時控制。
‧合法服務中繼(Cloud-as-C2):利用雲端儲存或社群API(如Discord、Dropbox、GitHub)傳遞指令。
‧DNS隧道(Domain Name System Tunneling):將資料藏於DNS查詢封包中,傳輸量小但難以偵測。
‧P2P或分散式架構:各受害節點互為中繼,無單一控制點,封鎖困難。
典型的C2架構可以分為三層,說明如下:
‧操作者層(Attacker Console):攻擊者使用的終端機介面,通常是Web控制台或命令列,可檢視受害者列表、發送指令、接收回傳資料並進行遠端操作。
‧應用層(C2 Application Server):實際處理RAT請求的主伺服器,負責指令派發與資料收集。此層會儲存受害端資訊、加密憑證與通訊模組。
‧中繼層(Relay/Proxy Layer):攻擊者常透過多層代理或跳板伺服器(如VPS、雲端節點、TOR、Cloudflare Tunnel)隱匿真正主機位置。部分高階攻擊甚至會搭建多重中繼網路,讓流量在不同國家節點間轉送,以增加追蹤難度。
這樣的分層架構使C2具備可擴展性與隱蔽性:攻擊者可隨時替換中繼節點或部署鏡像伺服器,而不影響RAT控制的穩定度。
Android生態與安全基礎
接著,介紹有關於Android的生態與安全基礎。
Android作業系統源自Linux核心,屬於開放原始碼平台(Android Open Source Project,AOSP),允許各家廠商依需求修改系統。這種設計帶來高度自由,也促成廣泛的硬體與App生態。然而,開放性同時意味著更新速度不一致、補丁延遲與側載機制等問題,使惡意APK容易藉由假網站、破解版App或釣魚訊息滲透入裝置。因此,Android的開放性是一把雙面刃,造就龐大市場,卻也攻擊面相對擴大。
Android的安全基礎主要由三個核心概念組成:應用沙盒(Application Sandbox)、權限控管(Permission Model)以及簽章驗證(App Signing)。這些設計彼此搭配,負責阻擋未經授權的存取行為,但也形成Android與iOS在安全觀念上最大的差異:
‧Android的Sandbox與User ID(UID)隔離(主要用於防止App互相讀取資料):Android以UID為基礎,讓每個App以獨立身分在各自的Sandbox中執行,無法直接讀取其他App的資料庫或內部檔案,用意在防止「應用程式之間互相竊取資料」,例如惡意程式不應有權限讀取LINE或網路銀行App的檔案。
‧權限控管(Android的安全防線):涉及相機、麥克風、定位、簡訊等敏感功能權限存取時,Android會提示要求使用者授權;一旦按下「允許」,App才可以合法呼叫相關API。然而,系統並不會判斷使用者是否被詐騙,只在乎是否經過使用者允許後取得授權。
‧Scoped Storage(限制檔案系統瀏覽範圍):自Android 10起,App不能再任意瀏覽整個檔案系統,而是被限制於自身資料夾,或透過媒體API間接存取特定相片、影片,以減少任意讀取相簿與文件的風險。
儘管Android持續強化安全性,例如強制SELinux模式、Scoped Storage、沙盒化API,但以下幾項如表1所示結構性弱點仍常被駭客利用:
相較於Android的開放式設計,iOS採取高度封閉的安全架構,由Apple全面掌控系統權限,核心理念在於從源頭阻斷攻擊行為。透過強制程式碼簽章機制,所有應用程式皆須經Apple驗證才能安裝與執行,未簽章程式無法執行,使惡意程式在安裝階段即被有效阻擋。
在權限與Sandbox管理機制上,iOS對第三方App的限制更為嚴格,包含簡訊、通話紀錄、背景錄音與隱蔽攝影等敏感行為皆受到系統層級的限制。即使使用者授權相機或麥克風,也僅能在可見且受控的UI情境下使用,較難實現Android RAT常見的背景監控功能。
此外,iOS透過Secure Enclave於硬體層保護生物辨識資料與加密金鑰,即使裝置遭越獄亦難以直接存取。系統更新方面,iOS採用由Apple統一推送的空中下載更新機制(Over-the-Air,OTA),可為系統快速修補漏洞,降低潛在攻擊利用的風險。
因此,iOS透過封閉架構、嚴格API限制與硬體級安全設計,形成更多層防護,使遠端存取木馬難以複製Android上的監控能力,其安全設計差異如表2所示。
總結來說,Android以開放性與使用者授權為核心,其防護機制主要著重於阻擋未經授權的行為。一旦使用者同意權限,惡意程式便能在允許範圍內存取多數敏感功能。相對地,iOS採取封閉式安全模型,透過強制簽章、嚴格的API限制以及Secure Enclave等硬體級防護,從系統源頭限制潛在濫用。在此差異下,Android成為遠端存取木馬最常攻擊的平台,而iOS則因多層限制,使同種類的攻擊較難以實現。
圖3 社交工程攻擊流程與生命週期。
惡意APK的散布方式與社交工程
駭客時常利用的並非系統本身漏洞,而是透過社交工程誘使使用者自行安裝惡意APK。一旦受害者按下「允許」與「安裝」,惡意程式即可在合法權限下繞過Android的Sandbox與存取控制,存取相機、麥克風與定位等高敏感性的功能,對攻擊者而言成本較低且成功率高。常見手法包含網路釣魚(Phishing),偽裝成網路銀行、物流或政府單位誘導下載應用程式;更進階的魚叉式釣魚(Spear Phishing)與捕鯨攻擊(Whaling),則針對特定身分量身設計內容以提高可信度。
依據2024年《資料外洩調查報告(DBIR)》,假託攻擊(Pretexting)已成為最主要的社交工程形式,攻擊者常冒充客服或資訊人員,製造緊急情境引導安裝APK。此外,誘餌攻擊(Baiting)與持續騷擾式社交工程(Harassment-based Social Engineering)亦被廣泛運用。隨著人工智慧技術普及,攻擊手法進一步升級,例如利用深度偽造的語音或影片冒充高階主管,甚至利用生成式人工智慧中的擴散模型製作更真實的圖片或影音進行欺騙。
社交工程手法已建立完整攻擊的生命週期,其步驟分為「調查(Investigation)→引誘(Hook)→操弄(Play)→執行(Exit)」流程,如圖3所示。當成功讓使用者主動授權,遠端存取木馬即可在系統信任範圍內進行長期監控,讓Android成為此類攻擊的主要目標。圖4中列出常見的社交工程類型。
惡意APK與社交工程之防禦策略
惡意APK的防禦核心不在複雜技術,而是在攻擊發生前阻斷可疑來源、避免過度授權,並及早識別異常行為。社交工程能繞過多層防護,使用者一旦按下「安裝」與「允許」,惡意App便能偽裝成合法App運作。因此,有效防禦的重點在於減少接觸惡意連結的機會、提升對授權行為的警覺,並建立能偵測異常的環境。
圖4 常見社交工程攻擊類型。
在日常的使用中,最實用的方式仍是避免點擊來路不明的連結、不從第三方網站或破解來源下載App,並對於相機、錄音、定位、簡訊等敏感權限的存取保持警戒心。如果App要求與功能明顯不符的權限,或在未開啟時仍持續運作,往往就是惡意行為的訊號。這些習慣能夠有效抵擋假托攻擊、釣魚攻擊與Deepfake誘導等常見散布方式。
在帳號與密碼管理上,許多使用者在多個網站重複使用相同密碼,進而導致撞庫攻擊(Credential Stuffing)更容易成功,而當攻擊者一旦取得帳號密碼,便可透過假托或釣魚攻擊要求受害者安裝「恢復帳號為由」的APK來進行更進階的攻擊。
如圖5所示,惡意APK的防禦應從使用者行為、系統控管到網路封鎖多層著手:避免可疑來源安裝App、警戒敏感權限的授權,並在異常行為出現時及時防禦。只要保持警覺、持續關注新型攻擊手法,並利用適當工具,即能大幅降低落入XploitSPY等惡意程式的風險。
圖5 社交工程之多層防禦策略。
實作與情境演練
奉兔是一名平凡的上班族,平時透過手機瀏覽社群平台、觀看影音內容,對行動裝置資安風險並未特別留意。某日,他在朋友群組中看到有人轉傳一款在網路上相當熱門的APK,該應用被宣稱可「免費解鎖多款原本需付費的軟體功能」,並搭配「限時分享」、「錯過就沒了」等話術,引起群組內多數人討論與嘗試下載。
在同儕影響與好奇心驅使下,奉兔亦未多加查證來源,便依循連結安裝該APK。在安裝過程中,應用程式要求存取裝置內的照片、檔案、通訊紀錄與麥克風等權限。由於類似權限請求在日常使用中也相當常見,奉兔基於「不授權就無法使用App」的直覺反應,選擇全部同意。起初,手機的操作並未出現明顯異常,使他誤以為只是下載了一款功能較多的應用程式,並未察覺潛在風險。
然而,數日後,奉兔陸續發現部分私人照片與個資疑似外流於網路平台,亦出現帳號異常登入的情形,這才意識到問題的嚴重性。驚慌之餘,他向熟悉資安領域的大學好友斐祥求助。斐祥在聽聞下載來源與行為過程後,立即判斷該APK極可能為XploitSPY惡意程式,並指出這類以「免費」、「破解付費功能」為誘因的應用,正是常見的社交工程攻擊結合惡意木馬程式手法的之一。
為了讓奉兔從一般使用者的角度具體理解攻擊是如何發生的,斐祥並未直接在其手機上進行測試,而是選擇於安全、可控的隔離環境中,實際示範攻擊者常見的操作流程,重現使用者在不知情的情況下成為受害者的過程。以下為斐祥在Kali Linux環境中進行情境演練與技術實作的具體過程。首先,斐祥打開終端機,首先執行套件更新,並安裝Git工具,用於從GitHub上下載開源惡意程式專案原始碼:
sudo apt update sudo apt install git -y
接著,透過NodeSource的安裝腳本加入Node.js 18.x的APT Package並安裝Node.js,讓系統具備執行JavaScript的環境與npm套件管理功能:
curl -fsSL https://deb.nodesource. com/setup_18.x | sudo -E bash - sudo apt install nodejs -y
安裝完成後,他再進行PM2安裝,其為一個用來管理Node.js程式行程(Process)的工具,方便伺服器背景執行、重啟與記錄日誌資訊:
sudo npm install -g pm2
環境就緒後,斐祥切換到家目錄,執行git clone將開源木馬程式XploitSPY的原始碼完整下載,然後進入專案目錄,透過npm install安裝專案所需的所有依賴套件,其操作步驟如下:
git clone https://github.com/ XploitWizer-Community/XploitSPY.git cd XploitSPY npm install
接著進入「server」目錄,使用PM2啟動index.js,從終端機看見PM2回應成功訊息,並顯示Process ID、資源使用情況與預設監聽的連接埠(圖6):
圖6 XploitSPY伺服器啟動畫面。
cd ~/XploitSPY/server pm2 start index.js
然後,輸入ifconfig指令,查詢本機網路介面與對應的IPv4地址,這個IP將作為內部導向位址。在圖7中,可看到網路設定與公開隧道建立結果,接著驗證Node.js服務實際監聽的連接埠:
圖7 確認Node.js服務監聽埠口。
ss -tulnp | grep node
為了模擬真實攻擊情境,使外部主機也能連線,他使用cloudflared tunnel建立一條臨時公開的對外站台。可見終端機顯示一組公開網址,並持續顯示連線狀態:
cloudflared tunnel --url http://127.0.0.1:80
斐祥將該網址貼到Kali內建的Firefox瀏覽器,順利載入攻擊者管理介面的登入畫面,輸入預設帳號密碼(admin∕password)後,成功登入XploitSPY後台,如圖8所示。在選單中,點選「APK Builder」,按下〔Build〕,以建立用於攻擊的惡意APK。
圖8 XploitSPY後台APK Builder操作畫面。
為了模擬受害者的裝置環境,斐祥利用BlueStacks Android模擬器,開啟內建Chrome瀏覽器,將APK下載連結貼入網址列進行下載。
接著,在BlueStacks Android貼上連結進行下載。下載完成後,系統提示是否允許安裝未知來源應用,可從圖9中看見該惡意APK要求許多高敏感存取權限,如存取位置、拍攝相片與影片、讀取通話紀錄、錄製音訊等等,斐祥允許所有權限並順利安裝該APK。
圖9 Android模擬器安裝APK。
為了讓奉兔能具體理解此類惡意APK在實際情境中可能帶來的風險,斐祥於受控的測試環境中示範攻擊者常見的操作流程,並同步說明各項功能對一般使用者可能造成的影響。數秒後,XploitSPY儀表板偵測到新裝置上線:裝置名稱為samsung(SM-G998B)、因環境為本地測試,故IP為127.0.0.1。
圖10 XploitSPY遠端控制功能操作介面。
從圖10左側欄位即可查看受害裝置的相關敏感資訊,包含以下項目:
‧Get SMS:即時顯示所有簡訊內容(包含驗證碼與聊天記錄)
‧Files:瀏覽DCIM∕資料夾,並選取照片下載
‧Location:顯示即時GPS與過去7天的移動軌跡
‧Call Logs:完整通話紀錄一覽
‧Camera:擷取前後鏡頭的即時靜態照片
‧Mic:遠端錄音並下載
‧File Manager:遠端瀏覽與操作任意檔案系統內容
斐祥進一步示範其對裝置內部媒體檔案的存取能力。接著,讀取使用者裝置中的照片,突顯該遠端存取木馬對個人隱私所造成的威脅。在BlueStack模擬器中,事先於BlueStack裝置中下載一張圖片,用以模擬一般使用者手機中常見的個人相簿資料。隨後於XploitSPY後台的裝置控制頁面中,透過File Explorer功能,依序瀏覽至/DCIM/SharedFolder,在檔案清單中清楚看到該張mobile0183.jpg照片,顯示後台已成功取得受害裝置中媒體檔案的讀取權限。
接著,斐祥直接於後台進行該照片並執行下載操作。檔案完成下載後,會被儲存至攻擊端主機的Downloads目錄中,並可立即在Kali Linux環境中開啟與檢視其內容。整個過程中,模擬器端並未出現任何提示、通知或警示,僅仰賴使用者在安裝APK時所授予的檔案與媒體存取權限,即造成相簿資料的外洩。
綜合本次情境演練結果發現,XploitSPY此類工具能在使用者毫無察覺的情況下,於背景中持續運作,並遠端存取與蒐集行動裝置內具高度隱私性的資料,對個人隱私與資訊安全造成威脅。
結語
多數攻擊並非仰賴高深漏洞,而是建立在使用者誤信與授權之上。Android平台的安全性不僅取決於系統底層的防禦,更涉及使用者行為與權限管理策略的整體配合。唯有在提升使用者資安警覺的同時,搭配嚴格的權限控管,才能有效降低惡意程式帶來的風險。
<本文作者:社團法人台灣E化資安分析管理協會(ESAM, https://www.esam.io/) 中央警察大學資訊密碼暨建構實驗室 & 情資安全與鑑識科學實驗室(ICCL and SECFORENSICS) 1998年成立,目前由王旭正教授領軍,並致力於資訊安全、情資安全與鑑識科學、資料隱藏與資料快速搜尋之研究,以為人們於網際網路(Internet)世界探索的安全保障(https://hera.secforensics.org/)>