Netexec Aracını Kullanarak Active Directory Pentesting
- Active Directory Pentesting’e Giriş
- Netexec Aracına Genel Bakış
- Kerberos Olmadan Bir Hesabın Var Olup Olmadığını Test Edin
- Test Kimlik Bilgileri
- Kullanıcıların Numaralandırılması
- Belirli Kullanıcılar için LDAP Sorguları
- ASREPRoasting
- Alan Adı SID’sini Bul
- Yönetici Sayısı Sayımı
- Kerberoasting
- BloodHound Yutma Cihazı
- Kullanıcı Açıklaması Numaralandırması
- Kimim Komutu
- Grup Üyeliğinin Sayımı
- Grup Üyeleri Sayımı
- Makine Hesap Kotası
- Kullanıcı Açıklamalarını Alın
- LAPS Sayımı
- Alt Ağ Bilgilerinin Çıkarılması
- DACL Okuma
- Kullanıcı Şifrelerini Alın
- Unix Kullanıcı Parolasını Alın
- Parola Ayarları Nesneleri (PSO)
- Vakıfların Sayımı
- Önceden Oluşturulmuş Bilgisayar Hesaplarını Belirleme
- Active Directory Sertifika Hizmetleri (ADCS)
- Çözüm
Not* : Komut ChatGPT’den alındı, ancak beklenmeyen bazı anahtarlar eksik. Önerileriniz varsa lütfen bizimle iletişime geçmekten çekinmeyin.
Active Directory Pentesting’e Giriş
Active Directory (AD), birçok kuruluşta kimlik doğrulama ve yetkilendirmenin omurgasını oluşturur . Bu nedenle, saldırganlar tarafından istismar edilebilecek güvenlik açıklarını tespit etmek için AD penetrasyon testi çok önemlidir . Netexec, AD numaralandırma ve istismarı için kullanılan çok yönlü bir araçtır. Bu araç, sızma test uzmanlarının değerli bilgileri elde etmelerine , kimlik bilgilerini test etmelerine ve bir AD ortamındaki zayıflıkları belirlemelerine yardımcı olur .
Netexec Aracına Genel Bakış
Bu yazıda, Active Directory sızma testi , numaralandırma ve LDAP üzerinden istismar için Netexec’i kullanacağız . Netexec, sızma test uzmanlarının hesapların varlığını test etmelerine , karma değerler kullanarak kimlik doğrulaması yapmalarına, kullanıcıları ve grupları numaralandırmalarına ve hatta AD hizmetlerindeki belirli güvenlik açıklarından faydalanmalarına olanak tanır . Araç, basit komut satırı sözdizimiyle çalışır ve saldırı veya numaralandırma sürecini özelleştirmek için çeşitli seçenekler sunar .
Netexec için temel sözdizimi şöyledir:
nxc ldap <hedef> -u <kullanıcı adı> -p <şifre> <seçenekler>
Nerede:
- <hedef>: LDAP sunucusunun IP adresi veya ana bilgisayar adı.
- <kullanıcı adı>: Kimlik doğrulama için kullanıcı adı.
- <şifre>: Kimlik doğrulama için şifre (veya NTLM karması).
- <seçenekler>: Gerçekleştirilecek belirli saldırı veya numaralandırma seçenekleri.
Kerberos Olmadan Bir Hesabın Var Olup Olmadığını Test Edin
Amaç : Bu komut, Active Directory’de Kerberos protokolü olmadan bir hesabın mevcut olup olmadığını kontrol etmek için kullanılır. -k veya–use-kcache seçeneğini kullanırken, Kerberos biletindekiyle aynı ana bilgisayar adını (FQDN) belirtmeniz gerekir.

