Fidye yazılımı avlayın
Şunlar için geçerlidir:
- Microsoft Defender XDR
Fidye yazılımları, bireysel bilgisayar kullanıcılarını etkileyen basit ticari kötü amaçlı yazılımlardan sektörleri ve kamu kurumlarını ciddi şekilde etkileyen kurumsal bir tehdide kadar hızla gelişti. Microsoft Defender XDR fidye yazılımlarını ve ilişkili yetkisiz erişim etkinliklerini algılayıp engelleyen birçok özellik sağlarken, güvenlik açığı belirtileri için proaktif denetimler yapmak ağınızın korunmasına yardımcı olabilir.
İnsan tarafından çalıştırılan fidye yazılımı hakkında bilgi edinin
Microsoft Defender XDR'da gelişmiş avcılık sayesinde fidye yazılımı etkinliğiyle ilişkili tek tek yapıtları bulayan sorgular oluşturabilirsiniz. Ayrıca, hemen ilgilenilmesi gereken cihazları bulmak için etkinlik işaretlerini arayabilen ve bu işaretleri tartabilen daha gelişmiş sorgular da çalıştırabilirsiniz.
Fidye yazılımı etkinliğinin işaretleri
Microsoft güvenlik araştırmacıları, karmaşık davetsiz misafirler tarafından başlatılan birçok fidye yazılımı kampanyasında çeşitli yaygın ancak ince yapıtları gözlemlemektedir. Bu işaretler çoğunlukla şifrelemeye hazırlanmak, algılamayı önlemek ve adli kanıtları temizlemek için sistem araçlarının kullanılmasını içerir.
Fidye yazılımı etkinliği | Ortak araçlar | Niyet |
---|---|---|
İşlemleri durdurma | taskkill.exe, net stop | Şifreleme için hedeflenen dosyaların çeşitli uygulamalar tarafından kilitlenmediğinden emin olun. |
Hizmetleri kapatma | sc.exe | - Şifreleme için hedeflenen dosyaların çeşitli uygulamalar tarafından kilitlenmediğinden emin olun. - Güvenlik yazılımının şifrelemeyi ve diğer fidye yazılımı etkinliklerini kesintiye uğratmasını engelleyin. - Yedekleme yazılımının kurtarılabilir kopyalar oluşturmasını durdurun. |
Günlükleri ve dosyaları silme | cipher.exe, wevtutil, fsutil.exe | Adli delilleri kaldırın. |
Gölge kopyaları silme | vsadmin.exe, wmic.exe | Şifrelenmiş dosyaları kurtarmak için kullanılabilecek sürücü gölge kopyalarını kaldırın. |
Yedeklemeleri silme ve durdurma | wbadmin.exe | Mevcut yedeklemeleri silin ve zamanlanmış yedekleme görevlerini durdurun ve şifrelemeden sonra kurtarmayı engelleyin. |
Önyükleme ayarlarını değiştirme | bcdedit.exe | Şifreleme işleminden kaynaklanabilir önyükleme hatalarından sonra uyarıları ve otomatik onarımları kapatın. |
Kurtarma araçlarını kapatma | schtasks.exe, regedit.exe, | Sistem Geri Yükleme'yi ve diğer sistem kurtarma seçeneklerini kapatın. |
Fidye yazılımı etkinliğinin bireysel işaretlerini denetleyin
Önceki bölümde açıklanan etkinlikler de dahil olmak üzere fidye yazılımı davranışını oluşturan birçok etkinlik zararsız olabilir. Fidye yazılımını bulmak için aşağıdaki sorguları kullanırken, aynı cihazların olası fidye yazılımı etkinliğine ilişkin çeşitli işaretler sergileyip sergilemediğini denetlemek için birden fazla sorgu çalıştırın.
taskkill.exe kullanarak birden çok işlemi durdurma
Bu sorgu, taskkill.exe yardımcı programını kullanarak en az 10 ayrı işlemi durdurma girişimlerini denetler. Sorguyu çalıştırma
// 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
Net stop kullanarak işlemleri durdurma
Bu sorgu , net stop komutunu kullanarak en az 10 ayrı işlemi durdurma girişimlerini denetler. Sorguyu çalıştırma
// 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
cipher.exe kullanarak birden çok sürücüdeki verilerin silinmesi
Bu sorgu ,cipher.exekullanarak birden çok sürücüdeki verileri silme girişimlerini denetler. Bu etkinlik genellikle şifrelemeden sonra verilerin kurtarılmasını önlemek için fidye yazılımı tarafından gerçekleştirilir. Sorguyu çalıştırma
// 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
Wevtutil kullanılarak olay günlüklerinden adli kanıtların temizlenmesi
Bu sorgu , wevtutil kullanarak olay günlüklerinden en az 10 günlük girdisini temizleme girişimlerini denetler. Sorguyu çalıştırma
// 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
sc.exe kullanarak hizmetleri kapatma
Bu sorgu, sc.exekullanarak en az 10 mevcut hizmeti kapatma girişimlerini denetler. Sorguyu çalıştırma
// 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
Sistem Geri Yükleme'yi kapatma
Bu sorgu, Sistem Geri Yükleme'yi durdurma ve sistemin geri yükleme noktaları oluşturmasını engelleme girişimlerini tanımlar. Bu, fidye yazılımı tarafından şifrelenmiş verileri kurtarmak için kullanılabilir. Sorguyu çalıştırma
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'
Yedekleme silme
Bu sorgu, şifrelemeden önce gölge kopya anlık görüntülerini silmek için wmic.exe kullanımını tanımlar. Sorguyu çalıştırma
DeviceProcessEvents
| where FileName =~ "wmic.exe"
| where ProcessCommandLine has "shadowcopy" and ProcessCommandLine has "delete"
| project DeviceId, Timestamp, InitiatingProcessFileName, FileName,
ProcessCommandLine, InitiatingProcessIntegrityLevel, InitiatingProcessParentFileName
Fidye yazılımı etkinliğinin birden çok işaretini denetleyin
Birkaç sorguyu ayrı ayrı çalıştırmak yerine, etkilenen cihazları tanımlamak için birden çok fidye yazılımı etkinliği işaretini denetleyecek kapsamlı bir sorgu da kullanabilirsiniz. Aşağıdaki birleştirilmiş sorgu:
- Fidye yazılımı etkinliğinin hem nispeten somut hem de ince işaretlerini arar
- Bu işaretlerin varlığını tartıyor
- Fidye yazılımı hedefi olma olasılığı daha yüksek olan cihazları tanımlar
Çalıştırıldığında, bu birleştirilmiş sorgu birden çok saldırı işareti sergileyen cihazların listesini döndürür. Her fidye yazılımı etkinliğinin sayısı da gösterilir. Bu birleştirilmiş sorguyu çalıştırmak için doğrudan gelişmiş tehdit avcılığı sorgu düzenleyicisine kopyalayın.
// 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
Sorgu sonuçlarını anlama ve ayarlama
Birleştirilmiş sorgu aşağıdaki sonuçları döndürür:
DeviceId— etkilenen cihazı tanımlar
TimeStamp— cihazda ilk kez fidye yazılımı etkinliğine ilişkin herhangi bir işaret gözlemlendi
Belirli etkinlik işaretleri— BcdEdit veya FsUtil gibi birden çok sütunda gösterilen her işaretin sayısı
TotalEvidenceCount— gözlemlenen işaret sayısı
UniqueEvidenceCount— gözlemlenen işaret türlerinin sayısı
Etkilenen cihazları ve fidye yazılımı etkinliğinin çeşitli işaretlerini gösteren sorgu sonuçları
Varsayılan olarak, sorgu sonucu yalnızca ikiden fazla fidye yazılımı etkinliği türüne sahip cihazları listeler. Fidye yazılımı etkinliği işareti olan tüm cihazları görmek için aşağıdaki where
işleci değiştirin ve sayıyı sıfır (0) olarak ayarlayın. Daha az cihaz görmek için daha yüksek bir sayı ayarlayın.
| where UniqueEvidenceCount > 2
Diğer fidye yazılımı kaynakları
Microsoft'tan önemli bilgiler:
- Artan fidye yazılımı tehdidi, Microsoft On the Issues blog gönderisi 20 Temmuz 2021'de
- İnsan tarafından çalıştırılan fidye yazılımı
- Fidye yazılımı önlemelerini hızla dağıtma
- 2021 Microsoft Dijital Savunma Raporu (bkz. sayfa 10-19)
- Fidye yazılımı: Microsoft Defender portalında sürekli ve sürekli tehdit tehdit analizi raporu
Microsoft 365:
- Microsoft 365 kiracınız için fidye yazılımı koruması dağıtın
- Azure ve Microsoft 365 ile Fidye Yazılımı Dayanıklılığını En Üst Düzeye Çıkarma
- Fidye yazılımı olay yanıtı playbook'ları
- Kötü amaçlı yazılım ve fidye yazılımı koruması
- Windows bilgisayarınızı fidye yazılımlarından koruma
- SharePoint Online'da fidye yazılımlarını işleme
- Microsoft Defender portalında fidye yazılımı için tehdit analizi raporları
Microsoft Azure:
- Fidye Yazılımı Saldırısı için Azure Defenses
- Azure ve Microsoft 365 ile Fidye Yazılımı Dayanıklılığını En Üst Düzeye Çıkarma
- Fidye yazılımlarına karşı koruma sağlamak için yedekleme ve geri yükleme planı
- Microsoft Azure Backup ile fidye yazılımlarından korunmaya yardımcı olun (26 dakikalık video)
- Sistemik kimlik güvenliğinin aşılmasından kurtarma
- Microsoft Sentinel'de gelişmiş çok aşamalı saldırı algılama
- Microsoft Sentinel'de Fidye Yazılımı için Fusion Algılama
Microsoft Defender for Cloud Apps:
Microsoft Güvenlik ekibi blog gönderileri:
Fidye yazılımlarını önlemeye ve fidye yazılımlarından kurtulmaya yönelik üç adım (Eylül 2021)
İnsan tarafından çalıştırılan fidye yazılımıyla mücadele kılavuzu: Bölüm 1 (Eylül 2021)
Microsoft'un Algılama ve Yanıt Ekibi'nin (DART) fidye yazılımı olay araştırmalarını nasıl yürüttüğüne ilişkin temel adımlar.
İnsan tarafından çalıştırılan fidye yazılımıyla mücadele kılavuzu: Bölüm 2 (Eylül 2021)
Öneriler ve en iyi yöntemler.
-
Fidye yazılımı bölümüne bakın.
-
Gerçek saldırıların saldırı zinciri analizlerini içerir.
Fidye yazılımı yanıtı— ödeme yapmak için mi yoksa ödememek için mi? (Aralık 2019)
Norsk Hydro fidye yazılımı saldırısına şeffaflıkla yanıt veriyor (Aralık 2019)
İpucu
Daha fazla bilgi edinmek mi istiyorsunuz? Teknoloji Topluluğumuzdaki Microsoft Güvenlik topluluğuyla etkileşime geçin: Microsoft Defender XDR Teknoloji Topluluğu.