GHOST – gethostbyname Vulnerability Detection Script

Uzun bir aradan sonra yeniden bir şeyler karalıyor olmak güzel, mutlu hissediyor insan kendini. Vakit nakittir diyerek uzatmadan konumuza girelim.

Bildiğiniz gibi Linux işletim sistemlerinde kullanılan glibc kütüphanesin deki gethostbyname() ve gethostbyname2() fonksiyonlarında buffer overflow zafiyeti tespit edildi, bu zafiyet istismar edilerek sistemlerde uzaktan komut çalıştırabilmek mümkün, bu zafiyet istismar edilmesi durumunda ilgili uygulamanın kullanıcısına ait yetkiler ile komut çalıştırabiliyor.

Bu zafiyeti test etmek için bash script ile yazılımış küçük bir script var, bunu sizinle paylaşmak istiyorum.

1-Aşağıdaki kodları “Ghost-test.sh” dosyasına yapıştırın ve aşağıdaki adımları izleyin.

2- Script kullanımı:

$ chmod +x GHOST-test.sh
$ ./GHOST-test.sh

Sisteminiz zafiyet içeriyor ise çıktı aşağıdaki gibi olacaktır,

This system is vulnerable to CVE-2015-0235 https://access.redhat.com/security/cve/CVE-2015-0235
Please refer to 'https://access.redhat.com/articles/1332213' for more information

 

Sisteminiz zafiyet içermiyorsa aşağıdaki gibi olacaktır,

Not vulnerable.

###########

#!/bin/bash
vercomp () {
if [[ $1 == $2 ]]
then
return 0
fi
local IFS=.
local i ver1=($1) ver2=($2)
# fill empty fields in ver1 with zeros
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
do
ver1[i]=0
done
for ((i=0; i<${#ver1[@]}; i++))
do
if [[ -z ${ver2[i]} ]]
then
# fill empty fields in ver2 with zeros
ver2[i]=0
fi
if ((10#${ver1[i]} > 10#${ver2[i]}))
then
return 1
fi
if ((10#${ver1[i]} < 10#${ver2[i]}))
then
return 2
fi
done
return 0
}

glibc_vulnerable_version=2.17
glibc_vulnerable_revision=54
glibc_vulnerable_version2=2.5
glibc_vulnerable_revision2=122
glibc_vulnerable_version3=2.12
glibc_vulnerable_revision3=148
echo “Vulnerable glibc version <=” $glibc_vulnerable_version”-“$glibc_vulnerable_revision
echo “Vulnerable glibc version <=” $glibc_vulnerable_version2″-“$glibc_vulnerable_revision2
echo “Vulnerable glibc version <=” $glibc_vulnerable_version3″-1.”$glibc_vulnerable_revision3

glibc_version=$(rpm -q glibc | awk -F”[-.]” ‘{print $2″.”$3}’ | sort -u)
if [[ $glibc_version == $glibc_vulnerable_version3 ]]
then
glibc_revision=$(rpm -q glibc | awk -F”[-.]” ‘{print $5}’ | sort -u)
else
glibc_revision=$(rpm -q glibc | awk -F”[-.]” ‘{print $4}’ | sort -u)
fi
echo “Detected glibc version” $glibc_version” revision “$glibc_revision

vulnerable_text=$”This system is vulnerable to CVE-2015-0235. <https://access.redhat.com/security/cve/CVE-2015-0235>
Please refer to <https://access.redhat.com/articles/1332213> for remediation steps”

if [[ $glibc_version == $glibc_vulnerable_version ]]
then
vercomp $glibc_vulnerable_revision $glibc_revision
elif [[ $glibc_version == $glibc_vulnerable_version2 ]]
then
vercomp $glibc_vulnerable_revision2 $glibc_revision
elif [[ $glibc_version == $glibc_vulnerable_version3 ]]
then
vercomp $glibc_vulnerable_revision3 $glibc_revision
else
vercomp $glibc_vulnerable_version $glibc_version
fi

case $? in
0) echo “$vulnerable_text”;;
1) echo “$vulnerable_text”;;
2) echo “Not Vulnerable.”;;
esac

 

###########

Share Button

TSE Beyaz Şapkalı Hacker Eğitim İçeriği

Uzun bir aradan sonra yeniden blog yazmak oldukça iyi geliyor, malum sene sonu projeler v.s. derken blog yazmaya baya bir ara vermiştim.

Bugünkü konumuz TSE beyaz şapkalı hacker yetiştirmesi ve beyaz şapkalı hacker eğitimi içeriği.

TSE beyaz şapkalı hacker eğitimine talep kısa bir süre içerisinde artacak çünkü TİB deki USOM (Ulusal Siber Olaylara Müdahele) ekibinin hazırlamış olduğu SOME (Siber Olaylara Müdahele Ekibi) kurulum rehberinde sızma testlerinin TSE den onaylı şirketlere yaptırılması zorunlu hale geliyor.

Kısca şirketler TSE onaylı sızma testi yapabilir belgesi almak isteyecekler, bunun için de TSE den sızma testi uzmanı sertifikasını almış kişiler ile çalışmak zorundalar.

Peki TSE Sızma testi uzmanlığı için eğitim içeriği nasıl diye merak edenler için içerik aşağıdaki gibidir.

ANA EĞİTİM KONULARI

1) Giriş

2) Dış Ağ – Aktif Pasif Bilgi Toplama

3) Keşif ve Açıklık Tarama

4) Exploitation (İstismar)

