Đề bài

Phân tích
Bài này cho chúng ta một sự cố là có nội gián trong công ty đã leak thông tin mật công ty ra ngoài, mình sẽ phải tìm ra thông tin đó
Với insider/exfil thì OneDrive (client đồng bộ) là “điểm rơi” rất hay, và thư mục …\Microsoft\OneDrive\logs\ là nơi cho mình ground truth về việc tệp đã được đồng bộ/ đẩy lên mây như thế nào
Vì sao khi gặp insider lại soi OneDrive logs?
- Kênh exfil hợp pháp & ít ồn: Nội gián thường “sống dựa sẵn” (living-off-the-land) bằng các công cụ đã được cấp sẵn như OneDrive/OneDrive for Business. Nếu chỉ soi trình duyệt hay Event Log có thể bỏ lỡ, còn log client OneDrive ghi rất chi tiết từng thao tác đồng bộ (upload/download/rename/delete) ngay trên endpoint. Swift Forensics xác nhận ODL là log cấp độ hàm gọi của OneDrive, hữu ích khi bạn cần chứng minh upload/download/sync ngay cả khi item đã biến mất trên disk/cloud
- Tính sẵn có trên máy người dùng: Đường dẫn mặc định Windows:
C:\Users\<USER>\AppData\Local\Microsoft\OneDrive\logs\ với các nhánh Personal/Business1/Common. Đây là vị trí được cộng đồng DFIR và tài liệu Microsoft Q&A nhắc nhất quán - Uu tiên thực địa hơn server-side: OneDrive for Business còn có Unified Audit Log (trên M365) nhưng đó là phía tenant, bạn thường không có quyền trong bài CTF hay điều tra nội bộ ban đầu. Trong khi ODL trên endpoint lại đầy đủ và ngay trong ảnh đĩa bạn có
Thư mục này chứa thông tin gì đắt giá?
- Định dạng & vòng đời file log:
- Log nhị phân .odl (active), bản cũ nén thành .odlgz; cũng gặp .odlsent/.aold. Thư mục thường chia Common/Business1/Personal (Business1 là tài khoản doanh nghiệp; Personal là tài khoản cá nhân)
- Nội dung mức “hàm gọi”:
Mỗi bản ghi có timestamp (millisecond), tên hàm được OneDrive gọi, tên module/code file, và parameters (chứa các chuỗi: đường dẫn, URL, tên file, v.v.). Đây chính là chỗ bạn đọc ra Upload/UploadSession/PutChanges/Rename/Delete để dựng lại dòng thời gian exfil - Các chuỗi bị che (obfuscate) / mã hoá (encrypt):
- Đời cũ: chuỗi nhạy cảm bị “obfuscate” và giải bằng ObfuscationStringMap.txt (file từ điển đi kèm thư mục logs)
- Từ ~04/2022: nhiều bản mã hoá AES-CBC 128-bit, key lưu trong general.keystore (JSON chứa key base64). Vì vậy bạn cần file này để giải
Công cụ cộng đồng (odl.py của Yogesh Khatri) hỗ trợ cả hai cơ chế và xuất CSV cho bạn grep
- Trích xuất được những gì thực tiễn?
- Bằng chứng hành vi: các event Upload/UploadSession/PutChanges (đổi tên/di chuyển), Delete, link/unlink account, file info, v.v. → đủ để chứng minh “đã đồng bộ lên cloud” vào thời điểm nào, với đường dẫn/tên file nào
- Manh mối tên file/đuôi file: Dù chuỗi bị che, đuôi file không bị che, nên grep theo .zip/.7z/.xlsx/flag vẫn rất hiệu quả để khoanh vùng
- Metadata môi trường: header log còn chứa phiên bản OneDrive và OS version – hữu ích để đối chiếu môi trường khi lập biên bản
Tóm lại: trong bài Nimbus (và nói chung insider-exfil), thư mục …\OneDrive\logs\ là điểm mỏ vì nó ghi dòng thời gian thao tác đồng bộ ở mức hàm gọi, có thể giải che/mã hoá bằng ObfuscationStringMap.txt hoặc general.keystore, và từ đó bạn chỉ ra đúng file/đúng thời điểm bị đẩy lên mây — bằng chứng mạnh hơn hẳn dấu vết trình duyệt hay suy đoán cảm tính.
Phân tích log
Ở đây mình sẽ sử dụng tools để trích xuất nội dung từ các file OneDrive này
$ python3 ~/OneDrive/odl.py -o nimbus_personal.csv nimbus/Export/logs/Personal
$ rg -n -i "FlagY" nimbus_personal.csv
Flag
Flag: FlagY{3ae5183135335ac8c1fa224112f9beb4}
'WriteUp > Forensics' 카테고리의 다른 글
| [Forensics] CovertS - CSCV 2025 (0) | 2025.10.20 |
|---|---|
| [Forensics] Quack - Dreamhack (0) | 2025.10.20 |
| [Forensics] FixPloit - POC CTF 2025 (0) | 2025.10.20 |
| [Forensics] Case AlphaS - CSCV 2025 (2) | 2025.10.19 |
| [Forensics] NostalgiaS - CSCV 2025 (0) | 2025.10.19 |