Açıklama :
- -u “user.txt”: Kontrol edilecek kullanıcı adlarının listesi.
- -p ”: Şifre girilmez (sadece hesap varlığının test edilmesi nedeniyle).
MITRE ATT&CK Haritalama :
T1071 – Uygulama Katmanı Protokolü: LDAP (Bu, LDAP kullanılarak yapılan bir keşif etkinliğidir).
Test Kimlik Bilgileri
Amaç : Bu komut, bir kullanıcının kimlik bilgilerinin doğru olup olmadığını doğrulamak için düz metin parolası veya NTLM karma değerini kullanır.
Kullanıcı adı ve şifre kullanımı :

NTLM hash’ini kullanarak :

Açıklama :
- -u raj -p Şifre@1: Verilen şifre ile raj kullanıcısını test eder.
- -H <hash>: Düz metin parolası yerine NTLM karma değerini kullanır.
MITRE ATT&CK Haritalama :
T1110 – Kaba Kuvvet (Hash kullanarak kimlik bilgisi testi).
Kullanıcıların Numaralandırılması
Amaç : Active Directory etki alanındaki tüm kullanıcı hesaplarını almak. Bu, daha fazla saldırı için potansiyel hedefleri belirlemek amacıyla atılan önemli bir keşif adımıdır.
Tüm kullanıcılar :

Aktif kullanıcılar :

Açıklama :
- –users: Dizin içindeki tüm kullanıcıları alır.
- –active-users: Sonucu yalnızca etkin kullanıcılara (yani devre dışı bırakılmış kullanıcılara değil) filtreler.
MITRE ATT&CK Haritalama :
T1087 – Hesap Keşfi.
Belirli Kullanıcılar için LDAP Sorguları
Amaç : sAMAccountName gibi belirli kullanıcı nitelikleri için LDAP’yi sorgular.
Belirli bir kullanıcıya sorgu gönder :

Tüm kullanıcılara sorgu gönder :

Açıklama :
- –query “(sAMAccountName=aarti)”: “aarti” sAMAccountName’ine sahip bir kullanıcı için sorgular.
- –query “(sAMAccountName=*)”: AD ortamındaki tüm kullanıcıları alır.
MITRE ATT&CK Haritalama :
T1087 – Hesap Keşfi.
ASREPRoasting
Amaç : ASREPRoasting, Kerberos ön kimlik doğrulaması gerektirmeyen hesapları istismar ederek servis bileti karmalarını çıkarır ve bu karmalar daha sonra çevrimdışı olarak kırılabilir .
Kimlik Doğrulaması Olmadan :


Kullanıcı listesiyle :

Açıklama :
- –asreproast output.txt: ASREP (Kerberos Ön Kimlik Doğrulama) karmalarını çıkarır ve bunları output.txt dosyasına kaydeder.
- –dns-server: Etki alanı adlarını çözümlemek için DNS sunucusunu belirtir.
MITRE ATT&CK Haritalama :
T1558.001 – Kerberos Bilet Çıkarımı.
Alan Adı SID’sini Bul
Amaç : Etki alanı için benzersiz bir tanımlayıcı olan Etki Alanı Güvenlik Tanımlayıcısını (SID) alır.

MITRE ATT&CK Haritalama :
T1071 – Uygulama Katmanı Protokolü: LDAP. Etki Alanı SID’si, NTLM aktarma ve ayrıcalık yükseltme saldırıları için önemlidir.
Yönetici Sayısı Sayımı
Amaç : AdminCount özniteliğini kontrol ederek Etki Alanı Yöneticileri gibi yüksek ayrıcalıklı hesapları tanımlar.

MITRE ATT&CK Haritalama :
T1087 – Hesap Keşfi.
Kerberoasting
Amaç : Kerberoasting, SPN’leri (Hizmet Asıl Adları) olan hesaplar için hizmet biletleri isteyerek hizmet hesabı karmalarını çıkarır.

MITRE ATT&CK Haritalama :
T1558.001 – Kerberos Bilet Çıkarımı.
BloodHound Yutma Cihazı
Amaç : BloodHound toplayıcısı, AD saldırı yollarını haritalamak için kullanılan bir araç olan BloodHound’da kullanılmak üzere veri toplamak için kullanılır.

