Brute-Force Kullanıcı Adı Numaralandırma / Başarısız Kullanıcı Adı Denemelerini İzlemenin En İyi Yolu AD


9

Uygulamada oturum açarken etki alanı kimlik bilgilerini kullanan bir uygulama bulunan bir Windows Sunucumuz var. Kısa süre önce yapılan bir kalem testi sırasında test kullanıcıları, uygulamanın yanıtına bağlı olarak geçerli alan adı kullanıcı adlarını numaralandırmak için uygulamayı kullanabildiler (Geçersiz bir kullanıcı adı ve geçersiz bir şifre için farklı bir yanıt verdi).

Uygulama düzeltiliyor, bu yüzden bu bilgi ortaya çıkmıyor, ama aynı zamanda kısa bir süre içinde 2000.000'den fazla geçersiz kullanıcı adı denemesi olduğundan bu saldırıyı tespit etmemiz gerektiğini hissediyorum. Yöneticilerimiz Active Directory'yi yakından izlerken bile görmedik. Görünüşe göre hatalar sadece uygulamanın kurulduğu sunucunun yerel olay günlüğünde ortaya çıktı.

Benim sorum: 1) Bu başarısız kullanıcı adı isteklerini merkezi bir konumda kaydetmek için Active Directory almanın bir yolu var mı?

2) Değilse, gelecekte bu tür saldırıları izlemenin ve aktif olarak tespit etmenin en iyi yolu nedir (Umarım çok fazla yeni ekipman satın almak zorunda kalmadan).

Yardımın için teşekkürler.

Yanıtlar:


11

Harika bir soru.

İlk önce - "penetrasyon test cihazlarının" çoğunun senaryo çocukları olduğunu düşünüyorum. Önyargım adil veya doğru olmayabilir ama bu feragatnameyi koyuyorum, böylece tonumda herhangi bir kinizm tespit ederseniz, nereden geldiğini biliyorsunuz. Orada demiyorum hiçbir vasıflı pentesters, ama bu benim süpürme genelliği olduğunu.

(Yaşam için mavi takım!)

Benim sorum: 1) Bu başarısız kullanıcı adı isteklerini merkezi bir konumda kaydetmek için Active Directory almanın bir yolu var mı?

Kimsenin bu soruya kapsamlı bir şekilde ve güvenle cevap verebilmesi için yeterli bilgi sağlamadınız. Uygulamanızın , saldırganların kullanıcı hesaplarını numaralandırmasına olanak tanıyan bir kusur içerdiğini söylediniz . Ne için kaydının yapılmasını AD ihtiyaçlarını hissetmek ne şekilde anlamaya çalışıyorum senin uygulaması.

Görünüşe göre hatalar sadece uygulamanın kurulduğu sunucunun yerel olay günlüğünde ortaya çıktı.

Görünüşe göre sunucudaki olay günlüğünde hatalar ortaya çıktı mı? Ya arızaları yaptığı sunucudaki olay günlüğünde görünür mü? Eğer öyleyse, olaylar tam olarak ne dedi? Onları kim kaydetti? Başvurunuz? Yoksa Windows mu? Gidin öğrenin ve cevabıma ek açıklama ekleyebilirim.

Burada, bu olayların bir şekilde Active Directory tarafından günlüğe kaydedilmiş olması gerektiği varsayımına dayanarak burada bir uzuv çıkacağım ... Ya pentesterleriniz aslında uygulamanızdaki bir kusuru kullanmıyorsa, bunun yerine kullanıcı adlarını numaralandırmak için Kerberos'un kendisinde çok iyi bilinen bir kusur mu var? Kerberos'un kendisi, bir saldırganın binlerce ve binlerce "ön kimlik doğrulama" denemesini (yani bir kaba kuvvet saldırısı) deneyebileceği bir tasarım hatası olduğunu ve KDC'nin kullanıcı hesabının var olup olmamasına bağlı olarak farklı yanıt vereceğini düşünüyor. Bu Active Directory'ye özgü bir davranış değildir, ancak MIT Kerberos, Heimdal, vb. İçin de geçerlidir. KDC yanıt verecektirKDC_ERR_PREAUTH_REQUIREDgeçerli bir kullanıcı adı, gerçek bir kimlik doğrulama girişiminde bulunmadan bile, kimlik doğrulama öncesi veri olmadan sunulduysa. Bu şekilde bir KDC'den kullanıcı adlarını numaralandırabilirsiniz. Ancak saldırgan (veya saldırganın KrbGuess gibi kullandığı araç - çünkü pentesterler başkalarının araçlarını kullanırken en iyi durumda oldukları için) tam bir kimlik doğrulama girişimine devam etmek zorunda olmadığından, hiçbir şey günlüğe kaydedilmez çünkü gerçek kimlik doğrulaması denendi!

Şimdi, bir sonraki sorunuza geçelim:

2) Değilse, gelecekte bu tür saldırıları izlemenin ve aktif olarak tespit etmenin en iyi yolu nedir (Umarım çok fazla yeni ekipman satın almak zorunda kalmadan).

Birkaç şey.

İlk olarak, bu tür saldırıları (diğerlerinin yanı sıra) tespit etmek için tasarlanmış ücretli, kurumsal düzeyde ürünler var. Birçok satıcı bu ürünleri sunar ve ürün önerileri Serverfault için konu dışıdır, ancak dışarıda olduklarını söylemek yeterlidir Orada. Bu ürünlerin çoğu, etki alanı denetleyicileriniz ve bu "veri toplayıcıları" arasındaki bağlantı noktası yansıtmayı yapılandırmanızı gerektirerek çalışır; böylece etki alanı denetleyicilerinize giren veya çıkan her paketi tam olarak görür ve analiz ederler.

(Üzgünüm, bu tür "çok fazla yeni ürün almadan" cümlesine giriyor.)

Size yardımcı olabilecek başka bir şey de kayıt defteri girdisidir:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters

LogLevel = 1

Burada belgelenmiştir .

Bu kayıt defteri girdisi etkinleştirirseniz, almalısınız sular altında Kerberos gereklidir-kimlik ön söz Kerberos hataları hakkında Güvenlik olay günlüğüne olaylarla. Böyle bir olaya örnek:

A Kerberos Error Message was received:
 on logon session DOMAIN\serviceaccount
 Client Time: 
 Server Time: 12:44:21.0000 10/9/2012 Z
 Error Code: 0x19 KDC_ERR_PREAUTH_REQUIRED
 Extended Error: 
 Client Realm: 
 Client Name: 
 Server Realm: DOMAIN
 Server Name: krbtgt/DOMAIN
 Target Name: krbtgt/DOMAIN@DOMAIN
 Error Text: 
 File: e
 Line: 9fe
 Error Data is in record data.

Ancak Kerberos isteklerinin tsunamisinin tam olarak nereden geldiğini belirtmezse bu size yardımcı olabilir veya olmayabilir. Bu bizi daha önce bahsettiğim kurumsal saldırı tespit ürünlerine geri götürüyor.

Ayrıca, sunucularınızın olayları merkezi bir konuma yönlendirebilmesini sağlayan Windows Olay İletme'yi de unutmayın.

Bu cevabın tamamı şimdiye kadar gerçekten kabul edemediğim Kerberos protokolüne dayanmıştı, çünkü yazınızda çok az ayrıntı verdiniz. Yine de, umarım bu en azından biraz yardımcı olur.


Yanıtınız için teşekkürler. Pazartesi günü iki kez kontrol edeceğim, ancak olay günlüklerinin yerel sunucuya başarısız oturum açma için standart windows olayları olduğuna inanıyorum (örneğin, geçersiz bir kullanıcı adı ile RDP üzerinden başarısız bir oturumun eşdeğeri olacaktır). Kesinlikle hiçbir şey özel uygulama. Kerberos kimlik doğrulama numaralandırması için, kalem test cihazlarının yerel intranetimizde olması gerektiğine inanıyorum. Onlar değildi. Uygulama, Internet üzerinden, işletim sistemi kapsamı altında çağıran standart form tabanlı kimlik doğrulaması ile halka açıktır.
Doug

0

