Zsarolóvírusok keresése
Érintett szolgáltatás:
- Microsoft Defender XDR
A zsarolóvírusok gyorsan fejlődtek, mivel egyszerű, az egyes számítógép-felhasználókat érintő, kereskedelmi kártevők, amelyek súlyosan érintik az iparágakat és a kormányzati intézményeket. Bár a Microsoft Defender XDR számos olyan képességet biztosít, amelyek észlelik és blokkolják a zsarolóprogramokat és a kapcsolódó behatolási tevékenységeket, a biztonsági rések jeleinek proaktív ellenőrzése segíthet a hálózat védelmének megőrzésében.
További információ az ember által működtetett zsarolóprogramokról
A Microsoft Defender XDR speciális veszélyforrás-keresésével olyan lekérdezéseket hozhat létre, amelyek megkeresik a zsarolóprogram-tevékenységhez társított egyes összetevőket. Kifinomultabb lekérdezéseket is futtathat, amelyek a tevékenység jeleit keresik, és megmérik ezeket a jeleket, hogy azonnali figyelmet igénylő eszközöket találjanak.
Zsarolóprogram-tevékenység jelei
A Microsoft biztonsági kutatói számos, kifinomult betolakodók által indított zsarolóprogram-kampányban különböző gyakori, mégis finom összetevőket figyeltek meg. Ezek a jelek többnyire rendszereszközök használatával készülnek fel a titkosításra, megakadályozzák az észlelést, és egyértelmű törvényszéki bizonyítékokat tartalmaznak.
Zsarolóprogramokkal kapcsolatos tevékenység | Gyakori eszközök | Szándék |
---|---|---|
Folyamatok leállítása | taskkill.exe, net stop | Győződjön meg arról, hogy a titkosításra szánt fájlokat nem zárolják a különböző alkalmazások. |
Szolgáltatások kikapcsolása | sc.exe | – Győződjön meg arról, hogy a titkosításra szánt fájlokat nem zárolják a különböző alkalmazások. - Megakadályozza, hogy a biztonsági szoftverek megzavarják a titkosítást és más zsarolóprogram-tevékenységeket. – Állítsa le a biztonsági mentési szoftvereket a helyreállítható másolatok létrehozásában. |
Naplók és fájlok törlése | cipher.exe, wevtutil, fsutil.exe | Távolítsa el a törvényszéki bizonyítékokat. |
Árnyékmásolatok törlése | vsadmin.exe, wmic.exe | Távolítsa el a titkosított fájlok helyreállításához használható meghajtó árnyékmásolatait. |
Biztonsági másolatok törlése és leállítása | wbadmin.exe | Törölje a meglévő biztonsági mentéseket, és állítsa le az ütemezett biztonsági mentési feladatokat, megakadályozva a titkosítás utáni helyreállítást. |
Rendszerindítási beállítások módosítása | bcdedit.exe | Kapcsolja ki a figyelmeztetéseket és az automatikus javításokat a titkosítási folyamat által okozott rendszerindítási hibák után. |
Helyreállítási eszközök kikapcsolása | schtasks.exe, regedit.exe, | Kapcsolja ki a Rendszer-visszaállítás és más rendszer-helyreállítási lehetőségeket. |
Zsarolóprogram-tevékenység egyedi jeleinek ellenőrzése
Számos zsarolóprogram-viselkedést alkotó tevékenység, beleértve az előző szakaszban leírt tevékenységeket is, jóindulatú lehet. Ha a következő lekérdezésekkel megkeresi a zsarolóprogramokat, futtasson egynél több lekérdezést annak ellenőrzéséhez, hogy ugyanazok az eszközök különböző jeleket mutatnak-e a zsarolóprogramok lehetséges tevékenységére.
Több folyamat leállítása ataskkill.exe használatával
Ez a lekérdezés a taskkill.exe segédprogrammal legalább 10 különálló folyamat leállítására tett kísérletet keres. Lekérdezés futtatása
// Find attempts to stop processes using taskkill.exe
DeviceProcessEvents
| where Timestamp > ago(1d)
| where FileName =~ "taskkill.exe"
| summarize taskKillCount = dcount(ProcessCommandLine), TaskKillList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 2m)
| where taskKillCount > 10
Folyamatok leállítása a net stop használatával
Ez a lekérdezés a net stop paranccsal legalább 10 különálló folyamat leállítására tett kísérleteket keres. Lekérdezés futtatása
// Find attempts to stop processes using net stop
DeviceProcessEvents
| where Timestamp > ago(1d)
| where FileName =~ "net.exe" and ProcessCommandLine has "stop"
| summarize netStopCount = dcount(ProcessCommandLine), NetStopList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 2m)
| where netStopCount > 10
Adatok törlése több meghajtón acipher.exe használatával
Ez a lekérdezés ellenőrzi, hogy megkísérel-e adatokat törölni több meghajtón acipher.exehasználatával. Ezt a tevékenységet általában zsarolóprogramok végzik, hogy megakadályozzák az adatok titkosítás utáni helyreállítását. Lekérdezés futtatása
// Look for cipher.exe deleting data from multiple drives
DeviceProcessEvents
| where Timestamp > ago(1d)
| where FileName =~ "cipher.exe"
// cipher.exe /w flag used for deleting data
| where ProcessCommandLine has "/w"
| summarize CipherCount = dcount(ProcessCommandLine),
CipherList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 1m)
// cipher.exe accessing multiple drives in a short timeframe
| where CipherCount > 1
Törvényszéki bizonyítékok törlése eseménynaplókból a wevtutil használatával
Ez a lekérdezés legalább 10 naplóbejegyzés törlésére tett kísérletet keres az eseménynaplókból a wevtutil használatával. Lekérdezés futtatása
// Look for use of wevtutil to clear multiple logs
DeviceProcessEvents
| where Timestamp > ago(1d)
| where ProcessCommandLine has "WEVTUTIL" and ProcessCommandLine has "CL"
| summarize LogClearCount = dcount(ProcessCommandLine), ClearedLogList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 5m)
| where LogClearCount > 10
Szolgáltatások kikapcsolása asc.exe használatával
Ez a lekérdezés legalább 10 meglévő szolgáltatás kikapcsolására tett kísérleteket keres asc.exehasználatával. Lekérdezés futtatása
// Look for sc.exe disabling services
DeviceProcessEvents
| where Timestamp > ago(1d)
| where ProcessCommandLine has "sc" and ProcessCommandLine has "config" and ProcessCommandLine has "disabled"
| summarize ScDisableCount = dcount(ProcessCommandLine), ScDisableList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 5m)
| where ScDisableCount > 10
A rendszer-visszaállítás kikapcsolása
Ez a lekérdezés azonosítja a rendszer-visszaállítás leállítására tett kísérleteket, és megakadályozza, hogy a rendszer visszaállítási pontokat hozzon létre, amelyek a zsarolóprogramokkal titkosított adatok helyreállítására használhatók. Lekérdezés futtatása
DeviceProcessEvents
//Pivoting for rundll32
| where InitiatingProcessFileName =~ 'rundll32.exe'
//Looking for empty command line
and InitiatingProcessCommandLine !contains " " and InitiatingProcessCommandLine != ""
//Looking for schtasks.exe as the created process
and FileName in~ ('schtasks.exe')
//Disabling system restore
and ProcessCommandLine has 'Change' and ProcessCommandLine has 'SystemRestore'
and ProcessCommandLine has 'disable'
Biztonsági másolat törlése
Ez a lekérdezés azonosítja a wmic.exe használatát az árnyékmásolat-pillanatképek titkosítás előtti törléséhez. Lekérdezés futtatása
DeviceProcessEvents
| where FileName =~ "wmic.exe"
| where ProcessCommandLine has "shadowcopy" and ProcessCommandLine has "delete"
| project DeviceId, Timestamp, InitiatingProcessFileName, FileName,
ProcessCommandLine, InitiatingProcessIntegrityLevel, InitiatingProcessParentFileName
Zsarolóprogram-tevékenység több jelének ellenőrzése
Ahelyett, hogy több lekérdezést külön futtat, egy átfogó lekérdezést is használhat, amely a zsarolóprogram-tevékenység több jelét ellenőrzi az érintett eszközök azonosításához. A következő összevont lekérdezés:
- A zsarolóprogramok tevékenységének viszonylag konkrét és finom jeleit is keresi
- Méri ezeknek a jeleknek a jelenlétét
- Azonosítja azokat az eszközöket, amelynek nagyobb az esélye arra, hogy zsarolóprogramokat célozzanak meg
Futtatáskor ez az összevont lekérdezés azoknak az eszközöknek a listáját adja vissza, amelyek több támadási előjelet mutattak. Az egyes zsarolóprogram-tevékenységek száma is megjelenik. Az összevont lekérdezés futtatásához másolja azt közvetlenül a speciális veszélyforrás-keresési lekérdezésszerkesztőbe.
// Find attempts to stop processes using taskkill.exe
let taskKill = DeviceProcessEvents
| where Timestamp > ago(1d)
| where FileName =~ "taskkill.exe"
| summarize taskKillCount = dcount(ProcessCommandLine), TaskKillList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 2m)
| where taskKillCount > 10;
// Find attempts to stop processes using net stop
let netStop = DeviceProcessEvents
| where Timestamp > ago(1d)
| where FileName =~ "net.exe" and ProcessCommandLine has "stop"
| summarize netStopCount = dcount(ProcessCommandLine), NetStopList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 2m)
| where netStopCount > 10;
// Look for cipher.exe deleting data from multiple drives
let cipher = DeviceProcessEvents
| where Timestamp > ago(1d)
| where FileName =~ "cipher.exe"
// cipher.exe /w flag used for deleting data
| where ProcessCommandLine has "/w"
| summarize CipherCount = dcount(ProcessCommandLine),
CipherList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 1m)
// cipher.exe accessing multiple drives in a short timeframe
| where CipherCount > 1;
// Look for use of wevtutil to clear multiple logs
let wevtutilClear = DeviceProcessEvents
| where Timestamp > ago(1d)
| where ProcessCommandLine has "WEVTUTIL" and ProcessCommandLine has "CL"
| summarize LogClearCount = dcount(ProcessCommandLine), ClearedLogList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 5m)
| where LogClearCount > 10;
// Look for sc.exe disabling services
let scDisable = DeviceProcessEvents
| where Timestamp > ago(1d)
| where ProcessCommandLine has "sc" and ProcessCommandLine has "config" and ProcessCommandLine has "disabled"
| summarize ScDisableCount = dcount(ProcessCommandLine), ScDisableList = make_set(ProcessCommandLine) by DeviceId, bin(Timestamp, 5m)
| where ScDisableCount > 10;
// Main query for counting and aggregating evidence
DeviceProcessEvents
| where Timestamp > ago(1d)
| where FileName =~ "vssadmin.exe" and ProcessCommandLine has_any("list shadows", "delete shadows")
or FileName =~ "fsutil.exe" and ProcessCommandLine has "usn" and ProcessCommandLine has "deletejournal"
or ProcessCommandLine has("bcdedit") and ProcessCommandLine has_any("recoveryenabled no", "bootstatuspolicy ignoreallfailures")
or ProcessCommandLine has "wbadmin" and ProcessCommandLine has "delete" and ProcessCommandLine has_any("backup", "catalog", "systemstatebackup")
or (ProcessCommandLine has "wevtutil" and ProcessCommandLine has "cl")
or (ProcessCommandLine has "wmic" and ProcessCommandLine has "shadowcopy delete")
or (ProcessCommandLine has "sc" and ProcessCommandLine has "config" and ProcessCommandLine has "disabled")
| extend Bcdedit = iff(ProcessCommandLine has "bcdedit" and ProcessCommandLine has_any("recoveryenabled no", "bootstatuspolicy ignoreallfailures"), 1, 0)
| extend ShadowCopyDelete = iff (ProcessCommandLine has "shadowcopy delete", 1, 0)
| extend VssAdminShadows = iff(ProcessCommandLine has "vssadmin" and ProcessCommandLine has_any("list shadows", "delete shadows"), 1, 0)
| extend Wbadmin = iff(ProcessCommandLine has "wbadmin" and ProcessCommandLine has "delete" and ProcessCommandLine has_any("backup", "catalog", "systemstatebackup"), 1,0)
| extend Fsutil = iff(ProcessCommandLine has "fsutil" and ProcessCommandLine has "usn" and ProcessCommandLine has "deletejournal", 1, 0)
| summarize FirstActivity = min(Timestamp), ReportId = any(ReportId), Commands = make_set(ProcessCommandLine) by DeviceId, Fsutil, Wbadmin, ShadowCopyDelete, Bcdedit, VssAdminShadows, bin(Timestamp, 6h)
// Joining extra evidence
| join kind=leftouter (wevtutilClear) on $left.DeviceId == $right.DeviceId
| join kind=leftouter (cipher) on $left.DeviceId == $right.DeviceId
| join kind=leftouter (netStop) on $left.DeviceId == $right.DeviceId
| join kind=leftouter (taskKill) on $left.DeviceId == $right.DeviceId
| join kind=leftouter (scDisable) on $left.DeviceId == $right.DeviceId
| extend WevtutilUse = iff(LogClearCount > 10, 1, 0)
| extend CipherUse = iff(CipherCount > 1, 1, 0)
| extend NetStopUse = iff(netStopCount > 10, 1, 0)
| extend TaskkillUse = iff(taskKillCount > 10, 1, 0)
| extend ScDisableUse = iff(ScDisableCount > 10, 1, 0)
// Adding up all evidence
| mv-expand CommandList = NetStopList, TaskKillList, ClearedLogList, CipherList, Commands, ScDisableList
// Format results
| summarize BcdEdit = iff(make_set(Bcdedit) contains "1" , 1, 0), NetStop10PlusCommands = iff(make_set(NetStopUse) contains "1", 1, 0), Wevtutil10PlusLogsCleared = iff(make_set(WevtutilUse) contains "1", 1, 0),
CipherMultipleDrives = iff(make_set(CipherUse) contains "1", 1, 0), Fsutil = iff(make_set(Fsutil) contains "1", 1, 0), ShadowCopyDelete = iff(make_set(ShadowCopyDelete) contains "1", 1, 0),
Wbadmin = iff(make_set(Wbadmin) contains "1", 1, 0), TaskKill10PlusCommand = iff(make_set(TaskkillUse) contains "1", 1, 0), VssAdminShadow = iff(make_set(VssAdminShadows) contains "1", 1, 0),
ScDisable = iff(make_set(ScDisableUse) contains "1", 1, 0), TotalEvidenceCount = count(CommandList), EvidenceList = make_set(Commands), StartofBehavior = min(FirstActivity) by DeviceId, bin(Timestamp, 1d)
| extend UniqueEvidenceCount = BcdEdit + NetStop10PlusCommands + Wevtutil10PlusLogsCleared + CipherMultipleDrives + Wbadmin + Fsutil + TaskKill10PlusCommand + VssAdminShadow + ScDisable + ShadowCopyDelete
| where UniqueEvidenceCount > 2
A lekérdezési eredmények értelmezése és finomhangolása
Az összevont lekérdezés a következő eredményeket adja vissza:
- DeviceId – azonosítja az érintett eszközt
- TimeStamp – a zsarolóprogram-tevékenység első észlelése az eszközön
- A tevékenység konkrét jelei – a több oszlopban látható egyes jelek száma, például BcdEdit vagy FsUtil
- TotalEvidenceCount – a megfigyelt jelek száma
- UniqueEvidenceCount – a megfigyelt jelek típusainak száma
Az érintett eszközöket és a zsarolóprogram-tevékenységek különböző jeleinek számát mutató lekérdezési eredmények
Alapértelmezés szerint a lekérdezés eredménye csak azokat az eszközöket listázza, amelyek több mint két típusú zsarolóprogram-tevékenységgel rendelkeznek. A zsarolóprogram-tevékenység minden jelével rendelkező eszköz megtekintéséhez módosítsa a következő where
operátort, és állítsa a számot nulla (0) értékre. Ha kevesebb eszközt szeretne látni, állítson be magasabb számot.
| where UniqueEvidenceCount > 2
További zsarolóprogram-erőforrások
A Microsoft legfontosabb információi:
- A zsarolóvírusok egyre növekvő fenyegetése, Microsoft On the Issues blogbejegyzés 2021. július 20-án
- Ember által működtetett zsarolóprogramok
- Zsarolóprogramok megelőzésének gyors üzembe helyezése
- 2021-Microsoft Digitális védelmi jelentés (lásd a 10–19. oldalakat)
- Zsarolóprogramok: A fenyegetéselemzési jelentés az Microsoft Defender portálon
Microsoft 365:
- Zsarolóvírusok elleni védelem üzembe helyezése a Microsoft 365-bérlőhöz
- Zsarolóprogramok rugalmasságának maximalizálása az Azure és a Microsoft 365 használatával
- Zsarolóprogramok incidensmegoldási forgatókönyvei
- Kártevők és zsarolóprogramok elleni védelem
- Windows rendszerű számítógép védelme zsarolóprogramokkal szemben
- A zsarolóvírus kezelése a SharePoint Online-ban
- Zsarolóprogramokkal kapcsolatos fenyegetéselemzési jelentések a Microsoft Defender portálon
Microsoft Azure:
- Azure Defenses zsarolóprogram-támadáshoz
- Zsarolóprogramok rugalmasságának maximalizálása az Azure és a Microsoft 365 használatával
- Biztonsági mentési és visszaállítási terv a zsarolóprogramok elleni védelem érdekében
- Zsarolóvírusok elleni védelem a Microsoft Azure Backup használatával (26 perces videó)
- Helyreállítás rendszerszintű identitás sérüléséből
- Speciális többlépéses támadások észlelése a Microsoft Sentinelben
- Zsarolóprogramok fúziós észlelése a Microsoft Sentinelben
Microsoft Defender for Cloud Apps:
A Microsoft biztonsági csapatának blogbejegyzései:
Három lépés a zsarolóvírusok megelőzésére és helyreállítására (2021. szeptember)
Útmutató az ember által működtetett zsarolóprogramok elleni küzdelemhez: 1. rész (2021. szeptember)
A microsoftos észlelési és reagálási csapat (DART) zsarolóprogram-incidensek vizsgálatának fő lépései.
Útmutató az ember által működtetett zsarolóprogramok elleni küzdelemhez: 2. rész (2021. szeptember)
Javaslatok és ajánlott eljárások.
-
Lásd a Zsarolóprogramok szakaszt.
Ember által működtetett zsarolóprogram-támadások: Megelőzhető katasztrófa (2020. március)
Tartalmazza a tényleges támadások támadáslánc-elemzését.
Zsarolóprogram-válasz – fizetésre vagy nem fizetésre? (2019. december)
A Norsk Hydro átláthatóan reagál a zsarolóprogram-támadásokra (2019. december)
Tipp
Szeretne többet megtudni? Lépjen kapcsolatba a Microsoft biztonsági közösségével a technikai közösségünkben: Microsoft Defender XDR Tech Community.
Kapcsolódó cikkek
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: