31 Mayıs 2024

DNS Sinkhole ile Zararlı Yazılım Engelleme

Posted by: onuralanbel 31 Mayıs 2024
Zararlı yazılımların komuta merkezi ile haberleşmesini engellemek veya zararlı bulaşmış sistemleri tespit etmek amacıla DNS sinkhole yöntemi kullanılabilmektedir. Sinkhole yöntemi ayrıca botnet’lerin etkisinin tespiti veya etkisizleştirilmesi amacıyla da kullanılabilmektedir. Yazıda DNS sinkhole yönteminin kurumsal ağlarda zararlı yazılımları engelleme amaçlı kullanımı ele alınmıştır.

Yöntemin mantığı, DNS isteklerine sahte cevaplar vererek zararlının erişmek istediği alanadının gerçek IP adresini çözmesini engellemektir. Bunun için örnek bir yapılandırma aşağıdaki adımlar takip edilerek elde edilebilir.

Linux kurulu bir sisteme (örnekte Ubuntu)
“apt-get install bind9”        komutu ile Bind DNS sunucusu kurulur. Sonra sırasıyla
“mkdir /etc/bind/zones”
“nano /etc/bind/zones/malware.db”    komutları çalıştırılıp blacklist.host dosyasının içeriğine aşağıdaki gibi bir kayıt girilir.

$TTL    3600
@            IN      SOA     ns1.malware.com. root.malware.com. (2012041615 10800 3600 604800 86400)
           IN      NS      ns1.malware.com.
           IN      NS      ns2.malware.com.
           IN      A       192.168.41.1
*         IN         A       192.168.41.1
Yapılandırılmaya bağlı olarak son iki satırdaki 192.168.41.1 yerine zararlıların yönlendirileceği adres girilir. Ayrıca yeni oluşturulan zones dizinin bind kullanıcısı için erişim haklarının “rwx” şeklinde olması gerekmektedir. Bu işlem için
“chown bind /etc/bind/zones”       
“chmod u+rwx /etc/bind/zones”        komutları kullanılabilir.
Ayrıca
“named-checkzone malware.com /etc/bind/zones/malware.db”    komutu ile oluşturulan kaydın doğruluğu kontrol edilebilir.

Daha sonra
“/etc/bind/named.conf.local”    dosyasına sinkhole uygulanmak istenilen alanadları aşağıdaki formatta eklenir.

zone "malware.com" {
      type master;
      file "/etc/bind/zones/malware.db";
      };

zone "malicious.com" {
  type master;
  file "/etc/bind/zones/malware.db";
  };


Son olarak
“service bind9 restart”        komutu ile bind9 servisi yeniden başlatılarak kullanıma hazır hale getirilir. Bu bölümde Bind DNS sunucusunun sadece sinkhole olarak yapılandırılması anlatılmış olup, sıradan DNS isteklerine geçerli cevaplar verebilmesi için gerekli ayarların bulunduğu ağ yapılandırmasına göre ayrıca yapılması gerekmektedir.

DNS sunucusunun düzgün çalışıp çalışmadığı dnsutils paketi kurulu bir Linux sistemden
“dig malware.com @192.168.41.142”    komutu ile kontrol edilebilir. Buradaki malware.com’un karalistedeki bir adres, 192.168.41.142’nin ise DNS sunucusunun adresi olması gerekmektedir. Örnekteki yapılandırma ile bu komutun çıktısı şu şekildedir.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> malware.com @192.168.41.142
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50892
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;malware.com.            IN    A

;; ANSWER SECTION:
malware.com.        3600    IN    A    192.168.41.1

;; AUTHORITY SECTION:
malware.com.        3600    IN    NS    ns2.malware.com.
malware.com.        3600    IN    NS    ns1.malware.com.

;; ADDITIONAL SECTION:
ns1.malware.com.    3600    IN    A    192.168.41.1
ns2.malware.com.    3600    IN    A    192.168.41.1

;; Query time: 2 msec
;; SERVER: 192.168.41.142#53(192.168.41.142)
;; WHEN: Wed Apr 23 13:23:45 2014
;; MSG SIZE  rcvd: 113

