Mục lục

  1. Giới thiệu
  2. Công cụ và Lệnh Cơ bản
  3. Phân tích Malware Di động
  4. Thu thập Dữ liệu từ Thiết bị
  5. Vị trí Bằng chứng Quan trọng
  6. Phân tích SQLite

Tài liệu tham khảo dành cho Khóa học CHFI 2024/2025

1. Giới thiệu

Tài liệu này cung cấp hướng dẫn chi tiết về phân tích điều tra số trên thiết bị di động, tập trung vào các nền tảng iOS và Android. Mục tiêu là giúp điều tra viên và chuyên gia pháp lý số có thể:

  • Thu thập dữ liệu từ thiết bị di động một cách hiệu quả
  • Phát hiện và phân tích malware
  • Xác định vị trí bằng chứng quan trọng
  • Trích xuất và phân tích dữ liệu

2. Công cụ và Lệnh Cơ bản

2.1. Lệnh ADB cho Android

Yêu cầu: USB Debugging phải được bật trên thiết bị

adb devices                          # Liệt kê thiết bị đã kết nối
adb shell pm list packages          # Liệt kê các package đã cài đặt
adb shell service list             # Liệt kê các service đang chạy
adb shell dumpsys <tên service>    # Xem thông tin chi tiết của service
adb backup –all                    # Sao lưu toàn bộ dữ liệu

2.2. Công cụ libimobiledevice cho iOS

Hoạt động được trên cả thiết bị đã khóa, nhưng có thể yêu cầu thiết lập trust relationship

ideviceinfo              # Cung cấp thông tin thiết bị
idevicepair pair         # Ghép đôi qua CLI
idevice_id.exe –l       # Hiển thị GUID 40 chữ số của thiết bị
idevicename             # Hiển thị tên thiết bị
idevicecrashreport      # Chứa dấu vết sử dụng ứng dụng

3. Phân tích Malware Di động

3.1. Dấu hiệu Nhiễm Malware và Spyware

  • Thiết bị Android có nguy cơ nhiễm malware cao nhất
  • Pin yếu bất thường
  • Cuộc gọi bị gián đoạn
  • Hóa đơn điện thoại cao bất thường
  • Sử dụng dữ liệu tăng đột biến
  • Vấn đề về hiệu năng thiết bị
  • Hành vi thiết bị bất thường:
  • Khởi động lại không theo kế hoạch
  • Ứng dụng tự đóng/mở
  • Cài đặt thay đổi không rõ nguyên nhân
  • Lỗi ứng dụng không rõ nguyên nhân
  • Hành vi người dùng có nguy cơ cao:
  • Tải xuống từ nguồn không đáng tin cậy
  • Duyệt web không an toàn
  • Click vào link đáng ngờ
  • Spyware: Thiết bị từng nằm ngoài tầm kiểm soát của chủ sở hữu

3.2. Phân tích File APK

Các bước chuẩn bị:

  1. Cài đặt Dex2Jar phiên bản mới nhất
  2. Cài đặt JD-GUI phiên bản mới nhất
  3. Cài đặt Java Development Kit

Các bước thực hiện:

  1. Đổi tên file .apk thành .zip
  2. Giải nén và tìm file classes.dex
  3. Copy classes.dex vào thư mục dex2jar
  4. Chạy lệnh d2j-dex2jar.bat classes.dex
  5. Mở file classes_dex2jar.jar bằng JD-GUI để xem mã nguồn

3.3. Phương pháp Phát hiện Malware

  • Phân tích dựa trên chữ ký
  • Phân tích dựa trên đặc tả
  • Phân tích hành vi
  • Khai thác dữ liệu
  • Phân tích dựa trên cloud

3.4. Công cụ Phân tích

Online Sandbox:

  • apk-analyzer.net
  • mobilesandbox.org
  • anubis.iseclab.org
  • droidbox

Phân tích cục bộ:

  • Android SDK
  • Dex2Jar
  • Dexter
  • JD-GUI
  • Máy ảo Santoku

3.5. Phòng chống Malware

Cài đặt ứng dụng antivirus từ các nhà cung cấp uy tín:

  • Avast
  • AVG
  • BitDefender
  • Kaspersky
  • Lookout
  • Sophos
  • TrendMicro
  • Symantec (Norton)
  • TrustGo

4. Thu thập Dữ liệu từ Thiết bị

4.1. Thiết bị Đang Bật và Đã Mở khóa

  1. Thu thập logic/backup
  2. Thu thập hệ thống tập tin/logic nâng cao
  3. Thu thập physical nếu được hỗ trợ
  4. Thu thập riêng thẻ SD và SIM

