Forum

Active Directory si...
 
Bildirimler
Hepsini Temizle

Active Directory sifre hash metodu ?

11 Yazılar
4 Üyeler
0 Reactions
3,432 Görüntüleme
(@OzcanSAHIN)
Gönderiler: 198
Estimable Member
Konu başlatıcı
 

Merhaba,

 

Server 2008 R2 Active Directory kullanicilari hangi sifreleme metedoyla nrds.dit içerisinde tutuyor.

Default Domain Policy'de "LM" disable edilmis .

Default olarak Windows NT hash kullaniyor ancak NTLM'in hangi versiyonu NTLMv1, NTLMv2 ?

Sifreleme için (authentification için konusmuyorum veritabaninda sifreyi saklarken) hangi metodlari kullandigini nerden gorebiliriz ? Group Policy' de bununla ilgili bir ayar var mi ?

Ikinci sorum ise Active Directory SHA 256 destekliyormu sifreleri saklerken ?

Tesekkurler

Iyi çalismalar

 

 
Gönderildi : 10/09/2015 15:04

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33322
Illustrious Member Yönetici
 

Merhaba,

NTLM in hangi versiyonunu kullanıyoruz sorusunu soruyorsan orası karışık, Client ve Server OS versiyonları ve LMCompatibilityLevel GPO ayarlarına göre değişir ama v1 de v2 de NT Hash kullanır.

Metodları göremezsin o kısmı gizli, en mantıklı kaynak MSDN de unicodePwd olsa gerek oradan bişey çıkabilir 🙂

Şifre saklama sadece NT Hash o da sadece “MD4”

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 18/09/2015 04:04

(@OzcanSAHIN)
Gönderiler: 198
Estimable Member
Konu başlatıcı
 

Hakan bey merhaba,

 

Suanki AD'miz (Server 2008 R2), NT hash MD4 ile tutuyor ancak çok hizli kirilabilen bir hash metodu.

Asagidaki article 'da AES'in desteklendigi belirtiliyor :

http://www.microsoft.com/security/sir/strategy/default.aspx#!password_hashes

Ancak benim bu konu ile ilgili bulabilgim ;

GPO'da "Network Security: Configure Encryption types allowed for Kerberos" ayarinda istenilen encyption metod'unun aktif/pasif edilmesi (AES128 et AES 256 seçeneklerde var article'daki gibi) yada Schema'daki "msDS-SupportedEncrytionTypes" attribut 'de aktif edilmesi.

http://blogs.msdn.com/b/openspecification/archive/2011/05/31/windows-configurations-for-kerberos-supported-encryption-type.aspx

Ancak, gorunuse gore bu ayarlar sadece network tarafini yani authentication mekanizmasini ilgilendiriyor.

 

"Şifre saklama sadece NT Hash o da sadece “MD4”"

Sadece derken yani MD4 ile NT hash disinda bir metodu AD desteklemiyor mu ? yada bunu saglamanin bir yolu var midir ?  (sadece storage kismindan bahsediyorum(ntds.dit), Authentication' ni hariç tututarak)

 

Yardimlariniz için tesekkur ederim,

 

 
Gönderildi : 18/09/2015 13:11

(@kenangunay-2)
Gönderiler: 18
Eminent Member
 

 ..

 
Gönderildi : 18/09/2015 14:33

(@tunagezer)
Gönderiler: 7
Active Member
 

 

Merhaba,
 
Sorunun kendis değil ama konu kapsam olarak çok geniş o yüzden soruyu direk yanıtlamaya ve kısaca bilgi vermeye çalışacağım, umarım başarabilirim.
 
Active Directory'de (ntds.dit) şifreleriniz hep "MD4" ile saklandı ve saklamaya devam edecek, burada dip not olarak değinmek isterim ki hash üretilirken OWF kullanılıyor, ama yine de bu çok önemli değil, çünkü önemli olan husus HASH lerin güvenli tutulması yani ele geçirilmemesi, eğer ki bir saldırı sonucu DA, EA gibi hesaplarınızın HASH leri ele geçirimiş ise iş işten çoktan geçmiştir, zaten bu noktada şifreyi bulmaya ihtiyaç kalmıyor, Pass-The-Hash dediğimiz yöntemi uygulamak yeterli (wce, mimikatz vs.). Bu sebeple AD de şifrelerinizi isterseniz SHA-2 ile HASH leyin çok bir anlam ifade etmiyor, bu sadece DC lerinizin encrypt/decrypt işlemleri için daha çok compute kullanmasına ve performans sıkıntılarına sepep olacak o kadar.
 
Yukarıda bahsettiğim bu teknik ile ilgili tüm detaylar ve önleme yöntemleri ile ilgili yayınladığımız bir PDF var, tüm detayları burada okuyabilirsiniz. Özetle asıl sorunuzun cevabının burada olduğunu tahmin ediyorum.
Pass-the-Hash (PtH): https://technet.microsoft.com/en-us/dn785092.aspx

 
İkinci link için dediğiniz ve yorumunuz doğru GPO da veya "msDS-SupportedEncrytionTypes" üzerinden yapacağınız tüm değişiklikler sadece "Kerberos Auth" da kullanılan AS ve TGS ticketlerinin şifrelenmesi için kullanılacak Etype ları belirler, burada 2008R2 ve sonrasında tüm DC ler AES256 destekler ve en güvenli olan key i öncelikli tercih eder. Biraz detay bilgi (birinci linkinize referans olması adına) “AES key” ler “unicodePwd” de tutulan MD4 hash ile üretilir ve “supplementalCredentials” adında ayrı bir nitelik te tutulur ve sadece Kerberos servisi tarafından  kullanabilir. Ama bu sorunuzun biraz kapsamının dışında.  
 
Burada amacınız AD sadece şifreler "MD4" ile HASH lenmesin, daha güçlü bir fonksiyon kullanılsın istiyorsanız maalesef öyle bir dünya (AD) yok. AD de clear text password MD4 kullanılarak hash üretilir ve "unicodePwd" niteliğinde tutulur, buraya hiçbir şekilde müdahale edilemiyor.
 
Çok önemli;NTLM Auth MD4 gerektiriyor (RFC1321) ve bu otomatik olarak büyük bir çin seddi oluşturuyor, NTLM in kaldırılması sayısız uygulama ile interop problemleri doğuracaktır, neticede Kerberos Auth her senaryoda ve uygulamada kullanılamıyor. Bu konuda Microsoft un resmi açıklamasından wikipedia da bir alıntı mevcut: https://en.wikipedia.org/wiki/NT_LAN_Manager
 
Microsoft no longer recommends NTLM in applications:[6]
 
"Implementers should be aware that NTLM does not support any recent cryptographic methods, such as AES or SHA-256. It uses cyclic redundancy check (CRC) or message digest algorithms (RFC1321) for integrity, and it uses RC4 for encryption.
 
Deriving a key from a password is as specified in RFC1320 and FIPS46-2. Therefore, applications are generally advised not to use NTLM."
 
Microsoft has added the NTLM hash to its implementation of the Kerberos protocol to improve inter-operability. According to an independent researcher, this design decision allows Domain Controllers to be tricked into issuing an attacker with a Kerberos ticket if the NTLM hash is known.[7]
 
While Kerberos has replaced NTLM as the default authentication protocol in an Active Directory (AD) based single sign-on scheme, NTLM is still widely used in situations where a domain controller is not available or is unreachable. For example, NTLM would be used if a client is not Kerberos capable, the server is not joined to a domain, or the user is remotely authenticating over the web.[1][3]
 
 
gördüğünüz bu konu hakkında gibi kısa bilgi bile pek kısa olmuyor :S
 
İyi Çalışmalar,
Tuna Gezer
 
Gönderildi : 21/09/2015 20:21

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33322
Illustrious Member Yönetici
 

Tuna, efsane cevap olmuş 🙂

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 21/09/2015 20:30

(@OzcanSAHIN)
Gönderiler: 198
Estimable Member
Konu başlatıcı
 

Merhaba,

Microsoft'un tarih olmus bir algoritmayi kullanmasi beni sasirtti açikçasi ama NTLM bagimliliginin da bizi alternatifsiz birakmasi baska bir sorun.

MD4 dizayni geregi evet çok hizli ama bu bir yerde zayiflik çunku saniye de milyonlarca kombinasyon denenmesine olanak sagliyor hele birde paralelizm isin içine gerince çok kisa surede yuzlerce sifre hash'i çozukluyor.OWF kullanmasi da bir guvenlik saglamiyor bu durumda NT Hash "Salt" metodunu kullanamadigi için ayni sifre için ayni hash'i uretiyor buda bir password'u çozunce ayni harika password'u olan diger kullanicilarin da sifresi çozulmus oluyor.

Kendi yapim için konusursam birbiriyle senkronize 3 farkli directory var AD içlerindeki ikinci zayif algoritma kullanan bu durumda.                          50000 den fazla account'un oldugu ve 36000 den fazlasinin aktif kullanildigi SHA256 hash algorithmasi kullanan directory'de bu sebeble bu gune kadar bir performas sorunu yasamadik.

Arastirmalarim ve sizin de vermis oldunuz bilgiler gosteriyor ki Microsoft sifre guvenligi konusunda iyi bir Password Policy uygulayin (komplex ve mumkun olabildigince uzun!) ve veritabaninizi çaldirmayin diyor 😉

Verdiginiz bilgiler ve PtH dokumanlari için tesekkur ederim inceleyecegim,

Iyi çalismalar

 
Gönderildi : 22/09/2015 01:33

(@tunagezer)
Gönderiler: 7
Active Member
 

AD nin de 1999 da release olduğunu düşünürsek çok şaşırmamak lazım, ama şaka bir yana bunun temel sebebinin NTLM bağımlığı olduğu aşikar.

MD4 konusunda dediklerin doğru %100 katılıyorum, ayrıca paralelizm dediğin iş için kaynak limitin de yok, Azure üzerinde saniyeler içerisinde HPC ler kurabiliyorsun yani arka taraftaki işlemci gücüne ulaşmak gün geçtikçe daha da kolaylaşıyor. O yüzden MD4,SHA-1,SHA-2, SHA-XYZ  veya Salt, NoSalt gibi konulara bence takılma, vurgulamaya çalıştığım SHA-2 değil SHA-3 de kullansan ben HASH i aldıktan sonra gerisi mühim değil savaşı kaybettin.

Yapın için verdiğin örnek için teşekkürler, ama burada hesaba katmamız gereken o kadar çok değişken var ki inan en basit gözüken değişikliker bile çok büyük problemlere sebebiyet verebiliyor, AD nin install base i bugün %95, dünya üzerinde kullanmayan şirket sayısı çok az, o yüzden bu tarz majör değişiklikler çok ciddi problemlere sebebiyet verebilir. En basitinden bir örnek verecek olursam 2008 de default olarak DES i kapattık, sene 2015 sence kaç müşteri de DES kapalı kaldı? yine buna örnek LM Hash kaç müşteride hala açık? Bağımlılıklarından dolayı hala 2003 AD kullanan müşteriler var, Interop ve LOB uygulamaları işin içine girince maalesef elin kolun bağlanıyor ve birçok yerde güvenlik ikinci plana atılıyor (konu ver örnek uzar da uzar).

 

""

Hatta isim vermeden canlı şahit olduğum bir örnek anlatayım; IT ekibi içerisindeki bir dialogda AD ci arkadaşa soruyorlar bizde DES ne durumda, bizde kapalı diyoruz, o zaman açalım diyorlar, soruyoruz niye 10.000 client lisanslı bir uygulamayı bize XYZ bedavaya veriyor ama çalışması için DES lazım, gerisini yazmaya gerek yok, sonucun ne olduğunu az çok tahmin edebilirsiniz.

""

PtH (dökümanları mutlaka oku inan çok keyifli) dökümanında önerdiğimiz tüm ayarları ve bunların güvenliğe katkı seviyelerini bulabilirsin, evet PasswordPolicy önemli, database daha da önemli kesinlikle çaldırma 🙂 sanal ise bunların yönetimi kimde? vhd, vhdx (HyperV reklamı) lerin nerelerde? AD de "yetkili gruplara" kimler dahil, bunlarda "Password Never Expires" açık mı? son kullanıcını geç senin (Adminlerin) şifren kaç karakter? Admin işleri için ayrı bir hesabın var mı? mail disabled mı? vs... vs... 

En güncel atak yöntemine bir örnek;

1- Sunucu ve Clientlarda Lokal Admin şifresini kır (birçok yer hala GPP ile her makinaya aynı şifreyi basıyor)

2- Lateral movement, lokal admininde aynı şifreyi kullanan tüm sunucu ve clientların memory sine eriş (lokal admin in memory debug yetkisi var)

3- Birinde bile DA, EA gibi yetkili gruplara üye bir hesabın HASH i varsa al ve kendi token ına inject et (neyle hash lendiğinin bir önemi yok)

4- Şimdi ne istersen yap 🙂 istersen yıllarca uykuya yat (kurumsal espionage yap)

 

Dediğin kadar büyük bir yapınız var ise, Microsoft' kurumsal Premier iniz de vardır diye düşünüyorum, bir gün çay içmeye gelebilrim 🙂

 

teşekkürler,

Tuna Gezer

https://tr.linkedin.com/pub/tuna-gezer/24/372/877

 

 

 

 
Gönderildi : 22/09/2015 13:40

(@OzcanSAHIN)
Gönderiler: 198
Estimable Member
Konu başlatıcı
 

"MD4,SHA-1,SHA-2, SHA-XYZ  veya Salt, NoSalt gibi konulara bence takılma, vurgulamaya çalıştığım SHA-2 değil SHA-3 de kullansan ben HASH i aldıktan sonra gerisi mühim değil savaşı kaybettin."

Olay zaten buraya gelmeden guvenlik politikalariyla network'te çozulmeli, anladigim kadariyla MS bu yuzden Kerberos Authentication guvenline bu kadar çalismis ancak hersey CISO'nun kullanicilarin passwordleri ne kadar guvenli bir kirip risk analizi yapalim, zayif olanlari bilgilendirelim derken biz ne kadar guvenli sakliyoruza gelince, ustune AD'nin veritabani bu kadar hizli çozulunce ister istemez desteklenen daha guvenli bir hash algoritmasi arayisina girdim ama yanlis baligi kovaliyormusus.
Canli ve guncel ornekler için tesekkur ederim.

"Dediğin kadar büyük bir yapınız var ise, Microsoft' kurumsal Premier iniz de vardır diye düşünüyorum, bir gün çay içmeye gelebilrim :)"

AD yapimiz çok komplex degil ancak universite oldugumuz için directory yapisi oldukça heterojen (Oracle/Unix/Linux/AD...).                                   Her zaman beklerim ama yurtdisindayim çay'dan ziyade kahve croissant ikram edebilirim:)

Iyi çalismalar

 
Gönderildi : 22/09/2015 15:48

(@tunagezer)
Gönderiler: 7
Active Member
 

1999'da Microsoft'da hayaller Kerberos ama maalesef gerçekler Kasımpaşa. 🙂

Kesinlikle haklsın olay daha network de IDS, IPS lerin olmalı vs. vs. hatta bu noktada Microsoft olarak Aorato firmasını satın alıp "Microsoft ATA (Advanced Thread Analytics)" ürününü çıkardık, network de DC lerine gelen trafiği sniff edip EventLoglarını ML de kullanarak sana olası atak durumunda uyarı veriyor, bir bakmanı öneririm.

Zaten o kadar seat ya banka da, yada üniversite de olur, tahmin etmeliydim. İş sebebiyle avrupa'ya çok gidiyorum, ama fransızlar illa kendi dilinde adam istedikleri için oraya çok uğramıyorum 🙂 ama notunu aldım yolumuz düşerse mutlaka haber veririrm.

 

tşk,

 
Gönderildi : 22/09/2015 16:06

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33322
Illustrious Member Yönetici
 

O zaman sana Microsoft ATA öneriyorum, özellikle PtH için önleme değil ama raporlama ve uyarı için birebir. Şu anda bir bankada POC yapıyoruz 🙂 ürün gerçekten çok başarılı

https://www.cozumpark.com/blogs/cloud_computing/archive/2015/08/30/microsoft-advanced-threat-analytics-bolum1-what-is-ata.aspx

https://www.cozumpark.com/blogs/cloud_computing/archive/2015/08/30/microsoft-advanced-threat-analytics-bolum2-planning-and-requirements.aspx

https://www.cozumpark.com/blogs/cloud_computing/archive/2015/08/30/microsoft-advanced-threat-analytics-bolum3-deployment-guide-lab-_3101_nstallation.aspx

https://www.cozumpark.com/blogs/cloud_computing/archive/2015/08/30/microsoft-advanced-threat-analytics-bolum4-configure-event-collection.aspx

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 23/09/2015 15:28

Paylaş: