MuddyWater olarak bilinen İran Devlet destekli grubun fidye yazılımı altında hibrit ortamlara yıkıcı saldırılar gerçekleştirdiği gözlemlendi. DEV-1084 adındaki diğer bir grup hem şirket içi hem de bulut altyapılarını hedef aldığı ortaya çıktı. İki saldırganda fidye saldırısı gibi gösterip aslında sistemleri kullanılmaz hale getirmeye çalışıyor. Saldırı detaylarına baktığımızda MERCURY’in sistemde kalıcı olmak ve ağ üzerinde yatayda haraket etmek için sistemler üzerindeki zafiyetleri kullandıkları keşfedildi. İlk erişim sonrası DEV-1084 devreye girerek sanallaştırma altyapıları, depolama hesapları, eposta alıcıları gibi kaynaklara saldırıp kalıcı hasarlar bıraktıkları belirlendi.
DEV-1084 kimdir?
DEV-1084 grubunun İran Devlet’i tarafından MERCURY ile ortak çalıştığı düşünülüyor.
DEV-1084 ile MERCURY arasındaki bağlantılar
- DEV-1084’ün daha önce MERCURY ile bağlantılı bir IP adresi olan 146.70.106[.]89’dan saldırı e-postaları gönderdiği gözlemlendi.
- DEV-1084, geçmişte MERCURY tarafından kullanılan VPN sağlayıcısının aynısı olan MULLVAD VPN’i kullandı.
- DEV-1084, Rport’u ve Ligolo’nun özelleştirilmiş bir sürümünü kullandı. MERCURY’nin önceki saldırılarda Rport ve Ligolo’nun benzer bir sürümünü kullandığı da gözlemlendi.
- DEV-1084 , (C2) için vatacloud[.]com etki alanını kullandı . Microsoft, vatacloud[.]com etki alanının MERCURY tarafından denetlendiğini bilinmekte.
Saldırgan araçları ve teknikleri
Saldırganlar erişim elde ettikten sonra aşağıdaki çeşitli araçları kullanarak sistemlerde kalıcı olmaya çalışıyor.
- Web shell yükleme.
- RPort , Ligolo ve eHorus gibi uzaktan erişim araçlarını kurulumları.
- Özel olarak hazırlanmış PowerShell scriptleri.
- Kimlik bilgilerini çalmak.
Saldırganlar kalıcılığı sağladıktan sonra netstat ve nltest gibi araçları kullanarak sistemler ve ağ üzerinde keşife başlıyorlar. Ele geçirilen kimlik bilgileri ile yanal hareketler yaparak ağ üzerinde yayılmaya başlıyorlar.
Bunun için aşağıdaki araç ve yöntemleri kullanıyorlar:
- Özel hazırlanmış powershell scriptleri.
- Windows Yönetim Araçları. (WMI)
Bir sisteme eriştikten sonra hemen o sistemde kalıcı hale geliyor ve bu işlemleri defalarca her cihaz için tekrarlıyorlar. Bu işlemleri yaparken c2 sunucuları ile haberleşiyorlar ve güvenlik mekanizmalarından kaçmak için Ligolo ve OpenSSH gibi vpn yazılımlarını kullanıyorlar.
Yıkıcı Etki
Saldırganlar tüm ortamı hızlıca şifrelemek için GPO’lar kullanıyor ve özel hazırlanmış GPO’lar ile fidye yazılımlarının dağıtımlarını sağlıyorlar.
On premise’den hybrid’e geçiş
Saldırganlar hibrit ortam kullanan sistemlere erişmek için uzun süre Azure Active Directory (Azure AD) Connect’de yetkili hesap bilgilerine erişmek için sistemde kalıyorlar. Azure Active Directory (Azure AD) Connect’in bulunduğu bilgisayara erişim elde ettikten sonra AADInternals tool’u kullanarak Azure Active Directory (Azure AD) Connect’den erişim bilgileri elde ediyorlar. Artık bu noktadan sonra Azure üzerinde yetkili hale gelen saldırganlar bulut üzerinde bir çok illegal işleme başlıyor.
Saldırganlar erişim sonrası tüm bulut ortamını ortadan kaldırmak için tüm sistemler silemeye ve hesapları ortadan kaldırmaya başlıyor.
Exchange Web API istismar ediliyor
Yapılan araştırma saldırganların erişim sağlamak için Exchange Web Hizmetleri aracılığıyla posta kutularına tam erişim sağladığını gösteriyor.
Elde edilen bulut yönetici hakları ile OAuth uygulamasının sertifikaları güncellenerek illegal saldırılar gerçekleştirildi. Ayrıca, posta kutularını boşaltma ve/veya içlerindeki hassas verileri arama girişimleri olduğundan şüphelenilen binlerce arama etkinliği gözlemlendi.
E-postalar istismar edildi
Set-Mailbox PowerShell cmdlet’ini kullanarak üst düzey bir çalışanın posta kutusu üzerinden mail gönderme izinleri atandı.
Yönetici hesapları ile yeni e-posta kutuları oluşturuldu.
Aşağıdaki zaman çizelgesi olayların sırasını göstermekte
On-Premise ortamlar için alınması gereken önlemler
- Microsoft Defender for Endpoint’te Enable tamper protection’ı aktif hale getirin. Bu özellik yanlış yapılandırmaları önlemeye yardımcı olur.
- Intune kullanıcıları antivirus exclusions’ları GPO aracılığıyla değiştirilmesini önlemek için DisableLocalAdminMerge özelliğini etkinleştirebilir.
Azure AD ortamlar için alınması gereken önlemler
- Conditional Access policies’leri aktif hale getirin. Koşullu erişim ilkeleri, kullanıcı her oturum açmaya çalıştığında değerlendirilir ve uygulanır. Kuruluşlar, cihaz uyumluluğu veya güvenilir IP adresi gereksinimleri gibi ilkeleri etkinleştirerek, çalınan kimlik bilgilerinden yararlanan saldırılardan kendilerini koruyabilir.
- Continuous access evaluation (CAE) ile örneğin bir kullanıcının işine son verildiğinde veya güvenilmeyen bir konuma taşındığında erişimi gerçek zamanlı olarak iptal eder.
- Bir kullanıcı posta kutusu adına gönderilen e-postaları belirlemek ve izlemek için SendAs işlemleri için olan logları kontrol edin.
Tespit etmek
Microsoft 365 Defender
Microsoft 365 Defender’daki aşağıdaki uyarılar, saldırganlarla ilgili şüpheli değerlendirmeler için kullanılabilir:
- Riskli kullanıcı tarafından erişimlerin yüksekliği.
- Şüpheli Azure kaynak silme işlemleri.
- Exchange ile ilgili bir App Role’e şüpheli eklemeler.
- Azure AD Connect eşitleme hesabı tarafından olağan dışı etkinlikler.
Microsoft Defender for Cloud Apps
- Birden fazla depolama silme etkinliği.
- Birden çok sanal makine silme etkinliği.
Azure AD Identity Protection
Unfamiliar sign-in özelliği
Microsoft Defender for Identity
Hassas gruplara şüpheli eklemeler
Honeytoken etkinliği
Microsoft Defender Antivirus
- Backdoor:PHP/Remoteshell.V
- HackTool:Win32/LSADump
- VirTool:Win32/RemoteExec
- Trojan:PowerShell/Downloader.SB
- Trojan:Win32/Nibtse.G!tsk
- Backdoor:ASP/Shellman.SA
- Ransom:Win64/DarkBit
- VirTool:Win32/AtExecCommand
Microsoft Defender for Endpoint
Aşağıdaki uyarılar saldırı için bilgi sağlayabilir.
- Mercury actor activity detected.
- Ransomware-linked emerging threat actor DEV-1084 detected.
Saldırı yüzeyinin azaltılması
- Executable files dosyalarını kontrol edin. Sınıflayın ve sistem üzerinde .EXE’lerin çalıştırılmasını kısıtlayın.
- Log4j 2 istismarını tespit etmek için kurallarınızı kontrol edin.
- Controlled folder access özelliğini aktif hale getirin
Post-exploitation sonrası alınması gereken önlemler
Aşağıdaki uyarılar saldırı sonrası tedbir almanıza yardım olacaktır.
Any alert title related to web shell threats, for example:
- ‘WebShell’ backdoor was prevented on an IIS Web server
Any alert title that mentions the DarkBit ransomware threat or DEV-1084, for example:
- ‘DarkBit’ ransomware was blocked
- ‘DarkBit’ ransomware was detected
- ‘DarkBit’ ransomware was prevented
- Ransomware-linked emerging threat actor DEV-1084 detected
Any alert title that mentions suspicious scheduled task creation or execution, for example:
- Suspicious scheduled task
Any alert title that mentions suspected tunneling activity, for example:
- Suspicious SSH tunneling activity
Any alert title that mentions suspected tampering activity, for example:
- Suspicious Microsoft Defender Antivirus exclusion
- Microsoft Defender Antivirus tampering
Any alert title that mentions PowerShell, for example:
- Suspicious process executed PowerShell command
- A malicious PowerShell Cmdlet was invoked on the machine
- Suspicious PowerShell command line
- Suspicious PowerShell download or encoded command execution
- Suspicious remote PowerShell execution
Any alert title related to suspicious remote activity, for example:
- Suspicious RDP session
- An active ‘RemoteExec’ malware was blocked
- Suspicious service registration
Any alert related to persistence:
- Anomaly detected in ASEP registry
- User account created under suspicious circumstances
Any alert title that mentions credential dumping activity or tools, for example:
- Malicious credential theft tool execution detected
- Credential dumping activity observed
- Mimikatz credential theft tool
- ‘DumpLsass’ malware was blocked on a Microsoft SQL server
Gelişmiş arama sorguları
Microsoft 365 Defender
Microsoft 365 Defender müşterileri ilgili aktiviteyi bulmak için aşağıdaki gelişmiş tarama sorgularını çalıştırabilir:
// Advanced Hunting Query to surface potential Mercury PowerShell script backdoor installation
DeviceFileEvents | where InitiatingProcessFileName =~ "powershell.exe" | where FolderPath in~ (@"c:\programdata\db.ps1", @"c:\programdata\db.sqlite") | summarize min(Timestamp), max(Timestamp) by DeviceId, SHA256, InitiatingProcessParentFileName DeviceProcessEvents | where InitiatingProcessFileName =~ "powershell.exe" | where InitiatingProcessCommandLine has_cs "-EP BYPASS -NoP -W h" | summarize makeset(ProcessCommandLine), min(Timestamp), max(Timestamp) by DeviceId
// Advanced Hunting Query to surface potential Mercury PowerShell script backdoor initiating commands
DeviceProcessEvents | where InitiatingProcessFileName =~ "powershell.exe" | where InitiatingProcessCommandLine contains_cs @"c:\programdata\db.ps1" | summarize makeset(ProcessCommandLine), min(Timestamp), max(Timestamp) by DeviceId
//Advanced Hunting Query for Azure resource deletion activity
let PrivEscalation = CloudAppEvents | where Application == "Microsoft Azure" | where ActionType == "ElevateAccess Microsoft.Authorization" | where ActivityObjects has "Azure Subscription" and ActivityObjects has "Azure Resource Group" | extend PrivEscalationTime = Timestamp | project AccountObjectId, PrivEscalationTime ,ActionType; CloudAppEvents | join kind = inner PrivEscalation on AccountObjectId | extend DeletionTime = Timestamp | where (DeletionTime - PrivEscalationTime) <= 1h | where Application == "Microsoft Azure" | where ActionType has "Delete" |summarize min(DeletionTime), TotalResourcersDeleted =count(), CountOfDistinctResources= dcount(ActionType), DistinctResources=make_set(ActionType) by AccountObjectId
//AHQ used to detect attacker abusing OAuth application during the attack
CloudAppEvents | where Application == "Office 365" | where ActionType == "Consent to application." | where RawEventData.ResultStatus =~ "success" | extend UserId = tostring(RawEventData.UserId) | mv-expand AdminConsent = RawEventData.ModifiedProperties | where AdminConsent.Name == "ConsentContext.IsAdminConsent" and AdminConsent.NewValue == "True" | project ConsentTimestamp =Timestamp, UserId, AccountObjectId, ReportId, ActionType | join kind = leftouter (CloudAppEvents | where Application == "Office 365" | where ActionType == "Add app role assignment to service principal." | extend PermissionAddedTo = tostring(RawEventData.Target[3].ID) | extend FullAccessPermission = RawEventData.ModifiedProperties | extend OuthAppName = tostring(FullAccessPermission[6].NewValue) // Find app name | extend OAuthApplicationId = tostring(FullAccessPermission[7].NewValue) // Find appId | extend AppRoleValue = tostring(FullAccessPermission[1].NewValue) // Permission Level | where AppRoleValue == "full_access_as_app" | project PermissionTime=Timestamp, InitiatingUser=AccountDisplayName, OuthAppName, OAuthApplicationId, AppRoleValue, AccountObjectId, FullAccessPermission ) on AccountObjectId
Microsoft Sentinel
Microsoft Sentinel müşterilerin yukarıdaki Microsoft Defender tespitleri listesine ek olarak istismar sonrası etkinliği tespit etmek için aşağıdaki yaml dosyaları kullanabilirler.
- full_access_as_app Granted To Application
- Potential SSH Tunnel to AAD Connect Host
- Suspicious Sign In by AAD Connect Sync Account
- Malicious web application requests linked with Microsoft Defender for Endpoint
- Web Shell Activity
- Tracking Privileged Account Rare Activity
- Mass Cloud resource deletions Time Series Anomaly
- Consent to Application discovery
- OAuth Application Required Resource Access Update
- Rare application consent
- Credential added after admin consented to ApplicationNew access credential added to Application or Service Principal
Indicators of compromise (IOCs)
Indicator | Type | Description |
9107be160f7b639d68fe3670de58ed254d81de6aec9a41ad58d91aa814a247ff | DEV-1084 ransom payload | 8thCurse.exe |
80bd00c0f6d5e39b542ee6e9b67b1eef97b2dbc6ec6cae87bf5148f1cf18c260 | DEV-1084 batch script | |
8dd9773c24703e803903e7a5faa088c2df9a4b509549e768f29276ef86ef96ae | DEV-1084 batch script | |
486eb80171c086f4d184423ed7e79303ad7276834e5e5529b199f8ae5fc661f2 | DEV-1084 batch script | |
f1edff0fb16a64ac5a2ce64579d0d76920c37a0fd183d4c19219ca990f50effc | DEV-1084 batch script | |
887ae654d69ac5ccb8835e565a449d7716d6c4747dc2fbff1f59f11723244202 | DEV-1084 batch script | |
3fba459d589cd513d2478fb4ae7c4efd6aa09e62bc3ff249a19f9a233e922061 | DEV-1084 batch script | |
0dde13e3cd2dcda522eeb565b6374c97b3ed4aa6b8ed9ff9b6224ea97bf2a584 | DEV-1084 batch script | |
afd16b9ad57eb9c26c8ae347c379c8e2b82361c7bdff5b189659674d5614854c | DEV-1084 batch script | |
3e59d36faf2d5e6edf1d881e2043a46055c63b7c68cc08d44cc7fc1b364157eb | DEV-1084 batch script | |
786bd97172ec0cef88f6ea08e3cb482fd15cf28ab22d37792e3a86fa3c27c975 | DEV-1084 batch script | |
36c71ce7cd38733eb66f32a8c56acd635680197f01585c5a2a846cc3cb0a8fe2 | DEV-1084 batch script | |
016967de76382c674b3a1cb912eb85ff642b2ebfe4e107fc576065f172c6ef80 | DEV-1084 batch script | |
3059844c102595172bb7f644c9a70d77a198a11f1e84539792408b1f19954e18 | DEV-1084 batch script | |
194.61.121[.]86 | Command and control | |
hxxps://pairing[.]rport[.]io/qMLc2Wx | Download Rport software from it | |
141.95.22[.]153 | Command and control | |
193.200[.]16.3 | Command and control | |
192.52.166[.]191 | Command and control | |
45.56.162[.]111 | Command and control | |
104.194.222[.]219 | Command and control | |
192.169.6[.]88 | Command and control | |
192.52.167[.]209 | Command and control | |
webstore4tech[.]uaenorth.cloudapp.azure[.]com | Command and control | |
vatacloud[.]com | Actor-owned Rport domain | |
146.70.106[.]89 | DEV-1084 operators were observed sending threatening emails to the victim after the attack from 146.70.106[.]89, an IP address previously linked to MERCURY | |
b9cf785b81778e2b805752c7b839737416e3af54f64f1e40e008142e382df0c4 | Rport Legit remote access tool | rport.exe |
ab179112caadaf138241c43c4a4dccc2e3c67aeb96a151e432cfbafa18a4b436 | Customized Ligolo tunneling tool | |
46.249.35[.]243 | Command and control | |
45.86.230[.]20 | Command and control | |
6485a68ba1d335d16a1d158976e0cbfad7ab15b51de00c381d240e8b0c479f77 | db.ps1 Customized Script Backdoor | |
b155c5b3a8f4c89ba74c5c5c03d029e4202510d0cbb5e152995ab91e6809bcd7 | db.sqlite Customized Obfuscated Script Backdoor |
Kaynak: microsoft.com/en-us/security/blog/2023/04/07/mercury-and-dev-1084-destructive-attack-on-hybrid-environment