5) Etki Alanı ve Son Kullanıcı Bilgisayarları

6) Post Exploit 7) Veritabanı

8) Network ve 2. katman saldırıları

9) Güvenlik mekanizmaları ve atlatma

10) Sosyal Mühendislik

11) Web

12) Endüstriyel Kontrol Sistemleri

13) Fiziksel Sızma Testi

 

EĞİTİM KONULARININ DETAYLARI

1 Giriş

 Sızma Testi (Pentest) nedir?

 Pentestin amacı

 Pentestde dikkat edilmesi gereken hususlar

 Kapsam (Scope) belirlenmesi

 Pentest öncesi çalışmalar

 Pentest standartları (organizasyonlar ve siteler)

 TSE Beyaz Şapkalı Hacker Programı Sızma Testi Kriter Dokümanı

 Raporlama

 

2 Dış Ağ – Aktif Pasif Bilgi Toplama

 Pasif Bilgi Toplama

 Exif Bilgisi

 Metadata Üzerinden Bilgi Toplama

 Yeni Nesil Bilgi Toplama Araçları

 

3 Keşif ve Açıklık Tarama

 Amaç

 Keşif Türleri

 Nmap

 Açıklık Tarama – Nessus

 

4 Exploitation (İstismar)

 Exploit (İstismar) Nedir?

 Exploit Türleri

 Exploit Veritabanları

 Exploit Araçları

 Metasploit Framework

 

5 Etki Alanı ve Son Kullanıcı Bilgisayarları

 Windows Komut Satırı

 Sistemi Farklı İşletim Sistemi Üzerinden Boot Etme (Windows Kurtarma, Linux)

 smb_login

 smb_enumshares

 Psexec

 Cracking

 WinRM

 Remote Registry

 AD Explorer İle Yetkili Kullanıcıların Bulunması

 Enum_domainusers

 Domain Admins Grubuna Kullanıcı Ekleme

 Bellekten Parola Alma

 Dosya Paylaşımları Ve Son Kullanıcı Bilgisayarları

6 Post-Exploit

 Meterpreter Oturum Açma

 Windows Expert Tool

 SYSTEM ve SAM Dosyaları Üzerinden Parola Özetinin Çekilmesi

 

 

7 Veritabanı

 Keşif

o Nessus

o Nmap

o Metasploit Modülleri

o İç Ağ Testlerinde Elde Edilen Tnsnames.Ora Dosyası

 Exploitation

o Metasploit (Nessus)

o Xp_cmdshell

o Bruteforce (Kaba kuvvet saldırısı)

o Veritabanı Bağlantı Bilgilerinin Edinilmesi

o Yönetici İş İstasyonları Üzerinden Üzerinden Veritabanlarına Erişim

o Veritabanı İşletim Sistemi Seviyesi Kullanıcı Hesapları Ve Grupları İle Veritabanına Erişim

 Post-Exploitation

o Oracle

o MsSql

 

8 Network Ve 2. Katman Saldırıları

 Sniffing

 ARP Spoof

 SSLStrip .

 DHCP Starvation Attack

 VLAN Hopping

 ANAHTAR Sızma Testi

 Aktif Cihaz Yapılandırma Zafiyetleri

 