4.2. Thiết bị Đã Khóa (Bật hoặc Tắt)

  1. Chỉ bật nguồn khi công cụ yêu cầu
  2. Bypass khóa không bypass được mã hóa
  3. Thu thập physical nếu được hỗ trợ
  4. Thu thập hệ thống tập tin/logic nâng cao
  5. Phá khóa nếu có thể
  6. Thực hiện thu thập nâng cao:
  • Chip-off
  • ISP/JTAG
  • Dịch vụ nhà cung cấp (CAIS, GreyShift)
  • EDL/Bootloaders, root, jailbreak

4.3. Thiết bị Không Thể Truy cập

  1. Thu thập dữ liệu cloud:
  • Google
  • iCloud
  • Cloud Sync
  1. Tìm kiếm bản sao lưu smartphone
  2. Xem xét các artifacts đồng bộ hóa

5. Vị trí Bằng chứng Quan trọng

5.1. Thiết bị iOS

Databases quan trọng:

Library/CallHistory/call_history.db              # Nhật ký cuộc gọi
Library/AddressBook/AddressBook.sqlitedb        # Danh bạ
Library/SMS/sms.db                              # Tin nhắn SMS
Library/Calendar/Calendar.sqlitedb              # Lịch
Library/Notes/notes.sqlite                      # Ghi chú
Library/Safari/*                                # Hoạt động Safari
Library/Accounts/Accounts3.sqlite               # Thông tin tài khoản
Library/TCC/TCC.db                             # Quyền ứng dụng
Library/CoreDuet/coreduetd.db                  # Dữ liệu mở khóa

Files plist quan trọng:

com.apple.commcenter.plist                      # Số điện thoại, nhà mạng
com.apple.Maps.plist                           # Vị trí và lịch sử tìm kiếm
SystemConfiguration/com.apple.wifi.plist        # WiFi
Library/Preferences/com.apple.mobilenotes.plist # Ghi chú
Library/SpringBoard/IconState.plist            # Layout màn hình chính

5.2. Thiết bị Android

Partition Data:

/com.android.providers.contacts/databases/contacts2.db    # Danh bạ
/com.android.providers.contacts/databases/calllog.db      # Nhật ký cuộc gọi
/com.android.providers.telephony/databases/mmssms.db      # SMS/MMS
/com.google.android.apps.maps/*                          # Bản đồ
/com.google.android.gm/databases/                        # Gmail
/system/locksettings.db                                  # Cài đặt khóa
/com.android.providers.media/external*.db                # Dấu vết thẻ SD

6. Phân tích SQLite

6.1. Cấu trúc Truy vấn Cơ bản

-- Lấy tất cả từ một bảng
SELECT * FROM A_TABLE;

-- Lấy hai cột từ một bảng
SELECT COLUMN_A, COLUMN_B FROM A_TABLE;

6.2. Chuyển đổi Timestamp

-- UNIX Epoch (số 10 chữ số)
SELECT datetime(TS_COLUMN,'unixepoch')

-- UNIX Epoch milliseconds (số 13 chữ số)
SELECT datetime(TS_COLUMN/1000,'unixepoch');

-- Mac Absolute time
SELECT datetime(TS_COLUMN + 978307200, 'unixepoch');

-- Chrome time
SELECT datetime(TS_COLUMN/1000000 + (strftime('%s','1601-01-01')),'UNIXEPOCH');

6.3. Joins và Truy vấn Nâng cao

-- LEFT JOIN
SELECT ZVIBERMESSAGE.ZTEXT AS "Message Text",
       ZATTACHMENT.ZNAME AS "Attachment Filename",
       datetime(ZVIBERMESSAGE.ZDATE+978307200,'unixepoch','localtime') AS "Message Date",
       ZVIBERMESSAGE.ZSTATE AS "Message Direction/State" 
FROM ZVIBERMESSAGE 
LEFT JOIN ZATTACHMENT on ZATTACHMENT.Z_PK=ZVIBERMESSAGE.ZATTACHMENT

-- Đếm và Nhóm
SELECT MESSAGES,COUNT(*) FROM CHAT GROUP BY CONTACT;

-- Sắp xếp
SELECT * FROM CHAT ORDER BY A_TIMESTAMP ASC

-- Tìm kiếm
SELECT CONTACT, MESSAGE FROM CHAT WHERE CONTACT LIKE '%Hank%'

Lưu ý Quan trọng

  1. Luôn tuân thủ quy trình pháp lý và đảm bảo tính toàn vẹn của bằng chứng
  2. Ghi chép đầy đủ các bước thực hiện
  3. Sử dụng các công cụ đã được kiểm chứng
  4. Cập nhật kiến thức thường xuyên về các kỹ thuật mới
  5. Thực hiện sao lưu dữ liệu trước khi phân tích

Tài Liệu Tham Khảo Dành Cho Khóa Học CHFI 2024 / CEH VIETNAM. Xem thêm Các bài biên soạn bám sát nội dung Outline CHFI v11 EC Council tại đây

https://cehvietnam.com/?s=T%C3%A0i+li%E1%BB%87u+CHFI+2024

Bình luận về bài viết này

Thịnh hành