Bagaimana cara membaca file Hibernation Windows (hiberfil.sys) untuk mengekstrak data?

8

Saya perlu menemukan semua data disimpan dalam file hibernasi dengan menguraikannya. Namun, sampai sekarang, saya hanya berhasil melakukannya secara manual dengan membukanya di editor Hex dan kemudian mencari teks di dalamnya. Saya menemukan tentang Perpustakaan SandMan tetapi tidak ada sumber daya hadir. Adakah yang tahu cara membaca file? Atau ada alat / pustaka atau metode lain untuk melakukannya?

pembuat kode
sumber
3
file hiberfil adalah gambar ram sistem pada saat hibernasi. dengan demikian, ya, Hex Editor kemungkinan adalah yang terbaik yang akan Anda dapatkan. Tugas ini pada dasarnya tidak berbeda dengan mencoba membaca isi RAM Anda.
Frank Thomas
1
@FrankThomas, tahukah Anda apa format file hibernasi?
coder
@ OliverSalzburg Saya ingin tahu beberapa struktur data untuk membaca file?
coder
1
@WernerHenze untuk tugas saya
coder

Jawaban:

7

Anda dapat menemukan banyak informasi tentang Hiberfil.sysdi halaman ForensicWiki .

Meskipun sebagian besar struktur data yang diperlukan untuk mem-parsing format file tersedia dalam simbol debug Microsoft Windows, kompresi yang digunakan (Xpress) tidak didokumentasikan hingga terbalik direkayasa oleh Matthieu Suiche. Dia membuat dengan Nicolas Ruff sebuah proyek bernama Sandman adalah satu-satunya alat open-source yang dapat membaca dan menulis file hibernasi Windows.

Pdf proyek Sandman ditemukan di sini .

Pembuat proyek Sandman juga menciptakan alat untuk membuang memori dan Hiberfil.sys-file (dan mengekstraknya dari format kompresi XPress). MoonSols Windows Memory Toolkit

Beberapa tautan lain pada halaman ForensicWiki tidak berfungsi lagi tetapi ini adalah salah satu yang saya temukan: (Jika Anda ingin terjun langsung ke dalam format-struktur, Anda dapat menggunakan sumber ini. Untuk header, 8192 byte pertama dari file, Anda tidak perlu mengompres mereka)

Hibernation File Format.pdf

PDF terakhir ini dan tautan terakhir pada halaman ForensicWiki akan memberi Anda informasi yang cukup tentang struktur Hiberfil.sys.

File hibernasi terdiri dari header standar (PO_MEMORY_IMAGE), satu set konteks kernel dan register seperti CR3 (_KPROCESSOR_STATE) dan beberapa array blok data Xpress yang dikompresi / disandikan (_IMAGE_XPRESS_HEADER dan _PO_MEMORY_RANGE_ARRAY).

Header standar ada di offset 0 file dan ditunjukkan di bawah ini. Secara umum, anggota Signature harus "hibr" atau "wake" agar dianggap valid, namun dalam kasus yang jarang seluruh header PO_MEMORY_IMAGE telah di-nolkan, yang dapat mencegah analisis file hibernasi di sebagian besar alat. Dalam kasus tersebut, volatilitas akan menggunakan algoritma brute force untuk menemukan data yang dibutuhkan.

Referensi dalam dokumen-dokumen itu harus memberi Anda banyak sumber lain untuk dijelajahi juga.

Rik
sumber
3

Saya akan sangat menyarankan Anda untuk melihat jawaban ini dari security.stackexchange.com . Ini menunjukkan cara yang hebat, cara mengekstrak data dan juga informasi tentang algoritma itu sendiri.

Saya telah menyoroti bagian-bagian penting.

Ya, itu menyimpannya tidak terenkripsi di disk. File tersembunyi di C:\hiberfil.sys, yang akan selalu dibuat di sistem apa pun yang memiliki hibernasi diaktifkan. Konten dikompres menggunakan algoritma Xpress, dokumentasi yang tersedia sebagai dokumen Word dari Microsoft . Matthieu Suiche melakukan analisis komprehensif sebagai presentasi BlackHat pada 2008, yang dapat Anda peroleh sebagai PDF . Ada juga alat yang disebut MoonSols Windows Memory Toolkit yang memungkinkan Anda untuk membuang konten file. Saya tidak tahu apakah itu memungkinkan Anda mengkonversi kembali. Anda mungkin harus bekerja dengan cara melakukannya sendiri.

Setelah data dikeluarkan, Anda dapat mengekstraksi atau memodifikasi data, termasuk instruksi. Dalam hal mitigasi, solusi terbaik Anda adalah dengan menggunakan enkripsi disk penuh seperti BitLocker atau TrueCrypt.

Sumber

Kristen
sumber
3

Konversikan file hiberfil.sys menjadi gambar mentah menggunakan http://code.google.com/p/volatility/downloads/list . Versi terbaru seperti sekarang adalah 2.3.1. Secara khusus, Anda dapat menggunakan baris perintah berikut untuk pertama kali membuat gambar mentah: -f imagecopy -O hiberfil_sys.raw. Ini akan membuat gambar mentah bagi Anda untuk kemudian menjalankan volatilitas yang akan membantu Anda mengekstrak informasi seperti proses, koneksi, soket, dan sarang registri (hanya untuk beberapa nama). Daftar lengkap plugin dapat ditemukan di sini: https://code.google.com/p/volatility/wiki/Plugins . Tentu saja, mandiant redline adalah alat lain yang menyediakan fungsionalitas itu. Semoga ini bisa membantu.

labgeek
sumber