Bu, doğru bir cevap duymak istediğim ilginç bir soru. Doug'un yararlı bulabileceği bazı bilgilerle karşılaştım, ancak bunun biraz yetersiz olabileceğini hissediyorum. Başka biri muhtemelen genişletilmiş bir cevap verebilir:

Denetim bilgilerinin depolanmasını istediğiniz sunucuya giriş yapın, Çalıştır -> RSOP.MSC -> Bilgisayar Yapılandırması -> Windows Ayarları -> Güvenlik Ayarları -> Yerel Politikalar -> Denetim Politikası -> "Hesap oturum açma olaylarını denetle" & " Oturum Açma olaylarını denetle "

"Hesap oturum açma olayları" açıklaması şu şekildedir:

Hesap oturum açma olaylarını denetleme

Bu güvenlik ayarı, bu bilgisayar bir hesabın kimlik bilgilerini her doğruladığında işletim sisteminin denetlenip denetlenmeyeceğini belirler.

Hesap oturum açma olayları, bilgisayar yetkili olduğu bir hesabın kimlik bilgilerini doğruladığında oluşturulur. Etki alanı üyeleri ve etki alanına katılmayan makineler yerel hesapları için yetkilidir; etki alanı denetleyicilerinin tümü etki alanındaki hesaplar için yetkilidir. Kimlik bilgileri doğrulaması yerel bir oturum açmayı destekliyor olabilir veya bir etki alanı denetleyicisindeki Active Directory etki alanı hesabı olması durumunda, başka bir bilgisayarda oturum açmayı destekliyor olabilir. Kimlik bilgisi doğrulaması durumsuzdur, bu nedenle hesap oturum açma olayları için karşılık gelen oturum kapatma olayı yoktur.

Bu ilke ayarı tanımlanmışsa, yönetici yalnızca başarıların, yalnızca başarısızlıkların, hem başarıların hem de başarısızlıkların denetlenip denetlenmeyeceğini ya da bu olayların hiç denetlenmeyeceğini (örneğin, ne başarılar ne de başarısızlıklar) belirleyebilir.

"Oturum açma olayları" ifadesi şu şekildedir:

Oturum açma olaylarını denetleme

Bu güvenlik ayarı, işletim sisteminin bu bilgisayarda oturum açmaya veya oturumu kapatmaya çalışan bir kullanıcının her örneğini denetleyip denetlemediğini belirler.

Oturumu kapatan olaylar, oturum açmış bir kullanıcı hesabının oturum açma oturumu sonlandırıldığında oluşturulur. Bu ilke ayarı tanımlanmışsa, yönetici yalnızca başarıların, yalnızca başarısızlıkların, hem başarıların hem de başarısızlıkların denetlenip denetlenmeyeceğini ya da bu olayların hiç denetlenmeyeceğini (örneğin, ne başarılar ne de başarısızlıklar) belirleyebilir.

Esasen bu ilkeleri etkinleştirmeniz, ilke ayarlarını tanımlamanız ve yalnızca başarısız denemeleri izlemek istiyorsanız "başarısız" ı seçmeniz gerekir. İsterseniz, başarıları da izleyebilirsiniz, ancak yalnızca bu tür bir saldırı aramasından endişe ediyorsanız, ayrıştırmak biraz daha zor olabilir.

Sistemlerinizin savunmasız olabileceği benzer yapılandırmalardan endişe ediyorsanız , bir SCAP Tarayıcı ile birlikte kullanıldığında STIG ayarlarına ( bağlantı ) bakmanızı tavsiye ederim, kuruluşunuzun bazı risklerini vurgulamaya gerçekten yardımcı olabilir. bakan. STIG görüntüleyici birkaç yanlış pozitif ortaya koyma eğilimindedir, ancak her sorunun sahip olduğu özellikleri okuduysanız, bunu bir başlangıç ​​olmayan bulabilirsiniz.


1
Ben MSFT veya nist taban çizgilerini öneririm, DISA ev sahibi bir varlık olarak güvence altına almak yerine çevre hakkında varsayımlar yapar. Evet, uygun denetim gereklidir. Active Directory teknik incelemesini korumak için en iyi uygulamaları da okudum.
Jim B

Harika bir nokta Jim B! Ben bu yönü düşünmemiştim.
Mart'ta Sawta
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.