“Password spraying”, kimlik doğrulama saldırıları için kullanılan bir yöntemdir. Bu saldırı türünde saldırganlar, belirli bir kullanıcı adına veya birkaç yaygın kullanıcı adına aynı veya benzer parolaları deneyerek sisteme erişim elde etmeye çalışırlar. Farklı kullanıcı adlarına farklı parolaları denemek yerine, sınırlı sayıda parolayı birden fazla kullanıcı adı için deneyerek tespit edilme riskini en aza indirirler.
Password spraying saldırıları, daha geleneksel “kaba kuvvet saldırıları”ndan farklıdır. Kaba kuvvet saldırılarında, genellikle tek bir kullanıcı adı için bir dizi farklı parola denenirken, password spraying’de sınırlı sayıda parola farklı kullanıcı adları için denenebilir.
Bu tür saldırıların hedefleri genellikle zayıf veya yaygın parolaları kullanan kullanıcı hesaplarıdır. Saldırganlar, genellikle kullanıcıların dikkatsizlikleri veya güvenlik önlemlerini almayışlarından yararlanarak sisteme erişmeye çalışırlar.
Kurumsal ağlarda aktif dizin politikası olarak kullanıcılar üst üste başarısız oturum açma girişimi olması durumunda kullanıcı hesabını kilitlenmektedir ve herhangi bir işleme izin verilmemektedir. Güvenlik politikası eksik olan aktif dizin ortamlarında password spraying ile zayıf parolalara sahip kullanıcıların keşfedilme olasılığı artmaktadır.
Password Spraying with CrackMapExec
CrackMapExec aracı ile password spraying atakları yapılabilemektedir, bu araç ile tek bir parolayı tüm kullanıcılar üzerinde deneyebilir veya birden fazla parolayı tüm kullanıcılar üzerinden deneyebileceğiniz gibi parola listesi , kullanıcı listesi gibi dosyalar ile deneme yapılma imkanı sunmaktadır.
cme smb 192.168.1.101 -u user1 user2 user3 -p Summer18
cme smb 192.168.1.101 -u user1 -p password1 password2 password3
cme smb 192.168.1.101 -u /path/to/users.txt -p Summer18
cme smb 192.168.1.101 -u Administrator -p /path/to/passwords.txt
cme smb 192.168.1.101 -u /path/to/users.txt -p Summer18 --continue-on-success
Prevention
Kaba kuvvet saldırılarına karşı savunma sağlamak amacıyla, parola ve hesap kilitlenme ayarlarının domain içinde değiştirilmesi gerekebilir. Bu ayarlar genellikle domaindeki Varsayılan Domain Politikası (Default Domain Policy) üzerinden yönetilir. Bu politika, öncelikli olarak Password Policy (Parola Politikası) ve Account Lockout Policy (Hesap Kilitlenme Politikası) gibi ayarları içerir.
Password Policy, kullanıcıların oluşturdukları parolaların karmaşıklığı ve güvenliği üzerinde durur. Bu politika, minimum parola uzunluğu, büyük ve küçük harf kombinasyonu, rakam ve sembol kullanımı gibi özellikleri belirler. Bu şekilde daha güçlü parolalar oluşturulması sağlanır. İlgili ayarlara “Computer configuration-> Policies-> Windows Settings->Security Settings -> Account Policies -> Password Policy” 1. Computer configuration-> Policies-> Windows Settings->Security Settings -> Account Policies -> Password Policy” adımları takip edilerek ulaşılabilir.
Account Lockout Policy ise yanlış parola denemelerinin ardından hesapların ne kadar süreyle kilitleneceğini ve kaç deneme sonrasında bu kilitliliğin gerçekleşeceğini belirler. Bu politika, kaba kuvvet saldırılarına karşı koruma sağlar. Eğer bir saldırgan birden fazla yanlış parola denemesi yaparsa, hesap belirli bir süre boyunca kilitlenir ve saldırganın sürekli deneme yapmasının önüne geçilir.
Microsoft tarafından önerilen ayarların yapılandırılması aşağıdaki resimde belirtilmiştir, aktif dizin sistemin güvenliğini artırmak ve kaba kuvvet saldırılarına karşı dayanıklılığını artırmak için örnekteki değerler referans alınabilir.
Detection
Aşağıdaki sigma kuralı 5 dakika içerisinde aynı host üzerinden 15 farklı kullanıcı için hatalı parola denemesini tespit etmektedir. Bu kural kurum yapısına göre özelleştirilebilir özet olarak oluşturulması gereken senaryo her 10 dakikada bir, aynı ip / bilgisayar üzerinden son 10/20 dakika içerisinde meydana gelen 4525 ve 4776 olay günlük sayılarına (log) bakılır ve potansiyel kaba kuvvet saldırılarında bir uyarı bildirimi yapılabilecektir.
author: Onur Atali
status: stable
logsource:
product: windows
service: security
detection:
selection:
EventID: 4625
Logon_Type: 3
filter:
IpAddress: 'domain_controllers_ip_address'
condition: selection and not filter | count(TargetUserName) by Computer > 15
timeframe: 5m
Splunk tarafından öneriken tehdit tespit kuralı örneği;
`wineventlog_security` EventCode=4625 Logon_Type=3 IpAddress!="-"
| bucket span=5m _time
| stats dc(TargetUserName) AS unique_accounts values(TargetUserName) as tried_accounts by _time, IpAddress, Computer
| where unique_accounts > 30
| `windows_multiple_users_remotely_failed_to_authenticate_from_host_filter`