A Windows frissítések, az alkalmazások telepítése, a beállítások módosítása és a rosszindulatú programok folyamatosan változtatnak a Windows rendszerleíró adatbázisán. Lee Holmes, a Microsoft Azure Security vezető biztonsági mérnöke mutatott egy példát arra, hogyan lehetne gyorsan kiszűrni, hogy mi változott a registryben, így gyorsan diagnosztizálhatók a problémák, és eltávolíthatók a rosszindulatú bejegyzések.
Holmes példája azt mutatja be, hogyan lehet a PowerShell segítségével listázni az összes létező Windows Registry kulcsot, és hogyan lehet azokat egy változóban ($snapshot) tárolni. Holmes egy későbbi időpontban készít egy snapshotot (egy rendszer egy adott pillanatban érvényes állapota) az aktuális registry kulcsokról, és azt a $current változóban tárolja, majd összehasonlítja a változók tartalmát (Compare-Object), hogy meghatározza, milyen registry kulcsok kerültek hozzá az első pillanatkép elkészítése óta.
Holmes példáját felhasználva a BleepingComputer annyiban módosított a programon, hogy fájlba mentették a változók tartalmát, hogy az eszköz újraindítása után is összehasonlíthatók legyenek az értékek, illetve más eszközök registry snapshotjaival is összehasonlíthatók legyenek.
Először létre kell hozni egy alap pillanatképet az aktuális HKLM és HKCU Registry kulcsokról, amelyet össze fog hasonlítani a későbbi pillanatképekkel. Érdemes ezt közvetlenül a Windows telepítése után megtenni.
Az alap Windows Registry snapshotok létrehozásához a következő PowerShell parancsokat kell végrehajtania egy parancssorban:
dir -rec -erroraction ignore HKLM:\ | % name > Base-HKLM.txt
dir -rec -erroraction ignore HKCU:\ | % name > Base-HKCU.txt |
Ezek a parancsok a Base-HKLM.txt és a Base-HKCU.txt pillanatképfájlokat az aktuális mappába helyezik.
Ha egy idő után össze szeretné hasonlítani a Windows aktuális rendszerleíró adatbázisát az alap pillanatképeivel, akkor az alábbi parancsokkal új pillanatképeket hozhat létre:
(Megjegyzés: a fenti parancsok beillesztik a dátumot az Aktuális pillanatfelvétel fájlnevekbe, így meghatározhatja, hogy mikor készült a pillanatfelvétel.)
Ezt követően a következő PowerShell paranccsal összehasonlíthatók a snapshotok:
Compare-Object (Get-Content -Path .\Base-HKCU.txt) (Get-Content -Path .\[current_snapshot_file_name]) |
Meg kell jegyezni, hogy ez a módszer csak a Windows Registry kulcsokat hasonlítja össze, az értékeit nem, amelyek gyakran módosulnak a Windows és a rosszindulatú programok által ─ az értékek kimentése nagy mértékben megnövelné a pillanatfelvételek méretét, és bonyolultabb szkriptet igényelne a megfelelő összehasonlításhoz ─ azonban ez így is egy hasznos tipp rendszerhibák, anomáliák és rosszindulatú tevékenység nyomai utáni vizsgálat során.
Forrás: bleepingcomputer.com