92 lines
7.6 KiB
Markdown
92 lines
7.6 KiB
Markdown
|
|
||
|
|
||
|
[![Banner](https://gitlab.com/PGTechs/pg-logos/-/raw/4963be53b9a461706e8f2a2ddcb9ab8a710501c7/atwork_g.png)](https://www.youtube.com/playlist?list=PLDpvBa7Jf-4oEM3skj5FFPk-BoP5UHFyC)
|
||
|
|
||
|
[![GitLab](https://img.shields.io/static/v1.svg?color=fc6d26&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PG%20Techs%20GitLab&message=Star)](https://gitlab.com/PGTechs "GitLab Repo ของเรา")
|
||
|
[![YouTube](https://img.shields.io/static/v1.svg?color=ff0000&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PG%20Techs%20YouTube&message=Subscribe)](https://www.youtube.com/c/PGTechs "ช่อง YouTube ของเรา")
|
||
|
[![Facebook](https://img.shields.io/static/v1.svg?color=0572e6&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PG%20Techs%20Facebook&message=Like)](https://www.facebook.com/PrincegameRAX "เพจ Facebook ของเรา")
|
||
|
|
||
|
|
||
|
# ตรวจหาสปายแวร์ Pegasus บน Android เบื้องต้นด้วย MVT บนคอมพิวเตอร์ Linux
|
||
|
|
||
|
ปัจจุบัน (ก.ค. 2565) MVT รองรับเฉพาะระบบปฏิบัติการ macOS และ Linux ดังนั้น หากไม่ใช้เครื่อง Mac จะต้องใช้คอมพิวเตอร์ทั่วไปที่ติดตั้งระบบปฏิบัติการ Linux อาจจะเป็นเครื่องที่ติดตั้งแบบ Bare-metal หรือติดตั้งเป็น Virtual machine แล้วทำ USB device passthrough/redirection ก็ได้เช่นเดียวกัน
|
||
|
|
||
|
**หากอยู่บน Windows แต่ไม่ต้องการทำ Virtual machine อาจทดลองติดตั้งและใช้งานผ่าน WSL2 แทน** [ดูรายละเอียดได้ที่นี่](https://docs.mvt.re/en/latest/install/)
|
||
|
|
||
|
## 1. ตั้งค่า Environment variable "$PATH"
|
||
|
|
||
|
เราจำเป็นต้องแก้ $PATH เพื่อให้สามารถรันคำสั่งจากแพ็กเกจที่จะถูกติดตั้งโดย `pip3` ใน `$HOME/.local/bin` ได้โดยการรันคำสั่งต่อไปนี้ในเทอร์มินัล
|
||
|
|
||
|
export PATH=$PATH:$HOME/.local/bin
|
||
|
|
||
|
หากต้องการใช้งานคำสั่งใน `$HOME/.local/bin` เป็นประจำ แนะนำให้ใส่คำสั่งข้างต้นลงในไฟล์ .bashrc โดยการรันคำสั่งต่อไปนี้
|
||
|
|
||
|
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc
|
||
|
|
||
|
เปลี่ยน `.bashrc` เป็น `.zshrc` หากใช้ `zsh`
|
||
|
|
||
|
## 2. ติดตั้ง Dependencies
|
||
|
|
||
|
สำหรับดิสโทรกลุ่ม Ubuntu/Debian
|
||
|
|
||
|
sudo apt install adb python3 python3-pip libusb-1.0-0 sqlite3
|
||
|
|
||
|
สำหรับดิสโทรกลุ่ม Fedora/RHEL
|
||
|
|
||
|
sudo dnf install android-tools python3 python3-pip libusb1 sqlite
|
||
|
|
||
|
## 3. ติดตั้ง MVT และดาวน์โหลด STIX2 Indicators of Compromise (IOCs)
|
||
|
|
||
|
ใช้คำสั่ง `pip3` ในการติดตั้ง `mvt`
|
||
|
|
||
|
pip3 install mvt
|
||
|
|
||
|
สร้างโฟลเดอร์ที่จะใช้ในการจัดเก็บ IOCs
|
||
|
|
||
|
mkdir -p $HOME/.local/share/mvt/
|
||
|
|
||
|
ดาวน์โหลด IOCs จาก Public repository
|
||
|
|
||
|
mvt-android download-iocs
|
||
|
|
||
|
## 4. เปิดใช้งาน USB Debugging บนอุปกรณ์ Android
|
||
|
|
||
|
เราจะตรวจกันโดยผ่าน Android Debug Bridge ดังนั้นเราจำเป็นต้องเปิดใช้งานการแก้ไขข้อบกพร่อง USB (USB Debugging) ที่อยู่ในการตั้งค่าสำหรับผู้พัฒนา (Developer options) ก่อน ซึ่งเราสามารถเข้าถึงการตั้งค่าที่ซ่อนอยู่นี้ได้โดยการไปที่หน้า "เกี่ยวกับโทรศัพท์" และกดที่ Build number 7 ครั้ง
|
||
|
|
||
|
## 5. เชื่อมต่ออุปกรณ์ที่ต้องการตรวจสอบกับคอมพิวเตอร์
|
||
|
|
||
|
- เชื่อมต่ออุปกรณ์ Android ที่ต้องการตรวจสอบกับคอมพิวเตอร์ผ่านสาย USB
|
||
|
- ตั้งค่า USB device passthrough/redirection (หากใช้ Linux ใน Virtual machine)
|
||
|
- กดอนุญาต USB Debugging ที่หน้าจอของอุปกรณ์ Android
|
||
|
|
||
|
## 6. เริ่มการตรวจสอบ
|
||
|
|
||
|
รันคำสั่งตรวจสอบผ่าน ADB
|
||
|
|
||
|
mvt-android check-adb
|
||
|
|
||
|
MVT จะแสดงผลว่าได้ Parse STIX2 สำหรับการตรวจหา Pegasus, Predator และ RCSLab แล้ว ดังรูป
|
||
|
|
||
|
![ParseSTIX2](screenshots/parseiocs.png)
|
||
|
|
||
|
ที่อุปกรณ์ Android จะมีหน้า Full backup ขึ้นมา หากอุปกรณ์ถูกเข้ารหัส (เช่นการตั้ง PIN ปลดล็อคเครื่อง) ให้ใส่รหัสผ่านที่ใช้ในการปลดล็อคเครื่องถามปกติ
|
||
|
|
||
|
ในขั้นตอนของการตรวจสอบ SMS จะมีการถามจากฝั่งคอมพิวเตอร์ดังรูปต่อไปนี้ ให้ใส่รหัสผ่านที่ใช้ในการปลดล็อคเครื่องเช่นเดียวกัน
|
||
|
|
||
|
![BackupPassword](screenshots/smspasswd.png)
|
||
|
|
||
|
จากนั้น MVT จะทำการตรวจสอบตาม STIX2 IOCs ที่เราได้ดาวน์โหลดไปก่อนหน้านี้ ในกรณีที่ต้องการเลือกไฟล์ `.stix2` เอง [สามารถดูรายละเอียดได้ที่นี่](https://docs.mvt.re/en/latest/iocs/)
|
||
|
|
||
|
หาก Modules ต่าง ๆ ตรวจไม่พบตาม IOCs โมดูลต่าง ๆ จะแสดงผล `produced no detections!` ดังรูป
|
||
|
|
||
|
![NoDetect](screenshots/nodetect.png)
|
||
|
|
||
|
## หมายเหตุ
|
||
|
|
||
|
สำหรับการตรวจสอบขั้นสูง อาจเลือกใช้วิธีการติดต่อหน่วยงานอย่าง [iLaw](https://www.ilaw.or.th/) เพื่อให้ช่วยประสานงานกับผู้เชี่ยวชาญต่อไป
|
||
|
|
||
|
## ช่วยเหลือ
|
||
|
|
||
|
การตรวจหาสปายแวร์ Pegasus บน Android เบื้องต้นด้วยคอมพิวเตอร์ Linux ก็จะประมาณนี้นะครับ ใครมีข้อสงสัย หรือติดขัดตรงไหน สามารถสอบถามกันเข้ามาทางคอมเมนต์หรืออินบอกซ์เพจ facebook ของเราได้เลยครับ
|
||
|
|
||
|
[![Footer](https://gitlab.com/PGTechs/pg-logos/-/raw/41f79f17bbb0a26bd580c005fa294f5c3b83eb9e/docs_footer.png)](https://www.facebook.com/PrincegameRAX)
|