9 Güvenlik Mekanizmaları ve Atlatma

 Pivoting Tanımı ve Kullanım Amacı

 SSH Tünelleme

 Ters SSH Tünelleme ile Kurum İçerisine Girme

 DNS Tünelleme

 Meterpreter Route

 Proxy Chain

 Metasploit Pro ile Pivoting

 Sanallaştırma Sistemleri ile Pivoting

 

10 Sosyal Mühendislik

 Sosyal Mühendislik Hakkında Bilgilendirme

 Fiziksel Sosyal Mühendislik

 Telefonla Sosyal Mühendislik

 Mail ile Sosyal Mühendislik

 E-Posta Sistemlerinin Zafiyetlerinin Kullanılması

 Post-Exploitation

 

11 Web

 Web Penteste Giriş

 Girdi – Çıktı Alanları Tespiti

 SOP ve XSS

 SQL-İ

 Kimlik Doğrulama

 Yetkilendirme

 Oturum Yönetimi

Share Button

Netwrix ile File Server Audit

Birçok arkadaşımın file server audit ile ilgili sorularına yanıt vermiş olmak adına bu içeriği hazırlıyorum.

Bu içerik de netwrix ürünü ile file server audit işleminin nasıl yapılacağı ile ilgili bilgiler vereceğim.

Netwrix ile file server audit işlemini iki aşamalı olarak değerlendirebiliriz,

1- Netwrix tarafındaki tapılandırma,

2- File server tarafındaki yapılandırma

 

1- Netwrix tarafındaki yapılandırma:

Netwrix uygulamasının kurulum adımlarını yazmak yerine resimli olarak hızlı bir şekilde özetlemek istiyorum.

 

 

Yukardaki resimler sırası ile kurulum adımından almış olduğum içerikler.

 

2- File server tarafındaki yapılandırma

File server tarafında policy ve dosya audit yetkilerin de değişiklik yaparak netwrix uygulamasının çalışmasını sağlayabilirsiniz, işlem adımları aşağıdaki gibidir.
A- Paylaşılan dosya özelliklerinin düzenlenmesi
Paylaşıla dosyaya sag click, özellikler tıklayın
Security tab > Advanced butonuna tıklayın > Audit tab > click add
Principal: “Everyone” > Type: “All” > Applies to: “This folder, subfolders and files”
“Advanced Permissions” aşağıdakileri seçin:
List folder / read data;
Create files / write data;
Create folders / append data;
Write attributes;
Write extended attributes;
Delete subfolders and files;
Delete; Change permissions;
Take ownership

OK tıkayın.

 

B- Audit Object Access yetkisinin düzenlenmesi
gpedit.msc > Local Computer Policy > Computer Configuration > Windows Settings > Security Settings > Local Policies > Audit Policy > Audit object access
Success ve Failures seçeneklerini işaretleyin.

C- File system audit 
gpedit.msc > Local Computer Policy > Computer Configuration > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies > Object Access:
Audit File System : Success ve Failures seçeneklerini işaretleyin
Audit Handle Manipulation : Success ve Failures seçeneklerini işaretleyin

D- Event Viewer
eventvwr.msc > Windows Logs > Right-click “Security” log > Properties:
Set retention method : Archive the log when full

 

Bu işlemlerin tamamlanması durumunda Netwrix uygulaması ile File Server Audit  işlemini gerçekleştirebilirsiniz.

Netwrix uygulaması, tarih, saat, kullanıcı ve dosya bazlı arama yapma ve raporlama özelliklerine sahiptir.

Kaynak :  Netwrix File Server Auditing Quick Reference Guide

Share Button

Ubuntu reboot sonrası DNS problemi

Bu konuda sürekli soru geldiği ve artık bunun tek bir link vererek çözülebilecek sorun olduğunu düşündüğüm için bu yazıyı yazıyorum.

Bildiğiniz gibi linux kullanıcıları /etc/resolve.conf dosyasını kullanarak dns sunucularını eklerler ancak ubuntu işletim sistemi için bu durum biraz farklı ve ubuntu bu konuda bizi uyarıyor zaten.

Ubuntu da /etc/resolve.conf içerisine bakarsanız şunu görürsünüz,

# DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN

Kısaca ubuntu derki bas geri kardeş buraya dns falan ekleme, peki ne yapacağız dns olmadan interneti düşünebilmek mümkün değil.