MITRE ATT&CK Haritalama :
T1087 – Hesap Keşfi.
Kullanıcı Açıklaması Numaralandırması
Amaç : Potansiyel hassas bilgileri tespit etmek için kullanıcı tanımlarını sıralar.

MITRE ATT&CK Haritalama :
T1087 – Hesap Keşfi.
Kimim Komutu
Amaç : whoami komutu oturumdaki geçerli kimliği doğrulanmış kullanıcıyı alır.

MITRE ATT&CK Haritalama :
T1087 – Hesap Keşfi.
Grup Üyeliğinin Sayımı
Amaç : Bu komut, belirli bir kullanıcının üyesi olduğu grupları numaralandırmak için kullanılır. Bu, yüksek ayrıcalıklı grupları ve yatay hareket fırsatlarını belirlemeye yardımcı olur.

Açıklama :
- -M grup üyeliği: Belirtilen kullanıcının üyesi olduğu grupları numaralandırır.
- -o USER=”ankur”: Grup üyeliğinin sorgulandığı kullanıcı adını belirtir.
MITRE ATT&CK Haritalama :
- T1087 – Hesap Keşfi.
- T1075 – Hash’i Geç (grup üyelikleri içindeki ayrıcalıkları yükseltmek için kullanılabilir).
Grup Üyeleri Sayımı
Amaç : Bu komut, saldırılar için önemli hedefleri ortaya çıkarabilecek “Etki Alanı Yöneticileri” veya “Etki Alanı Kullanıcıları” gibi belirli bir grubun üyelerini numaralandırmanıza olanak tanır.
“Alan Kullanıcıları”nın üyelerinin sayılması

“Alan Yöneticileri” üyelerinin sayımı :

Açıklama :
- -M group-mem: Belirli bir grubun üyelerini sıralar.
- -o GROUP=”Grup Adı”: Sorgulanacak grubu belirtir (örneğin, “Etki Alanı Yöneticileri”).
MITRE ATT&CK Haritalama :
T1087 – Hesap Keşfi.
Makine Hesap Kotası
Amaç : Bu komut, Active Directory’de makine hesapları oluşturma kotasını kontrol eder; bu, sahte makineler oluşturma veya grup politikalarını atlama için olası fırsatları belirlemede yararlı olabilir.

MITRE ATT&CK Haritalama :
T1077 – Windows Yönetici Paylaşımları (erişim sağlamak için makine hesapları oluşturma).
Kullanıcı Açıklamalarını Alın
Amaç : Bu komut, bazen roller, sorumluluklar veya hatta kimlik bilgileri gibi değerli bilgiler içerebilen kullanıcı hesaplarıyla ilişkili açıklamaları sıralar.

MITRE ATT&CK Haritalama :
T1087 – Hesap Keşfi.
LAPS Sayımı
Amaç : LAPS (Yerel Yönetici Parola Çözümü), yerel yönetici parolalarını rastgele sıralayan ve depolayan bir Microsoft çözümüdür. Bu komut, yerel yönetici hesapları için LAPS parolasını alır.

MITRE ATT&CK Haritalama :
- T1087 – Hesap Keşfi.
- T1110 – Kaba Kuvvet (yerel yönetici şifrelerini kaba kuvvetle ele geçirmek için).
Alt Ağ Bilgilerinin Çıkarılması
Amaç : Bu komut, ağ düzenini belirlemeye ve yanal hareket veya savunmasız makineleri istismar etme gibi daha fazla saldırıyı planlamaya yardımcı olabilecek alt ağ bilgilerini alır.

MITRE ATT&CK Haritalama :
T1010 – Uygulama Katmanı Protokolü: SMB.
DACL Okuma
Amaç : DACL (Discretionary Access Control List) okuma komutu, belirli AD nesnelerine ait erişim kontrol listelerini görüntülemek için kullanılır; bu, aşırı izin verici erişimi veya yanlış yapılandırmaları belirlemeye yardımcı olabilir.

