# Xensor (CyCraft) EDR Agent 安裝筆記(hospital_web / 106.105.181.70) ## 概述 `106.105.181.70`(SSH 別名 `hospital_web`,hostname `tpecheap`)上部署了 **CyCraft(奧義智慧)Xensor** 端點偵測與回應(EDR)代理程式,agent 名稱為 `cydroned`, 由資安團隊提供的安裝腳本部署。與影音主機 `106.105.181.40`(`hospital_media`)共用同一套 安裝包、同一 APIKey 與部署群組。 - 安裝包:`XENSOR_Linux-臺北市立聯合醫院.zip`,解開後為單一 shell script (檔名 = `_Linux-臺北市立聯合醫院.sh`) - 部署群組:`Linux-臺北市立聯合醫院`(appid `A00003`) - 回報伺服器:`https://node7.xensor.ai:443` > ⚠️ **敏感資訊**:安裝包與設定檔內含 APIKey、RSA 公鑰、內部群組名稱(醫院名)。 > 屬該院的部署憑證,請勿外流或提交到公開 repo(本 repo 已用 `.gitignore` 排除 zip)。 ## 安裝包資訊 | 項目 | 值 | |------|-----| | Agent 名稱 | `cydroned` | | 安裝路徑 | `/usr/local/bin/cydroned` | | 設定目錄 | `/etc/cydroned/`(主設定檔 `/etc/cydroned/config`) | | 服務檔 | `/lib/systemd/system/cydroned.service`(service 名稱 `CyDrone Agent`,enabled) | | 資料目錄 | `/var/lib/cydroned/`(含 `loader`、`quarantine`,僅 root 可讀) | | 日誌 | `/var/log/cydroned.log`、`/var/log/cydroned/`(僅 root) | | APIKey | `c064efc31aed4ec4a5073013809a169d` | | TargetURL | `https://node7.xensor.ai:443` | | 同步週期 | `SyncPeriodSec: 600` | | CPU 上限 | `MaxCPU: 35` | ## 連線到主機 `106.105.181.70` 不可直連,需經跳板(`~/.ssh/config` 已設好 `hospital_web` 別名): ``` 本機 → timmy_home_server (125.229.110.50:22, user timmy) ← 需密碼,另行保管 → jason_hsieh_home_srv (220.135.27.129:2022, user timmy) ← 金鑰 → hospital_web (106.105.181.70:22, user tpech_1duan) ← 金鑰 ``` > 第一跳 `timmy_home_server` 用**密碼認證**;若 ControlMaster 主連線仍在 > (`~/.ssh/sockets/`),可用 `ssh -o BatchMode=yes hospital_web` 重用、免再輸密碼。 ## 安裝腳本運作方式 腳本(`_..._Linux-臺北市立聯合醫院.sh`)分三段: 1. **前置相容性檢查**:CPU 架構、kernel、libc、init 系統、`/proc`、`/sys`、套件管理器、 Python 版本與模組、`/tmp` `/var/log` `/var/lib` 磁碟空間。 若 `/usr/local/bin/cydroned` 或 `/etc/cydroned` 已存在,**預設直接退出不重裝**。 2. **下載並安裝 agent**:從 `node7.xensor.ai` 依架構下載 `cydroned`,驗證為 ELF 後執行: ``` ./cydroned -sync 5 -url https://node7.xensor.ai:443 \ -apikey c064efc31aed4ec4a5073013809a169d -pubkey -background ``` 裝成 systemd 服務常駐回報。 3. **失敗時自動診斷**:失敗會跑診斷蒐集日誌打包,提示送交 CyCraft。 ### 執行安裝(本機 .70 實際步驟) `hospital_web`(Ubuntu 24.04)**沒裝 `unzip`**,且 zip 內 `.sh` 檔名含中文、 **macOS 直接 `unzip` 會 `Illegal byte sequence` 解不開**。因此在本機用 `unzip -p` 導出乾淨檔名再上傳: ```bash # 1. 本機解壓(避開中文檔名)→ 上傳乾淨檔名 unzip -p XENSOR_Linux-臺北市立聯合醫院.zip > cydroned_install.sh scp -o BatchMode=yes cydroned_install.sh hospital_web:~/ # 2. 在主機上以 root 執行(sudo 為 NOPASSWD) ssh -o BatchMode=yes hospital_web ' chmod +x ~/cydroned_install.sh sudo sh ~/cydroned_install.sh ' # 3. 裝完清掉上傳的檔案 ssh hospital_web 'rm -f ~/cydroned_install.sh ~/XENSOR_Linux-*.zip' ``` 腳本選項: | 選項 | 用途 | |------|------| | (無) | 正常安裝(已安裝會退出,exit 3) | | `-f` | 強制安裝:先解除既有安裝再重裝 | | `-d` / `--diagnosis` | 只跑診斷,蒐集系統/agent 資訊打包供 CyCraft 排錯 | | `-h` | 顯示用法 | > **踩坑**:安裝**剛完成的數秒內**,`systemctl status cydroned` 可能報 unit not found、 > `/etc/cydroned/config` 也還沒寫完——這是 daemon-reload 與初始化的競態, > 稍等再查即正常(service enabled + active running)。 ## 驗證安裝狀態 ```bash ssh hospital_web ' sudo ls -al /usr/local/bin/cydroned # 執行檔 pgrep -a cydroned # process systemctl status cydroned --no-pager | head # 服務狀態 sudo grep -iE "apikey|targeturl" /etc/cydroned/config sudo /usr/local/bin/cydroned -id # Endpoint ID sudo /usr/local/bin/cydroned -version # 版本 ' ``` ### 目前狀態(2026-06-08 安裝) | 項目 | 值 | |------|-----| | 安裝日期 | 2026-06-08 | | OS | Ubuntu 24.04.4 LTS(kernel 6.8.0,Python 3.12.3) | | 執行檔 | `/usr/local/bin/cydroned`(16.9 MB,root) | | 服務 | `cydroned.service` enabled + **active (running)** | | Endpoint ID | `2BAF82335C17FCE1541D2210DB083EC6` | | 版本 | `0.57.5 (release)`,tag `ap03`,build `20260126074153` | | 設定一致性 | APIKey / TargetURL / PubKey 皆與安裝包相符 ✅ | ## 解除安裝 腳本以 `-f` 執行時會先解除既有安裝,等同於: ```bash sudo /usr/local/bin/cydroned -ctrl force-uninstall sudo /usr/local/bin/cydroned -uninstall sudo killall cydroned sudo rm -rf /etc/cydroned /var/lib/cydroned /usr/local/bin/cydroned \ /var/log/cydroned /var/log/cydroned.log \ /lib/systemd/system/cydroned.service /etc/init/cydroned.conf /etc/init.d/cydroned ``` ## 注意事項 - 這是**合法商用 EDR agent**,但行為(root、常駐、外連 `node7.xensor.ai`、可 dump process 記憶體)與惡意程式相似,操作前需確認來源與授權。 - agent 以 root 運行,`/var/lib/cydroned`、`/var/log/cydroned/` 僅 root 可讀屬正常。 - 重跑安裝腳本(不帶 `-f`)在已安裝狀態下會直接退出,不會破壞現有部署。 - 影音主機 `106.105.181.40`(`hospital_media`)也裝了同一套 agent,Endpoint ID `25F3B0AFCA173F2417950B2FD28CFA66`(2026-04-14 安裝)。