Hi, sau đây là 2 challenge về Digital Forensics mình cùng các teammates thực hiện trong kì thi cuối kì.
Challenge 1: King of Memory Forensics
Writeup
Đầu tiên, chúng ta sử dụng imageinfo
để tìm profile cho file memory dump.
Vì Challenge gợi ý cho chúng ta tìm password của laptop nên chúng ta sẽ sử dụng hashdump
và mimikatz
plugin để dump user password, tuy nhiên không tìm thấy được gì.
Sau một thời gian tìm kiếm, nhóm đã tìm được một tool là Passware Kit Forensics
. Thực hiện chạy và tìm thấy password của laptop.
PasswordLaptop: welcometow1
Tiếp theo, trong quá trình điều tra sử dụng plugin consoles
để điều tra các lệnh được gõ thì chúng ta phát hiện một rootkit driver được compile.
Sử dụng filescan
plugin và lệnh grep để tìm kiếm các file có liên quan đến rootkit.
Thực hiện dump driver HideProcessHookMDL.sys
và sử dụng IDA Pro để phân tích nó thì ta thu được một message bên trong hàm DriverEntry
.
Message: H3y_Y0u_F0und_M3
Dựa vào kinh nhiệm làm việc với rootkit từ trước, ta nhận thấy rằng driver rootkit này sẽ thực hiện che dấu một tiến trình nào đó khi được kích hoạt và tên của tiến trình được ẩn sẽ được so sánh ở một nơi nào đó trong chương trình. Trong hàm sub_11006
, ta tìm được lệnh so sánh khả nghi.
Tìm đến địa chỉ word_1122E
, ta thu được chuỗi WindowUpdate
ProcessIsHidden: WindowUpdate
Cuối cùng, ta thực hiện dump file WindowUpdate.exe
và thực thi nó trên một máy ảo Windows.
WhatDoesTheMaliciousCodeShow: easy_malware_detection
Kết hợp tất cả các dữ liệu trên, ta có được flag cuối cùng:
FLAG: W1{welcometow1-WindowUpdate-H3y_Y0u_F0und_M3-easy_malware_detection}
Challenge 2: King of Stegano
Writeup
Kiểm tra file với file, ta thấy file không được coi là png.
Kiểm tra với xxd
, ta không thấy signature của PNG và phần cuối cũng thiếu chunk IEND
.
Ta thêm signature của file png là 89 50 4E 47 0D 0A 1A 0A
, thấy rằng nó cũng thiếu một chunk quan trọng là IHDR
, ta thêm 00 00 00 0D 49 48 44 52
, và phần ở byte 0 đến chunk IDAT
sẽ thuộc chunk IHDR
. Và cuối cùng là thêm IEND
là 49 45 4E 44 AE 42 60 82
.
Kiểm tra lại với pngcheck
và không có lỗi.
Sau một lúc thực hiện kiểm tra với các tool steganography nhưng không có kết quả, thử với tool appa
, decode và có được phần đầu của flag: W1-Y0u-4r3
.
Tiếp theo đến với file zip Crackme.zip
, thấy có 2 file một file là file flag.txt
, hai là file Chall.png
. Rất có thể đây là file Chall.png
trước khi bị chỉnh sửa, từ đây có thể thực hiện crack file zip nhờ vào kỹ thuật plaintext-known
.
Sử dụng pkcrack
để crack, ta cần một file zip chứa file Chall.png
ta đã có (đặt tên lại là PlainChall.png
). Kiểm tra lại đảm bảo 2 file cùng giá trị CRC
.
Thực hiện crack và đã thành công
Thực hiện unzip file đã được crach và có nửa flag còn lại: -K1ng-0f-F0r3ns1cs
.
Kết hợp 2 nửa flag, ta có flag hoàn chỉnh:
Flag: W1{Y0u-4r3-K1ng-0f-F0r3ns1cs}
Finishing with the two First Bloods hihi 😍