Açıklama :
- -M daclread: Belirtilen hedefin DACL’sini okur.
- -o TARGET=Yönetici EYLEM=okuma: Hedef nesneyi (örneğin, “Yönetici”) ve gerçekleştirilecek eylemi (DACL’yi okuma) belirtir.
MITRE ATT&CK Haritalama :
T1074 – Veri Aşamalı (ayrıcalık yükseltmesi için DACL’ler hakkında bilgi toplanıyor).
Kullanıcı Şifrelerini Alın
Amaç : Bu komut çevrimdışı kırma veya daha sonraki saldırılar için kritik olabilecek kullanıcı şifrelerini alır.

MITRE ATT&CK Haritalama :
T1003 – İşletim Sistemi Kimlik Bilgisi Dökümü.
Unix Kullanıcı Parolasını Alın
Amaç : Bu komut, AD ile entegre edilmiş Unix tabanlı sistemler için parolaları alır. Unix hesaplarının Pass-the-Hash gibi saldırılara karşı savunmasız olup olmadığını değerlendirmek için faydalıdır.

MITRE ATT&CK Haritalama :
T1003.003 – İşletim Sistemi Kimlik Bilgisi Dökümü: Unix.
Parola Ayarları Nesneleri (PSO)
Amaç : Bu komut , AD’de parola politikalarını tanımlamak için kullanılan Parola Ayarları Nesnelerini (PSO) alır. Bunlar yanlış yapılandırılırsa, bir saldırganın belirli parola gereksinimlerini atlamasına olanak tanıyabilir.

MITRE ATT&CK Haritalama :
T1071 – Uygulama Katmanı Protokolü: LDAP (şifre politikalarını alma).
Vakıfların Sayımı
Amaç : Farklı alanlar arasındaki güven ilişkilerini sıralar, bu da yanal hareket ve birbirine bağlı alanlara saldırmak için yararlı olabilir.

MITRE ATT&CK Haritalama :
T1076 – Uzak Masaüstü Protokolü (RDP) (güven ilişkileri belirlendikten sonra yatay hareket için kullanılır).
Önceden Oluşturulmuş Bilgisayar Hesaplarını Belirleme
Amaç : Bu komut, ağ üzerinde güvenlik kontrollerini atlatmak veya kötü amaçlı makineler oluşturmak için kullanılabilecek önceden oluşturulmuş bilgisayar hesaplarını tanımlar.

MITRE ATT&CK Haritalama :
T1077 – Windows Yönetici Paylaşımları.
Active Directory Sertifika Hizmetleri (ADCS)
Amaç : ADCS, yetkisiz makineler için sertifika vermek amacıyla kullanılabilir. Bu komut, ADCS içindeki hatalı yapılandırmaları veya kötüye kullanılabilir yapılandırmaları kontrol eder.

Netexec yaklaşımıyla Active Directory Pentesting, AD pentesting için komut tabanlı bir metodoloji sunar. Sonuç olarak, yanlış yapılandırmaları belirlemeye, kritik saldırı yollarını keşfetmeye ve güvenlik açıklarını doğrulamaya yardımcı olabilir. Bu araç, bir Active Directory ortamının güvenlik duruşunu değerlendirme sürecinde önemli bir rol oynar ve hem kırmızı ekip operasyonları hem de güvenlik açığı değerlendirmeleri için kullanılabilir.
Her Netexec komutunun amacını ve kullanımını anlayarak, penetrasyon test uzmanları saldırılarını MITRE ATT&CK çerçevesine etkili bir şekilde eşleyebilir, değerlendirmenin kapsamlı olmasını ve endüstri standardı taktikler, teknikler ve prosedürlerle (TTP’ler) uyumlu olmasını sağlayabilir .

YORUMLAR