Mengesan rootkit dengan RootkitRevealer: Panduan praktikal dan komprehensif

Kemaskini terakhir: 19/09/2025
Pengarang Ishak
  • Bandingkan API bagi Windows dengan data cakera/log mentah untuk mendedahkan kekeliruan.
  • Mentafsir percanggahan: metadata NTFS, Jenis/saiz Pendaftaran dan perubahan langsung.
  • Diperkukuhkan dengan pengimbasan luar talian, Secure Boot/TPM dan alat anti-rootkit khusus.

Bagaimana untuk mengesan rootkit dengan RootkitRevealer

Rootkit, mengikut definisi, sangat menjengkelkan: ia bersembunyi jauh di dalam sistem anda dan memperdayakan alat anda untuk berfikir semuanya baik-baik saja sedangkan ia tidak. Mengetahui bagaimana untuk mendedahkan mereka dengan utiliti seperti RootkitRevealer adalah kunci untuk mendapatkan semula kawalan. Dalam panduan ini, saya menerangkan, langkah demi langkah, cara memahami keputusan anda, maksud percanggahan anda, dan cara bertindak tanpa tergesa-gesa atau melanggar apa-apa di sepanjang jalan, sentiasa dengan Nasihat praktikal dan pendekatan bertahan 100%..

Walaupun RootkitRevealer ialah alat veteran, falsafahnya masih banyak mengajar anda tentang cara rootkit bersembunyi dan cara membandingkan "apa yang Windows katakan" dengan "apa yang sebenarnya pada cakera." Anda akan melihat perkara yang dikesan dengan baik, perkara yang tidak, cara mengautomasikan imbasan dan cara mentafsir kes biasa seperti fail metadata NTFS, kunci pendaftaran dengan NULL terbenam atau perbezaan saiz/jenis antara API dan data mentah.

Apakah rootkit dan mengapa ia sangat sukar untuk dikesan?

Apabila kita bercakap tentang rootkit kita merujuk kepada teknik dan komponen malware (virus, perisian pengintip atau Trojan) yang objektifnya adalah menyembunyikan kehadiran mereka kepada sistem dan alatan keselamatan. Keupayaan penyamaran inilah yang menjadikannya sukar untuk dikesan dan dihapuskan.

Berdasarkan kegigihan mereka, kami membezakan antara rootkit yang masih hidup but semula (berterusan) dan yang tinggal hanya dalam ingatan (tidak berterusan). Rootkit yang berterusan menyimpan komponen dalam Pendaftaran atau sistem fail dan berjalan secara automatik apabila komputer dimulakan, manakala rootkit memori hilang selepas but semula. reboot.

Berdasarkan operasinya, ia diklasifikasikan sebagai mod pengguna atau mod kernel. Mod pengguna mengganggu fungsi API Windows (FindFirstFile/FindNextFile, penghitungan proses atau Registry) untuk menapis elemen yang akan mengkhianati kehadirannya. Program mod kernel turun satu tahap dan memanipulasi panggilan asli atau struktur dalaman sistem, malah menyembunyikan proses dalam senarai proses kernel aktif.

Di samping itu, dalam amalan anda akan melihat keluarga dan teknik lain: kernel, aplikasi, memori, bootkit (mereka bertindak pada pemuat but) boot), perpustakaan dan rootkit perisian tegar. Perisian tegar dan rootkit but adalah sangat jahat kerana ia dimuatkan sebelum sistem pengendalian dan boleh bertahan dengan pemasangan semula.

Konsep dan jenis rootkit

Cara RootkitRevealer berfungsi: membandingkan paparan Windows dengan data sebenar

RootkitRevealer direka untuk menemui rootkit yang memanipulasi API. Caranya ialah membandingkan "pandangan peringkat tinggi" (Windows API) dengan "paparan peringkat rendah" (bacaan mentah volum NTFS/FAT dan sarang Pendaftaran). Jika sesuatu ditunjukkan melalui API tetapi tidak dalam data mentah, atau sebaliknya, terdapat masalah. percanggahan yang patut dianalisis.

Terima kasih kepada pendekatan ini, RootkitRevealer pernah menangkap ancaman berterusan yang popular seperti AFX, Vanquish dan HackerDefender. Berhati-hati, ia tidak meliputi segala-galanya: contohnya, ia tidak direka bentuk untuk mengesan rootkit yang tidak cuba menyembunyikan fail atau kunci pendaftaran (seperti Fu), jadi kegunaannya tertumpu pada mereka yang "membuat" penghitungan.

Bolehkah rootkit menipunya? Secara teorinya, ya: mereka perlu memintas bacaan mentah daripada sarang Registry atau data cakera dan mengubah suainya dengan cepat tanpa melanggar konsistensi NTFS/FAT atau format sarang Registry. Kecanggihan ini wujud dalam senario lanjutan, tetapi ia bukan perkara remeh untuk dilaksanakan. melaksanakan tanpa meninggalkan kesan.

Adalah penting untuk mengingati had asas: dalam sistem yang telah dikompromi oleh rootkit kernel, tidak ada jaminan mutlak. Penyerang dengan kawalan kernel boleh memanipulasi mana-mana API, walaupun yang digunakan oleh RootkitRevealer. Oleh itu, apabila boleh, adalah idea yang baik untuk menyemaknya imbasan luar talian dan bandingkan hasil "dalam talian/luar talian".

  EU mendesak negara anggota untuk mengukuhkan keselamatan siber dalam sektor penjagaan kesihatan.

Cara RootkitRevealer Berfungsi

Keperluan dan amalan terbaik sebelum mengimbas

Untuk RootkitRevealer berfungsi dengan betul, akaun yang menjalankannya mesti mempunyai keistimewaan "Sandarkan fail dan direktori", "Muatkan pemacu" dan "Lakukan tugas penyelenggaraan volum". Dalam Windows XP dan kemudiannya, kumpulan Pentadbir sudah mempunyai kebenaran ini, jadi jalankan alat daripada akaun dengan kebenaran berikut: keistimewaan yang tinggi.

Minimumkan positif palsu: Tutup semua aplikasi dan biarkan komputer anda melahu yang mungkin semasa imbasan. Mengelakkan perubahan fail dan kata laluan semasa mengimbas mengurangkan percanggahan "jinak" (cth., log berputar atau kata laluan). mengemas kini cap masanya setiap beberapa saat).

Nota praktikal: versi dalam talian bagi arahan kerana perisian hasad sedang mencari executable mengikut nama. Utiliti kini melancarkan salinan dengan nama rawak dan berjalan sebagai perkhidmatan, walaupun ia mengekalkan parameter untuk mengautomasikan dan simpan hasil ke dalam fail.

Jika timbul sebarang keraguan mengenai penggunaan atau tafsiran, menyemak forum teknikal Sysinternals mungkin memberikan petunjuk kepada kes kehidupan sebenar dan positif palsu biasa, terutamanya dengan entri pendaftaran "jarang", aliran data alternatif atau Metadata NTFS.

Persediaan dan keperluan untuk mengimbas dengan RootkitRevealer

Penggunaan RootkitRevealer secara manual

Penggunaan asas adalah mudah: buka apl dan ketik "Imbas." Anda akan melihat kemajuan di bahagian bawah dan, setelah selesai, senarai percanggahan. Dua pilihan berkaitan yang anda boleh dayakan/lumpuhkan mempengaruhi perkara yang dipaparkan dan perkara yang dilog. semasa peperiksaan:

  • Sembunyikan fail metadata NTFS: Didayakan secara lalai. Menghalang penampilan fail NTFS dalaman (seperti $MFT atau $Secure) yang tidak didedahkan oleh API Windows tetapi wujud pada cakera.
  • Rekod peperiksaan: juga didayakan secara lalai. Jika anda mengalih keluarnya, RootkitRevealer tidak akan mengimbas Registry, yang mengehadkan skop perbandingan kepada sistem. fail sahaja.

Ingat: Metadata NTFS berbeza-beza bergantung pada versi dan ciri yang didayakan (jurnal, kuota, objek, dll.). Jika anda tidak menyembunyikan fail ini, anda akan melihat percanggahan "Tersembunyi daripada API Windows" di mana-mana pada volum NTFS dan tidak menunjukkan jangkitan dengan sendirinya.