Cevapta görüldüğü üzere DNS isteği yapıldığında adres 192.168.41.1 olarak çözülmüştür.

Windows makinenin ağ ayarlarından DNS sunucusu 192.168.41.142 olacak şekilde değişiklik yapılıp karalistedeki bir adrese erişilmeye çalışılarak da doğrulama yapılabilir.

Capture.PNG


Karalisteye alınması gereken alanadlarına “http://www.malwaredomains.com/?page_id=66” adresinden erişilebilir. Karalistedeki alanadları “0.0.0.0” gibi erişilemez IP adresleri ile eşleştirilerek erişim engellenebilir veya örnekte olduğu gibi yerelde bir makineye yönlendirilip bu makinenin trafiği incelenerek zararlı bulaşan sistemler tespit edilebilir. Zararlı trafiğinin detaylı incelenmesi aşamasında “Zararlı Trafiğinin Sahte Servislerle Yönetimi” ve “SSL Kullanan Zararlı Yazılım Trafiğini Yönlendirme ve İnceleme” yazılarından faydalanılabilir.


Onur Alanbel

Kaynaklar:
https://www.sans.org/reading-room/whitepapers/dns/dns-sinkhole-33523

24 Haziran 2016

Rootkit Geliştirmenin Temelleri-II

Posted by: onuralanbel 24 Haziran 2016
Windows işletim sisteminde hem kullanıcı seviyesinde(user level) hem de çekirdek
seviyesinde(kernel level) hook işlemi yapılabilir. Hook işlemi sistemin veya diğer uygulamaların kullandığı belli fonksiyonların işlevini değiştirmek veya incelemek amacıyla yapılır. İşleyişi değiştirmek için fonksiyonu çalışma anında yamamak veya ürettiği sonucu isteği yapan uygulamaya göndermeden önce modifiye etmek gibi seçenekler uygulanabilir. 

Bu yazıda SSDT (system service dispatch table) kullanarak çekirdek seviyesinde hook işlemi ile dosya ve süreçlerin gizlenmesi ele alınmıştır. Bahsedilen uygulamaların kaynak kodlarının tam halini şu adresten indirebilirsiniz.

SSL Servisine Yönelik DOS Saldırıları

Posted by: Adsız 24 Haziran 2016
Önemli bilgiler (örneğin e-posta adresi, kredi kartı bilgileri, TCKN, kullanıcı adı şifre gibi) iletim esnasında kriptolu olarak iletilmelidir. HTTP clear-text protokoldür ve SSL/TLS ile korunarak HTTPS olarak yapılandırılabilir. Kriptografi algoritmaları algoritmanın gücüne göre belirli seviyede koruma sağlayabilir.
Secure Sockets Layer(SSL) protokolü, internet üzerinden güvenli veri iletişimi sağlayan bir protokoldür. Günümüzde en çok online bankacılık işlemlerinde, sosyal ağlarda, mail sunucularında tercih edilmektedir.

28 Mayıs 2016

Rootkit Geliştirmenin Temelleri-I

Posted by: onuralanbel 28 Mayıs 2016
Rootkitler, bir sistem üzerinde sistem yöneticisinine fark ettirmeden kalıcı kontrol sağlayabilen yazılımlar olarak tanımlanabilir. Bir yandan işletim sisteminin bir parçası gibi davranıp(ya da gerçekten olmayı başarıp) gizli kalmaya çalışırken, diğer yandan dışarı bilgi aktarmak veya uzaktan kontrol için arkakapı oluşturmak gibi amaçlara hizmet ederler. 

Bu yazıda, Windows işletim sisteminde, rootkitlerin olmazsa olmazı dosya veya dizinleri gizlemek ve processleri görünmez kılmak için kullanılabilecek bazı yöntemler ele alınmıştır.
İnternet teknolojisinin yaygınlaşmasının sonucunda teknoloji sürekli kendini yenilemekte ve yeni sistemler ortaya çıkmaktadır. Bu teknolojilerden en sık karşılaşılanları kuşkusuz web sunucular,güvenlik duvarları, web uygulama güvenlik duvarları, IPS cihazları ve Load balancer(yük dengelyici) gibi cihazlardır. Birçok kurumda uygulama sunucularına direk erişim olmaz ve arada sizi başka bir cihaz karşılar. Sızma testlerinde bilgi toplama aşamasında veya  ele geçirilmiş bir linux ya da windows sistemin adli bilişim çalışmalarında bağlantı esnasındaki aktörlerin kimler olduğu önemlidir. 

