17 09 2014

Modern Linux sistemlerde varsayılan olarak gelen güvenlik sıkılaştırmalarından dolayı ptrace, /dev/mem, /dev/kmem gibi hafıza dökümü elde etme yöntemleri kullanılabilirlik ve verimlilik açısından yetersiz kalmaktadır. Güvenlik önlemlerine takılmadan başarılı bir bellek dökümü elde edebilmek için sisteme bir kernel sürücüsü yüklemek gerekmektedir. Bu mantıkla çalışan LiME aracı kullanılarak modern Linux sistemlerde tam bir bellek dökümü elde edilebilir. Tabi ki sistem bir sanal makine üzerinde çalışıyorsa sanallaştırma platformunun imkanlarını kullanarak doğrudan bellek dökümünü almak mümkün olabilir.

NAT Arkasında Bulunan Ossec Agent’lar İçin Yapılandırma

Daha önce OSSEC isimli HIDS uygulamasından bahsedip, server/client mimarisi ile kurulumunu ve yapılandırmasına   (http://www.linuxakademi.com.tr/ossec-hids-kurulumu-ve-yapilandirmasi/) adresinde değinmiştik. Bu yazıda ise NAT arkasında bulunan birden fazla Ossec Agent’in nasıl monitor edilebileceğinden bahsedeceğiz. Zira, NAT arkasında bulunan birden çok sistemi Ossec üzerinden monitor etmek istediğiniz de, bu sistemlere bire bire NAT yapmaya gerek kalmadan aynı ip adresi üzerinde hizmet veren (yani dışarıdan erişilebilir  tek IP’si olan) birden fazla makineye entegre edilebilecek şekilde tasarlanmıştır. Bu yönetim sistemi  istemcinin ip  adresine göre değil üretilen key(anahtar) değerine göre belirlenmektedir.
Bu sistemi bir örnek üzerinden açıklamak gerekirse, İnternet üzerinde bulunan sunucunuzda bir sanallaştırma platformu üzerinden birden fazla sistem çalıştırabilir ve bu sanal sunucuları dışarı NAT’layarak tek bir IP üzerinden çıkmalarını sağlayabilirsiniz. Böyle bir yapıda Ossec Manager’ınız da internet üzerindeki başka bir sistem üzerinde çalışıyorsa, agent eklerken girmeniz gereken agent IP’si konusunda karmaşıklık olacaktır. Zira Ossec Manager, bu agent’lar ile aynı networkte olmadığından, internet üzerinden gelmeli ve fakat her agent aynı IP üzerinden NAT’lı olduğu için birebir NAT yapmadığınız yani her agent için gerçek bir IP kullanmadığınız müddetçe Manager’a spesifik bir agent IP’si vermeniz mümkün olmayacaktır. İşte bir firewall arkasında bulunan ve NAT’lanarak erişilebilen bir sistem için agent ekleme işlemini aşağıdaki şekilde yapmanız gerekecektir.
İlk adım Ossec Manager tarafından normal şekilde agent ekleme işlemi yapmaktır. Bunun için ossec yönetim arabirimine girilir.
# /var/ossec/bin/manage_agents

****************************************
* OSSEC HIDS v2.7.1 Agent manager.     *
* The following options are available: *
****************************************
  (A)dd an agent (A).
  (E)xtract key for an agent (E).
  (L)ist already added agents (L).
  (R)emove an agent (R).
  (Q)uit.
Choose your action: A,E,L,R or Q:


Daha sonra ekleme işlemi yapabilmek için “A” tuşuna basılır ve devam edilir.
Choose your action: A,E,L,R or Q: A

- Adding a new agent (use '\q' to return to the main menu).
 Please provide the following:
  * A name for the new agent: Ossec-test-agent
  * The IP Address of the new agent: any
  * An ID for the new agent[001]:

Agent information:
  ID:001
  Name:Ossec-test-agent
  IP Address:any

Confirm adding it?(y/n): y


Burada, ilk adımda yeni oluşturulan istemciye bir isim verdikten sonra, agent’in IP adresini girmeniz istenecektir. Eğer ekleyeceğimiz agent direk olarak gerçek ip adresi üzerinde hizmet vermiyor ise burada IP adresi olarak “any” değeri girilmelidir. Diğer bilgiler normal olarak doldurulduktan sonra yapılan değişiklikleri onaylamak adına “y” tuşuna basılarak devam edilir.
Bundan sonrası klasik agent ekleme işleminin devamı ile aynıdır. İlk olarak eklenen agent için bir anahtar üretilir.
****************************************
* OSSEC HIDS v2.7.1 Agent manager.     *
* The following options are available: *
****************************************
  (A)dd an agent (A).
  (E)xtract key for an agent (E).
  (L)ist already added agents (L).
  (R)emove an agent (R).
  (Q)uit.
Choose your action: A,E,L,R or Q: E

Available agents:
  ID: 001, Name: ossec-test-agent, IP: any


Provide the ID of the agent to extract the key (or '\q' to quit): 001

Agent key information for '001' is:

MDIwIG9zc2VjLXRlc3QtYWdlbnQsd432FDW55IDRkOGNkNjI1YjkwZTNhNDMxY....

** Press ENTER to return to the main menu.


Daha sonra üretilen bu anahtar değeri agent tarafında ossec yönetim arabiriminden içe aktarılır.
# /var/ossec/bin/manage_agents


****************************************
* OSSEC HIDS v2.7.1 Agent manager.     *
* The following options are available: *
****************************************
  (I)mport key from the server (I).
  (Q)uit.
Choose your action: I or Q: I

* Provide the Key generated by the server.
* The best approach is to cut and paste it.
*** OBS: Do not include spaces or new lines.

Paste it here (or '\q' to quit): MDIwIG9zc2VjLXRlc3QtYWdlbnQsd432FDW55IDRkOGNkNjI1YjkwZTNhNDMxY...

Agent information:
  ID:001
  Name:ossec-test-agent
  IP Address:any

Confirm adding it?(y/n): y
Added.
** Press ENTER to return to the main menu.


Import işleminin ardından yapılması gereken son işlem ise değişikliklerin kaydedilmesi için ossec manager ve ossec agent tarafında ossec servislerinin yeniden başlatılması olacaktır.
# /var/ossec/bin/ossec-control restart


Bu şekilde tanımlama sonlanmış olacaktır. Şimdi Ossec Manager bu agent’i tanımlamak için kendisine ait key’i kullanacağı için agent IP’sine ihtiyaç duymaksızın monitoring işlemini yapabilecektir.

6 09 2014

İleri Seviye Ağ Güvenliği Eğitimi Lab. Kitabı [Yeni]

Bilgi Güvenliği AKADEMİSİ olarak verdiğimiz eğitimlerde uygulamaya özel önem veriyoruz. Güvenlik gibi karmaşık bir konu detaylı uygulamalar gerçekleştirmeden anlatıldığında konuya yabancı olan katılımcılar tarafından tam olarak anlaşılamamaktadır. Eğitim notlarına destek olmak amacıyla başlattığımız lab çalışmalarını içeren kitapçık çalışmalarını uzun süre önce başlatmıştık.

Bu konuda ilk kitap çalışmamız olan  Beyaz Şapkalı Hacker eğitimi Lab kitapçığını 2013 yılı başlarında öğrencilerimizin kullanımına sunmuştuk (Detaylarına http://blog.bga.com.tr/2013/01/beyaz-sapkal-hacker-egitimi-lab-kitapcg.html adresinden erişilebilir)

20 08 2014

IstSEC Bilgi Güvenliği Konferansı '14 Aktif Katılım Çağrısı

##İstSEC Bilgi Güvenliği Konferansı '14 ##
İstanbul, Türkiye
15 Ekim 2014


#İstSec  Hakkında

İstSec (İstanbul Bilgi Güvenliği Konferansı) bilgi/bilişim güvenliği alanında çalışan, bu alana merak duyan ve konusunun uzmanları arasında bilgi paylaşımı yayma amaçlı İstanbul’a özel bir etkinliktir.
İstSec, benzeri güvenlik etkinliklerinden farklı  olarak ürün/teknoloji bağımsız, pratiğe yönelik bir etkinlik olma amacı taşımaktadır.

Konferans, kayıt olan herkese açık ve ücretsizdir. http://istsec.eventbrite.com adresinden ön kayıt işlemleri başlamıştır.

16 08 2014

İskoçya'nın Glaskow şehrinde 8-11 Eylül tarihleri arasında gerçekleştirilecek olan 7. Uluslararası Bilgi ve Ağ Güvenliği Konferansına, Süleyman Demirel Üniversitesi Bilgisayar Mühendisliği Bölümü' nden Doç.Dr. Ecir Uğur Küçüksille ve Araştırma Görevlisi Mehmet Ali Yalçınkaya ve BGA'dan Ozan Uçar'ın birlikte gerçekleştirdiği "Physical Dangers In The Cyber Security and Precautions To Be Taken" isimli bildiri çalışması  kabul edilmiş ve çalışmalarının sunumlarını gerçekleştirmek üzere konferansa davet edilmişlerdir.

Konferans hakkında detaylı bilgi için http://www.sinconf.org/sin2014/index.php/registration

3 08 2014

Sızma testlerinde elde edilen parola özetlerinin tipinin belirlenmesinde kullanılacak olan HashTag.py aracı, farklı şifre hash değerlerini kendi türüne göre ayıran ve tanımlayan Python ile yazılmış bir araçtır. 250 ve üzeri hash değerini desteklemektedir. HashTag, hash değerlerini direk okumanın yanı sıra dosya üzerinden de hash değerlerini okuyabilmektedir.

Aracı kaynak kodlarını görüntülemek  için burayı ziyaret edebilirsiniz. Eğer aracı online olarak kullanmak isterseniz bu adresten ulaşabilirsiniz.


Kullanımı :
Kullanımı aşağıdaki gibidir.
usage: HashTag.py {-sh hash |-f file |-d directory} [-o output_filename] [-hc] [-n]


Programın kullanımını ve hangi parametleri aldığını detaylı olarak görmek için help menüsünden faydalanılabilir.
-h, --help
show this help message and exit
-sh SINGLEHASH, --singleHash SINGLEHASH
Identify a single hash
-f FILE, --file FILE
Parse a single file for hashes and identify them
-d DIRECTORY, --directory DIRECTORY
Parse, identify, and categorize hashes within a directory and all subdirectories
-o OUTPUT, --output OUTPUT
Filename to output full list of all identified hashes
--file default filename: HashTag/HashTag_Output_File.txt
--directory default filename: HashTag/HashTag_Hash_File.txt
-hc, --hashcatOutput
--file: Output a file per different hash type found, if corresponding hashcat mode exists
--directory: Appends hashcat mode to end of separate files
-n, --notFound
--file: Include unidentifiable hashes in the output file. Good for tool debugging (Is it Identifying properly?)


Single Hash (-sh) Değerinin Belirlenmesi:
Single Hash değerini belirlemek  için -sh parametresi kullanılacaktır.
Örnek 1 : HashTag.py -sh 7026360f1826f8bc
➜  Desktop  ./HashTag.py -sh 7026360f1826f8bc


Hash: 7026360f1826f8bc


[*] MySQL, MySQL323
[*] Oracle 7-10g, DES(Oracle) - Hashcat Mode 3100
[*] CRC-64
[*] SAPB
[*] substr(md5($pass),0,16)
[*] substr(md5($pass),16,16)
[*] substr(md5($pass),8,16)
Örnek 2 : HashTag.py -sh 3b1015ccf38fc2a32c18674c166fa447
➜  Desktop  ./HashTag.py -sh 3b1015ccf38fc2a32c18674c166fa447


Hash: 3b1015ccf38fc2a32c18674c166fa447


[*] MD5 - Hashcat Mode 0
[*] NTLM - Hashcat Mode 1000
[*] MD4 - Hashcat Mode 900
[*] LM - Hashcat Mode 3000
[*] RAdmin v2.x
[*] Haval-128
[*] MD2
[*] RipeMD-128
[*] Tiger-128
[*] Snefru-128
[*] MD5(HMAC)
[*] MD4(HMAC)
[*] Haval-128(HMAC)
[*] RipeMD-128(HMAC)
[*] Tiger-128(HMAC)
[*] Snefru-128(HMAC)
[*] MD2(HMAC)
[*] MD5(ZipMonster)
[*] MD5(HMAC(Wordpress))
[*] Skein-256(128)
[*] Skein-512(128)
[*] md5($pass.$salt) - Hashcat Mode 10
[*] md5($pass.$salt.$pass)
[*] md5($pass.md5($pass))
[*] md5($salt.$pass) - Hashcat Mode 20
[*] md5($salt.$pass.$salt) - Hashcat Mode 3810
[*] md5($salt.$pass.$username)
[*] md5($salt.'-'.md5($pass))
[*] md5($salt.md5($pass)) - Hashcat Mode 3710
[*] md5($salt.md5($pass).$salt)
[*] md5($salt.MD5($pass).$username)
[*] md5($salt.md5($pass.$salt)) - Hashcat Mode 4110
[*] md5($salt.md5($salt.$pass)) - Hashcat Mode 4010


Hash Değerinin Dosyadan Okunarak Belirlenmesi (-f):
Hash değerini dosyadan okumak ve parse etmek için -f parametresi kullanılacaktır.
➜  Desktop  ./HashTag.py -f hash.txt -hc


File Mimetype: text/plain
Hashes Found: 1
File successfully written: HashTag/HashTag_Output_File.txt


Burada dosyada yazılı olan hash değeri -f parametresi ile okutulmuştur. Daha sonra hash değerinin sonucu HashTag/HashTag_Output_File.txt dosyasına yazılmıştır. O dosyanın içeriği görüntülendiği zaman hash bilgisine ulaşılacaktır.
➜  Desktop  cat HashTag/HashTag_Output_File.txt
Hash: 7026360f1826f8bc
Char Length: 16
Hashcat Modes: ['3100']
Hash Types: ['MySQL, MySQL323', 'Oracle 7-10g, DES(Oracle)', 'CRC-64', 'SAPB', 'substr(md5($pass),0,16)', 'substr(md5($pass),16,16)', 'substr(md5($pass),8,16)']


Referans :
* http://www.smeegesec.com/2013/11/hashtag-password-hash-identification.html

Windows Vista ve üzeri bir işletim sistemini metasploit-psexec oturumu açılabilir hale getirmeye geçmeden önce UAC (User Account Control, Kullanıcı Hesabı Kontrolü) güvenlik modülünden biraz bahsetmek faydalı olacaktır.
Microsoft, Windows Vista ile birlikte uygulamaya koyduğu UAC (User Account Control, Kullanıcı Hesabı Kontrolü) güvenlik modülü sayesinde işletim sisteminde yerel ve uzak erişim kapsamında bazı değişikliklere gitmiştir. Yerel yönetici grubuna dahil olsa dahi yerelde yapılacak, yönetici hakları gerektiren işlemler için kullanıcıdan onay alınmaktadır (örneğin; bir program yüklenmek istendiğinde kullanıcıdan istenen onay). Sistemde gömülü olarak gelen yerel yönetici hesabı (Administrator) için bu kısıtlama söz konusu değildir. Yönetici grubuna dahil kullanıcılar için, uzaktan yapılan ve yönetici hakları gerektiren işlemler (program yükleme gibi) yapılamamaktadır (uzak masaüstü bağlantısı için bu kısıtlama söz konusu değildir).

Üzerinde UAC güvenlik modülünün aktif olduğu cihazlara sysinternal psexec oturumu açılabilmektedir (yerel kullanıcı hesap bilgileri ile).

Böyle bir sisteme Metasploit-meterpreter oturumu açabilmek için iki yol izlenebilir; UAC'ı devre dışı bırakmak (bu değişikliğin uygulanması için sistemin yeniden başlatılması gerekmektedir ki bu önerilmez) veya UAC modülünden kurtulmak için politika tanımlamak.
Not: Bu değişiklikleri uygulayabilmek için yerel yönetici grubuna dahil bir kulanıcının hesabı ile sysinternal-psexec oturumu açmak gereklidir.

 Politika tanımlayarak UAC'ı uzak işlemler için devre dışı bırakmak:
Komut satırından;
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

girilmesi yeterli olacaktır. Bu işlemden sonra Metasploit konsolundan exploit/windows/smb/psexec modülü aracılığı ile sistemde meterpreter oturumu açılabilecektir.
Not: Hedef sistemde meterpreter oturumunu engelleyecek başka sistemler bulunabilir (virüs programı, güvenlik duvarı, defender vs) bu sistemlerin ihtiyaç dahilinde kapatılması gerekebilir.
Hedef sistemde gerekli işlemler yapıldıktan sonra sistemin güvenlik mekanizmasını eski haline getirmek adına komut satırında,

reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy
 girilmesi yeterli olacaktır.

Referanslar:
http://support.microsoft.com/kb/951016/en-us

1 08 2014

VMware üzerine kurulan Linux işletim sistemlerine ayrılan harddisk alanı genişletmek, Windows işletim sistemleri kadar kolay değildir. Linux işletim sistemine ayrılan disk alanının komut satırından genişletilmesi mümkün olduğu gibi görsel olarak da genişletilebilmektedir.
Gerekli olan araçlar: gparted-live cd

İşletim sistemine ayrılan disk alanını genişletmek için atılması gereken adımlar aşağıdaki gibidir:
1. Sanal makine ayarları açılır.


2. Harddisk ayarlarından "Expand (genişlet)" seçeneği tıklanır.


3. İstenilen harddisk boyutu seçildikten sonra "Expand" butonu tıklanır. 



  • İşlem devam ederkenki ekran görüntüsü:


4. İndirilen G-Parted yazılımının CD halinin sisteme tanıtılması ve sistemin CD üzerinden başlatılması gereklidir. Kırmızı kutucuk içerisine alınmış ve numaralandırılmış alanların sırasıyla seçilmelidir.


5. Sistemin boot menüsüne ulaşabilmek için, sistem başlarken ESC tuşuna bir kez basılmalıdır.


6. G-Parted boot menüsünden "GParted Live (Defauly settings)" seçilir


7. Yapılandırma esnasında kullanmak üzere klavye seçimi yapılır.


8. Klavye düzeni ve kullanılacak dil tercih edildikten sonra, açılacak olan pencere.



Görüldüğü gibi linux sistemlerde harddisk düzeninin;
- bölümlerden
- bölümler arasında bulunan ayraç
- ve  bölümler tablosundan oluşmaktadır.
Harddisk alanının genişletilebilmesi için bölüm ayracın kopyalanarak bölümlerin sonuna yapıştırılması ve ana ayracın silinmesi, var olan bölümlendirme tablosunun silinerek yenisinin oluşması sağlanması ve bölümlerin birleştirilmesi gerekmektedir.

9. Bölüm ayracının kopyalanarak, bölümlerin sonuna yapıştırılması,



Ayracın ardındaki boş alanın "0" olarak ayarlanması gerekmektedir.


10. Önceden yapılandırılmış olan bölüm ayracı ve bölümlendirme tablosu silinmelidir.




Yapılan değişiklikler uygulanır (Bu işlem sonrası atılan adımların telafisi olmayacaktır).


11. Harddisk alanı seçilerek "Boyutlandır/taşı" butonuna tıklanır.



12. Son olarak değişiklikler uygulanır.



Harddisk alanının istenilen değerde olduğu görülmektedir.