Analisis automatik dan pilihan baris arahan

RootkitRevealer membolehkan anda mengautomasikan imbasan dan mengeksport hasil ke fail tempatan. Sintaks adalah seperti berikut, berguna untuk pengaturcaraan atau apabila anda ingin menelannya ke dalam a pangkalan data:

Contoh: rootkitrevealer outputfile]

  • -a: menganalisis dan keluar secara automatik apabila selesai.
  • -c: Memformat output sebagai CSV (sesuai untuk import).
  • -m: Menunjukkan metadata NTFS (tidak menyembunyikannya).
  • -r: Melumpuhkan pengimbasan Pendaftaran (fail sahaja).

Penting: Fail output mesti berada pada volum tempatan. Jika anda membolehkan -c, kemajuan tidak dipaparkan dan percanggahan pergi terus ke CSV. Untuk pasukan jauh, anda boleh bergantung pada PsExec Sysinternals dengan baris seperti ini:

Contoh jauh: psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log

Pendekatan ini berguna untuk analisis berskala atau apabila anda perlu mengumpul bukti daripada berbilang mesin tanpa perlu menyambung ke sesi. desktop jauh.

Mentafsir keputusan: percanggahan biasa dan maksudnya

Nilai sebenar RootkitRevealer terletak pada cara anda membaca penemuannya. Tiada penyelesaian "semua/tiada" yang sempurna: anda perlu menyemak setiap entri dan tanya diri anda sama ada ia munasabah. Di bawah ialah kategori dan petua yang paling biasa untuk mengelak daripada jatuh ke dalamnya. positif palsu:

Tersembunyi daripada Windows API. Ini adalah percanggahan klasik. Jika anda tidak menyembunyikan metadata NTFS, anda akan melihat banyak entri untuk fail dalaman seperti $MFT atau $Secure yang disembunyikan oleh sistem daripada API. Sesetengah program antivirus juga menyimpan data dalam strim ganti (ADS) dan "menyembunyikan"nya menggunakan teknik yang serupa, supaya ia kelihatan tersembunyi daripada API. Windows.

  Sahkan integriti fail dengan Sigcheck: panduan langkah demi langkah yang lengkap

Senarai metadata NTFS (Windows Server 2003) yang mungkin anda hadapi tanpa ia menjadi perisian hasad: $AttrDef, $BadClus, $BadClus:$Bad, $BitMap, $Boot, $LogFile, $Mft, $MftMirr, $Secure, $UpCase, $Volume, $Extend, $Extend\$Reparse, $Extend\$ObjId, $Extend\$UsnJrnl, $Extend\$UsnJrnl:$Max, $Extend\$Quota. Kejadian ini adalah perkara biasa dalam NTFS dan, dengan sendirinya, tidak menunjukkan a rootkit.

Akses ditolak. Dalam keadaan biasa RootkitRevealer tidak seharusnya melaporkan "Akses dinafikan" kerana ia menggunakan mekanisme sandaran untuk membuka segala-galanya. Jika anda melihatnya, ia patut dilihat kedua, walaupun ia juga boleh disebabkan oleh fail yang dikunci pada masa tertentu atau kawalan akses luaran yang menghalang pembacaan. buat sementara waktu.

Kelihatan dalam Windows API / MFT / Indeks DirektoriTerdapat beberapa kombinasi: "Kelihatan dalam API, tetapi tidak dalam MFT atau indeks," "Kelihatan dalam API dan indeks, tetapi tidak dalam MFT," "Kelihatan dalam indeks, tetapi tidak dalam API atau MFT." Penjelasan yang paling biasa ialah fail yang dicipta atau dipadam semasa imbasan. Contoh biasa:

C:\newfile.txt

Jam tarikh

Bait 8

Kelihatan dalam API Windows, tetapi tidak dalam indeks direktori atau MFT.