Ubuntu işletim sistemi için dns sunucuyu /etc/network/interfaces içerisine aşağıdaki gibi ekleyebilirsiniz.

iface eth0 inet static
    address 192.168.0.111
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-nameservers 8.8.8.8

 

Bu şekilde dns IP adresini ekleyerek kalıcı olarak belirtilen dns sunucuyu kullanabilirsiniz.

 

Share Button

BTRFS Dosya Sistemi Hakkında

Nedir bu BTRFS?

Türkiye de çok yaygın olarak kullanılmasa da gelecekte çok fazla tercih edileceğini düşündüğüm bir dosya yapısından, BTRFS den bahsetmek istiyorum sizlere.

BTFRS dosya sistemi ext2,3,4 gibi Linux sistemler de yaygın olarak kullanılan sistemlere oranla çok daha güçlü özelliklere sahip, kısaca bu özellikler göz atalım,

– Checksum fonksiyonu ile data bütünlüğü sağlar,

– Ext2,3,4 dosya sistemlerine göre daha performanslı,

– Entegre logical volume managment yapısı ile RAID 0, 1, 10 kullanma imkânı sağlar,

– Mantıksal sıkıştırma ile daha az fiziksel disk boyutu ile daha yüksek boyutlu dataları saklayabilme imkanı sunar,

– Diskin snapshout’unu alma imkânı sunar,

– İki farklı subvolume arasındaki farklılıkları kaydetmenizi sağlar,

gibi gelişmiş özelliklere sahip.

 

BTRFS Dosya yapısı nasıl oluşturulur?

BTRFS dosya yapısına sahip bir alan oluşturabilmek için btrfs-progs paketinin kurulu olması gerekir, kurulu değil ise aşağıdaki kmout ile kurulumu gerçekleştirebilirsiniz.

 

# yum install btrfs-progs

 

Aşağıdaki komut ile btrfs yapısında bir mantıksal birim oluşturabilirsiniz,

# mkfs.btrfs /dev/sdb1

 

Aşağıdaki komut ile diskin dosya yapısı btrfs olur,

# mkfs.btrfs -m single /dev/sdc

 

Aşağıdaki komut ile bir diske yazılan datanın aynısını diğerine yazar,

# mkfs.btrfs /dev/sdd /dev/sde

 

Btrfs için diğer farklı kullanımlar şu şekilde,

# mkfs.btrfs -m raid0 /dev/sdd /dev/sde

# mkfs.btrfs -d raid1 /dev/sdd /dev/sde

# mkfs.btrfs -d raid10 -m raid10 /dev/sdf \ /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk

 

 

Daha fazla detay için ziyaret edin: https://docs.oracle.com/cd/E37670_01/E37355/html/ol_create_btrfs.html

 

BTRFS dosya yapısına geçiş işlemi nasıl yapılır?

Bu işlem ile mevcut kullanmakta olduğumuz ext2,3,4 dosya yapısını BTRFS dosya yapısına geçireceğiz, geçiş işleminde önce yedek almanız önerilir.

 

/myfiles adında sdb diskimin olduğunu düşünerek işlemlere başlıyorum,

 

  • Kullanmakta olduğum diski unmount ediyorum.

# unmount /myfiles

  • FSCK check ile diskimin mevcut dosya yapısının bütünlüğünden emin oluyorum

# fsck.ext3 –f /dev/sdb (NOT: dosya yapısı ext4 ise fsck.ext4 kullanılır.)

 

  • Convert işlemin başlatalım,

# btrfs-convert /dev/sdb

 

  • Convert işleminden sonra yeniden /myfiles olarak mount ediyorum,

# vi /etc/fstab

 

Fstab içerisine aşağıdaki satırları ekliyorum,

/dev/sdb    /myfs    btrfs      defaults              0             0

 

 

Kısaca btrfs dosya sisteminden ve bu dosya sistemi ile yapılabilecek temel işlemlerden bahsettim, tabi ki btrfs ile yapılabilecekler bununla sınırlı değil, örneğin işletim sisteminizi rescue modda açarak root partitionu btrfs e geçirebilirsiniz, her hangi bir partitionun snapshot alıp, farklı bir partitionda recovery edebilirsiniz. Bu ve buna benzer birçok örneğe aşağıdaki linkten erişebilirsiniz.

https://docs.oracle.com/cd/E37670_01/E37355/html/ol_btrfs.html

 

Share Button