tên challenge: Don't forget to lock mô tả: We seiz...

Создано: 7 мая 2026 г.

Отвечено с использованием GPT-5.5 Thinking от Chat01

Вопрос

tên challenge: Don't forget to lock
mô tả: We seized a suspect's computer and managed to capture a RAM dump before it was powered off, along with an encrypted disk. Your objective is to decrypt the drive.
link đính kèm: https://drive.google.com/file/d/1vbLkEBumF0rmokvW9iWbCKMtCjmPzP4J/view?usp=drive_link
flag format: THC{...}
solve challenge
bạn cần tự tải file challenge về, vì file này hơi nặng nên tôi không thế gửi lên cho bạn được

Мысль

undefined

Мысль

undefined

Мысль

Final solution outline

I’ll provide a full "solve recipe" with the commands the user needs to run if the file is accessible. I’ll clarify the Volatility-BitLocker extraction using tools like dislocker and bdemount, ensuring the correct syntax and detail when using VeraCrypt instead of BitLocker. I’ll also include exact sources and citations.

Thought for 3m 20s

Ответ

Mình chưa thể lấy flag cuối cùng vì môi trường chạy lệnh của mình không tải được file từ Google Drive: gdown lỗi DNS khi resolve drive.google.com, còn trình đọc web chỉ mở được trang Drive dạng HTML với link “Sign in”, không có nội dung archive để phân tích. Trang Drive xác nhận tên file là chall.tar.gz, nhưng không cung cấp file bytes cho mình trong phiên này. (Google Drive)

Dựa trên mô tả challenge, hướng giải gần như chắc là trích key BitLocker/FVEK từ RAM dump, rồi mount ổ đĩa mã hóa. Plugin Volatility-BitLocker dùng để lấy FVEK trong memory, sau đó dùng Dislocker/libbde để giải mã volume; repo plugin cũng mô tả đúng luồng này. (GitHub) bdemount nhận khóa theo dạng FVEK:TWEAK base16 qua option -k. (manpages.opensuse.org)

Chạy cục bộ như sau:

bash
mkdir dont-forget-lock && cd dont-forget-lock # tải file gdown 'https://drive.google.com/uc?id=1vbLkEBumF0rmokvW9iWbCKMtCjmPzP4J' -O chall.tar.gz tar -xvzf chall.tar.gz find . -maxdepth 3 -type f -exec file {} \;

Sau đó xác định RAM dump và disk image, ví dụ:

bash
ls -lh file *

Nếu disk là BitLocker:

bash
sudo apt update sudo apt install -y libbde-utils ntfs-3g git python3-pip # kiểm tra image/partition BitLocker bdeinfo encrypted_disk.img

Tìm offset partition nếu image là full disk:

bash
mmls encrypted_disk.img

Ví dụ nếu partition bắt đầu ở sector 2048, offset bytes là:

bash
echo $((2048 * 512))

Trích FVEK từ RAM:

bash
git clone https://github.com/breppo/Volatility-BitLocker.git # nếu challenge dùng Volatility 2: volatility -f memory.raw imageinfo volatility -f memory.raw --profile=<PROFILE> bitlocker --dump-dir keys

Plugin sẽ in ra hoặc dump key dạng:

text
FVEK=<hex> TWEAK=<hex>

Mount ổ bằng bdemount:

bash
mkdir -p bde_mount ntfs_mount sudo bdemount \ -k FVEK_HEX:TWEAK_HEX \ -o OFFSET_BYTES \ encrypted_disk.img \ bde_mount sudo mount -o ro,loop,show_sys_files,streams_interface=windows \ bde_mount/bde1 \ ntfs_mount

Tìm flag:

bash
grep -RaoE 'THC\{[^}]+\}' ntfs_mount 2>/dev/null

Nếu disk image là partition BitLocker trực tiếp, bỏ -o OFFSET_BYTES:

bash
sudo bdemount -k FVEK_HEX:TWEAK_HEX encrypted_partition.img bde_mount sudo mount -o ro,loop bde_mount/bde1 ntfs_mount grep -RaoE 'THC\{[^}]+\}' ntfs_mount 2>/dev/null

Mình không muốn bịa flag khi chưa đọc được archive. Khi bạn chạy được các lệnh trên, đoạn quan trọng nhất cần gửi lại là output của:

bash
find . -maxdepth 3 -type f -exec file {} \; mmls encrypted_disk.img volatility -f memory.raw --profile=<PROFILE> bitlocker --dump-dir keys

Từ đó có thể chốt chính xác FVEK:TWEAK, mount disk và lấy THC{...}.

Поделиться этим Q&A