Panjang mengikut API Windows tidak sepadan dengan data subtree.Ini boleh berlaku jika rootkit cuba menyembunyikan kandungan dengan memalsukan saiz yang berbeza, atau jika nilai berubah semasa dibaca. Mana-mana nilai sedemikian patut diberi perhatian khusus, terutamanya jika anda tidak menjangkakan ia akan berubah di tengah-tengah proses. pelaksanaan.

Jenis ketidakpadanan antara Windows API dan subtree mentahNilai pendaftaran mempunyai jenis (REG_SZ, REG_DWORD, REG_BINARY, dll.). Ketidakpadanan menunjukkan bahawa jenis yang dilihat oleh API tidak sepadan dengan jenis dalam sarang. Ini boleh digunakan untuk menyembunyikan data (cth., menyimpan perduaan dengan menghantarnya sebagai rentetan dengan pendahuluan 0). mengesahkan kesahihannya.

Nama kunci mengandungi NULL terbenam. Windows menganggap nama kunci sebagai rentetan yang ditamatkan nol, manakala kernel menggunakan rentetan yang dikira. Ini membolehkan penciptaan kunci "separuh tidak kelihatan" untuk alatan seperti Regedit. Ia adalah taktik terdokumentasi yang digunakan oleh perisian hasad. Untuk menghapuskannya, Sysinternals mempunyai RegDelNull.

Perbezaan data antara API dan subpokok mentah. Ia biasanya menunjukkan nilai yang dikemas kini semasa imbasan. Contoh biasa termasuk masa operasi perkhidmatan (seperti SQL Server) atau nilai "imbasan terakhir". Walau bagaimanapun, adalah penting untuk mengesahkan berdasarkan kes demi kes bahawa nilai tersebut adalah milik aplikasi yang sah dan bukan komponen yang mencurigakan.

Apa yang boleh dilakukan oleh rootkit dan cara mengenali tanda-tandanya

Jika rootkit menyelinap masuk dengan keistimewaan yang tinggi, penyerang boleh memasang pintu belakang, menambah lebih banyak perisian hasad (keylogger, perisian intip, bot), membaca/menyalin/mengubah suai fail dan mengubah parameter sistem sesuka hati. Di samping itu, mereka akan merekodkan bukti kelayakan dan, kadangkala, melumpuhkan antivirus dan firewall.

Tanda amaran: kelembapan yang tidak dapat dijelaskan, proses yang tidak diketahui, trafik rangkaian melonjak tanpa aplikasi dibuka, fail hilang atau rosak, ralat pelik atau skrin biru dan perubahan konfigurasi yang tidak diminta. Walaupun tiada satu pun daripada ini disahkan sendiri, bersama-sama mereka adalah petunjuk komitmen.

Nota sejarah untuk memahami kesannya: kes seperti Stuxnet (sabotaj industri), skandal rootkit Sony BMG yang dipasang daripada CD pengguna, atau rootkit UEFI LoJax yang bertahan dalam pemformatan, menunjukkan sejauh mana virus itu boleh pergi. ketekunan.

Ingat bahawa terdapat mod seperti bootkit (MBR/UEFI) atau perisian tegar yang dimuatkan sebelum sistem pengendalian dan boleh muncul semula selepas pemasangan semula. Dalam persekitaran moden, Secure Boot dan TPM menolong untuk untuk mengurangkan tipu helah macam ni.

Alat pelengkap dan tindak balas terhadap jangkitan

Jika anda mengesyaki jangkitan, perkara pertama yang perlu dilakukan ialah memutuskan komunikasi dengan penyerang. Putuskan sambungan komputer anda daripada rangkaian (Ethernet/Wi-Fi/Bluetooth) dan elakkan memasukkan pemacu USB yang tidak diimbas. Dari situ, tentukan sama ada imbasan akan masuk mod selamat atau, lebih baik, daripada cara but luaran.

  • GMER: Mengesan proses tersembunyi, cangkuk kernel dan pengubahsuaian yang mencurigakan.
  • Kaspersky TDSSKiller: sangat berguna dengan bootkit/rootkit kernel.
  • Malwarebytes Anti-Rootkit: Pembersihan tertumpu pada tingkap.
  • Windows Defender Offline: Imbas sebelum sistem but.
  • RogueKiller: semakan proses, MBR dan kunci pendaftaran.
  • Kaspersky Rescue Disk: Media penyelamat untuk BIOS/UEFI dan sektor but.
  • Autoruns dan Pemantau Proses (Sysinternals): untuk melihat apa yang setiap proses bermula dan lakukan.
  5 Perisian Pengklonan Cakera Keras Terbaik