PCI/DSS Log Gereksinimleri

Posted by: Fırat Celal Erdik 28 Mayıs 2016
PCI/DSS (Payment Control Indistrues/ Data Security Standart); Kartlı ödeme sistemlerinde veri güvenliğini sağlamak amacıyla uluslararası kabul görmüş ödeme markaları olan American Express, Discover Financial Services, JCB International, MasterCard Worldwide ve Visa Inc. International kurumlarınca oluşturulmuş PCI Komitesi tarafından geliştirilmiştir. PCI DSS, kartlı ödeme sistemlerinde yer alan kurum ve kuruluşlarda bilgi güvenliğini sağlamak için bilgi sistemlerinde bilgi iletimini, bilgi işleyişini ve bilgi depolamayı esas alan çeşitli kontrolden oluşmaktadır. Bu kontrollerden bir kısmı log analizi ve yönetimini işaret etmektedir.

PCI/DSS standardı nihayi olarak aşağıdaki başlıkları amaçlamaktadır;
- Genel olarak kart sahibinin verisinin korunması amaçlanmaktadır, bu sebeple öncelikle güvenli bir network kurulması talep edilir.
- Kurulan network içerisinde var olan sistemlerin(Firewall,IPS,WAF v.b) vendor tarafından kurulan default ayarları ve kullanıcı hesapları ile kullanılmamasını ister.
- Store edilen müşteri datasının şifreli tutularak korunması ve şifreli olarak diğer sistemlere iletilmesini talep eder. 
- Kurulan güvenli yapının devamlılığının(antivirüs kullanımı, gerekli update’ler v.s) sağlanması istenir 
- Güvenli altyapıyı sürekli iyileştirme, geliştirme ve devamlılığının sağlanması beklenmektedir.
- Müşteri verisine erişimin kısıtlanması ve müşteri verisine erişimlerin takibinin yapılabilmesini ister.
- Tüm Network kaynaklarına(router,switch,fw,ips,ids vs.) ve müşteri verisine erişimleri sürekli takip edebilme ve monitör edebilmeyi talep eder. (Bu aşama loglamayı işaret ediyor, özetle tüm scope ait detaylandırılmış loglar alınmalı, loglar en az 1 yıl tutulmalı, loglar korunmalı(file integrity,loga erişeni de logla) ve günlük olarak otomatize bir araç ile review edebilme).
- Güvenlik sistemlerini ve süreçleri sürekli test ettir.

PCI/DSS Loglama konusundaki gereksinimleri:

- PCI/DSS kapsamına giren tüm sistemlerin tespit önceliklidir. PCI/DSS denetimi kapsamında olan tüm scop’daki sistemlere ait olabildiğince detaylı log(çok açık değil,olabildiğince fazla alınması iyi olur) alınması istenmekte.
- Tüm bu scope'daki sistemlerden alınacak logları merkezi bir storage’de(SIEM ürünü) topla.
- Toplanan logların değiştirilmelere ve yetkisiz erişimlere karşı korunması. Dolayısı ile logları güvenli bir sistemde loglandıktan sonra bu loglara erişimleri ve yapılacak değişimleri loglamak gerekir.
- Toplanan logları günlük review edebilecek bir yapının kurulması
- PCI/DSS 1 yıllık log tutmayı zorunlu kılmakta ve son 3 aylık loglara kolaylıkla erişilebilir olmasını istemekte

Nelerin loglanacağı biraz az tanımlanmış bir konu fakat aşağıdakilerin loglanması önerilmektedir;
- Kimlik doğrulamalardan başarılı ve başarısız durumların loglanması
- Kart bilgilerine yapılan erişimler
- Denetim kılavuzlarında yapılan erişimlerin ve işlemlerin detayları
- Oturum bilgilerine ilişkin detaylar
 - Tanımlama ve kimlik doğrulama mekanizmalarının kullanımı ve değişiklikleri
- Audit logları
- AV logları
- Ziyaretçilerin oluşturdukları loglar(ziyaretçi adı,firma adı,fiziksel erişim yetkilendirmeleri)
- Önemli sistemler üzerindeki zaman ayarlarında yapılan değişiklikler
- Kurum içerisinde kullanılan teknolojilere yönelik (kablosuz, DNS, posta) loglar
- Güvenlik işlevlerini gerçekleştiren tüm sunucular ve sistem bileşenlerindeki (güvenlik duvarları, saldırı tespit etme sistemleri/saldırı önleme sistemleri [IDS/IPS] vb.) işlemler ,
- Ağ kaynaklarına ve kart sahibi verilerine kesintisiz bir temelde fiziksel tüm erişimler/aktiviteler
- Takılan medialara(usb,cd vs.) ait loglar
- Uygulamalardaki veri erişimlerine ait tüm audit logları alınması faydalı olacaktır. Web için bu standart httpd loglarıdır.
- System bileşenlerine yetkili/yetkisiz tüm erişimleri,uygulama kurma,kaldırma,kullanıcı aktivitelerini vs. logla. Bu sebeple her kullanıcı eyleminin logları bir kullanıcı adı ile ilişkilenedirilmeli


Alınan logun yapısına ait detay;
- Zaman damgası mutlaka olmalı
- Hassas korunan veriler veya kullanıcı adı/parola,card bilgisi vs. olmamalı.

Çok detaylı bir şekilde aşağıdaki PDF’de ilgili verilen maddelerde loglamayı işaret eden özellikle 10.X ‘li maddeler gözden geçirilebilir.

3 Mart 2015

MITMf, ağ içerisinde Ortadaki Adam Saldırıları gerçekleştirmek için açık kaynak kodlu geliştirilen ve eklenti desteği olan bir çatıdır. Python dili ile geliştirilen çatının önemli iki özelliği bulunmaktadır. 
Bunlar ihtiyaç durumda kendi eklentilerinizi yazabilme imkânınızın olması ve var olan eklentilerinin saldırlar için yeterli ve güçlü olmasıdır. Aşağıda framework ile beraber gelen eklentiler ve açıklamaları listelenmiştir.

13 Şubat 2015

Determine Critical Data In Network Sharing - DepDep

Posted by: Gökhan ALKAN 13 Şubat 2015
Depdep is a merciless sentinel which will seek sensitive files containing critical info leaking through your network. Basically, it is a fast and practical sensitive data search tool maintaining personal & commercial data privacy for companies and institutions. It can very well be used by auditors making sure that their network doesn't leak any unauthorized non-compliant data through windows & unix/linux shares.

24 Ocak 2015

Sızma testlerinde elde edilen parola özetlerinin tipinin belirlenmesinde kullanılacak olan HashTag.py aracı, farklı şifre hash değerlerini kendi türüne göre ayıran ve tanımlayan Python ile yazılmış bir araçtır. 250 ve üzeri hash değerini desteklemektedir. HashTag, hash değerlerini direk okumanın yanı sıra dosya üzerinden de hash değerlerini okuyabilmektedir.
Aracı kaynak kodlarını görüntülemek  için burayı ziyaret edebilirsiniz. Eğer aracı online olarak kullanmak isterseniz bu adresten ulaşabilirsiniz.

31 Aralık 2014

Tek port Üzerinden Multi Servis Kullanımı

Posted by: Adsız 31 Aralık 2014
Elinizde kullanılabilir tek bir ip adresi var ve bu ip adresi üzerinde aynı portu kullanan birden fazla uygulama kullanmak istiyorsanız tek portta protokol başlık bilgisine göre paketleri ayırtedebilen bir yazılım kullanmak sorunu çözecektir. SSHL bu amaçla geliştirilmiş bir yazılımdır.  SSHL belittiğiniz bir portu dinler  ve bu porta gelen bağlantı isteklerini inceleyerek isteğin hangi protokole ait olduğunu tespit ettikten sonra bağlantıyı ilgili servise yönlendirme işlemini gerçekleştirir.

21 Aralık 2014

Ağ trafiği analizi, zararlı yazılım analizinin önemli bir bölümüdür. Günümüz zararlılarının komuta merkeziyle şifreli iletişim kurma eğilimi düşünüldüğünde bu trafiği şifresiz olarak elde edebilmenin gerekliliği de anlaşılmaktadır. Yazıda SSL kullanan bir zararlının trafiğinin nasıl analiz edilebileceği komuta merkeziyle HTTPS kullanarak iletişim kuran zararlı örneği üzerinden anlatılmıştır.

Kullanılan Araçlar:
  1. Burp Suite
  2. iptables
  3. Wireshark
  4. msfpayload

12 Aralık 2014

TLS’in heartbeat eklentisindeki bir programlama hatasından kaynaklanan sorun sayesinde internete açık zafiyet içeren OpenSSL sürümünü kullanan herhangi bir sistemin belleğindeki bilgiler 64 kbyte’lık bölümler halinde alınabilmektedir. Açık, internet üzerinden herhangi yetki gerektirmeksizin tcp 443. porttan kurulan bağlantılar üzerinden(başka portlarda çalışan TLS destekli protokollerde dahil) şifrelemede kullanılan private key’lerin, kullanıcı adı ve şifrelerin, cookie’lerin ve benzer her türlü hassas verinin alınabilmesine olanak sağlamaktadır. 

20 Kasım 2014

CGI(Common Gateway Interface) web sayfaları ve web uygulamalarına dinamik içerik üretmek için kullanılan standart bir yöntemdir. Bu yöntem sistem üzerinde bash komutlarının çalıştırılabilmesine de olanak sağlamaktadır. Bash kabuğu üzerinde farkedilen bir güvenlik açığı sayesinde ise bu avantajlı durum bir anda atak vektörü haline gelmiştir.


Bu blog yazsısında, hedef sistem üzerinde /cgi-bin/ klasörü altında bulunan dosyalar üzerinden bu açıklığın nasıl istismar edilebileceği uygulamalı olarak anlatılacaktır. Yapılan uygulamalar http://vulnhub.com/entry/pentester-lab-cve-2014-6271-shellshock,104/ adresinde bulunan bu zafiyete özel olarak hazırlanmış dağıtım üzerinden gerçekleştirilecektir.

26 Ekim 2014

Medusa ile kaba kuvvet saldırıları

Posted by: Fırat Celal Erdik 26 Ekim 2014
Sızma testlerinde sürekli ihtiyaç duyulan kaba kuvvet saldırıları için kullanılacak bir çok araç (medusa,hydra,bruter,metasploit aux modüleri vs.)mevcuttur. Biz bu yazıda medusa kullanımına ve farklı servisler üzerinden istenilen kullanıcı hesaplarının nasıl deneyebileceğimizi göstereceğiz.

Örnek olarak, dosyadan istenilen kullanıcı adlarını ve parolalarını okuyup HTTP servisi (TCP/80) üzerinde bruteforce yapıp(kullanıcı adını boş ve kullanıcı adını parola olarak da deneyip(-e ns)) başarılı bulgularını sonuc.txt dosyasına yazan ve bunu eşzamanlı 10 istek(-t 10) göndererek yapan medusa komutu:

27 Ağustos 2014

Kablosuz ağlar, yaygın kullanım alanları ve genelde çok güvenli olmayan yapıları nedeniyle saldırganların hedefi olmaktadır. Bu saldırılar hedef ağın kaynaklarını kullanmak veya zararlı  aktiviteler için hedef şaşırtmak amaçlarıyla yapılabileceği gibi ağdaki servis ya da kullanıcılara yönelik saldırıların da ilk adımını oluşturabilirler. 

Bu yazının amacı kablosuz ağ kullanıcılarına yönelik ya da kullanıcılar üzerinden gerçekleştirilecek saldırı yöntemlerini incelemektir.

Makalelerin kötüye kullanım kullanıcının sorumluluğundadır. | networkpentest.net. Blogger tarafından desteklenmektedir.