Jika masalah menghala kepada but atau perisian tegar, pertimbangkan untuk memulihkan MBR dengan bootrec /fixmbr dalam Windows dan, jika perlu, flash BIOS/UEFI dengan versi bersih daripada pengilang. Selepas pembersihan, aktifkan Boot Selamat dan TPM dalam UEFI untuk melindungi but.

Apabila alat gagal untuk menghapuskannya, cara paling selamat ialah sandaran (luar talian), pemadaman total dan pemasangan semula daripada media rasmi. Ia adalah penyelesaian yang paling drastik, tetapi satu-satunya yang menjamin bahawa tidak ada ketekunan dalam sistem.

Pencegahan dan "kebersihan": pengerasan asas (prinsip keistimewaan paling rendah), kemas kini sistem dan aplikasi terkini, elakkan perisian cetak rompak, lumpuhkan autorun USB, buat sandaran luar talian berkala dan pantau anomali dengan penyelesaian SIEM dalam persekitaran korporat.

Etika, kesahihan dan persekitaran ujian

Menyelidik rootkit tanpa kebenaran adalah menyalahi undang-undang dan berbahaya. Jika anda melakukan sebarang ujian, lakukannya di makmal terpencil: mesin maya tanpa akses Internet atau rangkaian yang disediakan untuknya. Sebelum menyentuh apa-apa dalam pengeluaran, pastikan anda mempunyai sandaran semasa dan ada rancangan untuknya pengembalian.

Perlu diingat bahawa sesetengah rootkit cuba mengesan alat seperti RootkitRevealer dan "berhenti" bersembunyi semasa imbasan untuk tidak dapat dikesan. Itulah sebabnya adalah sangat berharga untuk menggabungkan analisis langsung dengan analisis luar talian dan membandingkan penemuan dengan sumber. dipercayai.

Kes dan sumber untuk menyelidiki lebih mendalam

Kes terkenal: Stuxnet menunjukkan bahawa rootkit boleh mensabotaj sistem perindustrian tanpa menimbulkan syak wasangka, Sony BMG memasang rootkit anti-cetak rompak pada PC pengguna, LoJax merasmikan rootkit UEFI di alam liar, dan TDL-4/Alureon mengeksploitasi but untuk berterusanKempen seperti "Greek Watergate," Flame dan Scranos, yang memfokuskan pada pengintipan dan pengewangan, juga telah didokumenkan.

Pembacaan dan utiliti: Artikel teknikal Sysinternals/Windows IT Pro, buku "Rootkits: Subverting the Windows Kernel" (Hoglund & Butler), koleksi Phrack dan Windows Internals untuk memahami seni bina asas. Untuk membersihkan kekunci "pelik", pertimbangkan alatan seperti RegDelNull.

Konteks alat: RootkitRevealer telah dicipta untuk Windows XP/Server 2003 (32-bit) dan kini lebih kepada alat pembelajaran untuk memahami kaedah perbandingan "API lwn. mentah". Pada sistem moden, ia menggabungkan falsafahnya dengan alat penyelamat yang dikemas kini dan pertahanan platform seperti Boot selamat.

Jika anda mengambil satu perkara, biarkan begini: sentiasa bandingkan apa yang dikatakan API dengan apa yang sebenarnya ada pada cakera/Pendaftaran, fahami sebab percanggahan muncul (bukan semuanya perisian hasad), bergantung pada alat penyelamat apabila anda mengesyaki kawalan tahap rendah dan melindungi but dengan langkah platform; dengan cara ini anda akan memotong sayap perisian hasad tersembunyi.

Bagaimana untuk mengenal pasti proses perisian hasad dalam Windows 11-8
artikel berkaitan:
Bagaimana untuk mengesan proses tersembunyi dan rootkit dalam Windows