20 12 2014

BGA Bank Yönetim Paneli Dizin İfşası

Tablo 1. Yönetim Paneli URL
URL
http://isube.bgabank.com/administrator.aspx

Zafiyet her zaman kodlar üzerinde olmayabilir. Bazen basit bir parola veya giriş formunun brute-force’a açık olması hedef sistemde hak yükseltmek için kullanılabilir. Bunun için öncelikle admin giriş sayfasının tespit edilmesi gerekir. Keşif aracı olarak wfuzz kullanılmıştır. Ancak bazı öntanımlı admin panel dizinleri manuel olarak da denenebilir.

19 12 2014

BGA Bank Arama Kutusu Reflected XSS Zafiyeti ve İstismarı

Tablo 1. Arama sayfası Reflected XSS zafiyet bilgileri
URL
http://isube.bgabank.com/?sayfa=arama.php&s1=bgabank&s2=
HTTP Talep Türü
GET
Payload
<Script>prompt(document.cookie);</Script>
Parametre
s1 veya s2

Arama kutusunda Reflected XSS zafiyeti bulunmaktadır. Zafiyet bilgileri Tablo 1. de belirtilmiştir. Bu zafiyeti istismar etmeden önce normal bir arama yapılır. "deneme" kelimesi aratıldığında "Aradığınız Kayıt Bulunamadı” hatası dönmektedir.  (Şekil 1)
Şekil 1. Normal Arama Sonucu
Daha sonra çeşitli payloadlar denenebilir. En sık kullanılan payloadlardan <script> (1) </script> denendiğinde, sonuç Şekil 2 deki gibidir.

arama-xss.png
Şekil 2. Hata mesajı

Burada script, alert gibi sık kullanılan XSS payloadlarına karşı bir önlem alındığı düşünülebilir. Bu engeli atlatmak için en basit yöntemlerden biri script kelimesini büyük-küçük harf kullanarak yazmaktır. Şekil 3. de <Script>prompt(document.cookie);</Script> payloadı denenmiştir ve sonuç başarılıdır.

arama-xss-2.png
Şekil 3. Sonuç
Bu payload haricinde,içinde script veya alert kelimeleri geçmeyen yüzlerce farklı payload çalıştırılabilir.


Şekil 4. Örnek Payload Denemesi

JSON Kullanılan Uygulamalarda XSS Zafiyeti ve İstismarı

JSON ("Javascript Object Notation"), insanlar tarafından okunabilen bir veri değişimi biçimidir. XML'in Javascript ile çok da iyi kullanılamamasından ötürü tercih edilir. [1]

Normal uygulanan sızma teknikleri aynen JSON ‘da denenerek sonuca ulaşılabilir. PHP ‘de veri değişimi olmadan yapılan ataklar çok fazla göz önünde olduğundan zaafiyet tespiti daha kolaydır. JSON’da ise her istekten sonra HTML kaynak kodlarının analizi gerekebilir. İstek - cevap işlemlerinin daha hızlı yapılması ve kaynak kodların hızlı analizi adına Burp Suite, ZAP gibi proxy işlevi gören araçlar kullanılabilir.

Yukarıda anlatılanlar, daha açıklayıcı olması adına bir örnekle pekiştirilecektir. Aşağıda verilen örnekte, JSON kullanan bir uygulama (OWASP Mutillidae) üzerinde XSS zaafiyetinin istismari adım adım gösterilmiştir. SQL injection ve diğer atak türleri JSON kullanılan bir uygulamada aynı mantıkla uygulanabilir.

1. Bu örnekte kullanıcı girişi POST metodu ile tanımlanmıştır. Aşağıdaki resimde gösterilen form, Burp Suite ile rastgele doldurularak POST edilir. ToolID parametresinin değeri BGASecurity olarak değiştirilip post edilmiştir.

1.png
2. Dönen cevapta html kaynak kodlar arasında, değiştirilen değer aranır. Dönen cevapta, BGASecurity arandığında BGASecurity sözcüğü kaynak kodlar arasında aşağıdaki gibi yer almaktadır.

2.png
var gPenTestToolsJSONString = '{"query": {"toolIDRequested": "BGASecurity", "penTestTools": []}}'

3. İkinci adımda gelen isteğe ve kullanıcı girdisinin bulunduğu konuma göre payload yazılır.

Form:
Ön ek
BGASecurity"}}';
Payload
alert(document.cookie);
Son Ek
//
Girdi
BGASecurity"}}';alert(document.cookie);//

Formda belirtilen ön ek değeri ile ikinci adımda gelen satırdaki açık parantezler kapatılır ve ; ile satır sonuna gelindiği belirtilir. Buradan sonra Payload yazılır ve Payload’dan sonra gelen kodların yorum satırı olarak yorumlanması için // karakterleri eklenir.

4. Üçüncü adımdaki formda verilen Girdi değeri ToolID parametre değeri olarak POST edildiğinde XSS zaafiyeti istismar edilecek ve sonuç aşağıdaki gibi olacaktır.

3.png


Kaynaklar

[1] Web Adresi : http://tr.wikipedia.org/wiki/JSON, Erişim Tarihi: 17/07/2014

14 12 2014

Hemen her saat yeni bir güvenlik zafiyetinin yayınlandığı siber dünyada kurumları bu tehditlere karşı korumak amacıyla geliştirilen yöntemlerden biri sızma testleridir. Sızma testleri aslında kurumların anlık güvenlik açısından resimlerinin çekilmesi ve önerilerin sunulmasından ibaret olmasına rağmen çoğu kurum tarafından aldık, güvendeyiz şeklinde yaklaşılmaktadır.

13 12 2014

Hacklenmiş, Ele Geçirilmiş UNIX/Linux Sistem Analizi / Bölüm-I

Not:3 bölüm  olarak hazırlanan bu yazı dizisinin ilk bölümünü aşağıdan okuyabilirsiniz.
Internet ortamında altyapı, ağ ve sunucu hizmetlerinde kullanılan işletim sistemleri %70 gibi büyük oranda UNIX/Linux tabanlı sistemlerden oluşmaktadır[1]. Linux sistemlerin yoğun kullanımı saldırganların da hedeflerini bu sistemlere yöneltmesine sebep olmuştur.  Hacklenen sitelerin kaydını tutan Zone-H istatistiklerine göre Son yıllarda en çok Linux sistemler hedef oluyor , ele geçiriliyor.

BGA Bank HPF (HTTP Parameter Fragmentation) Yöntemi ile XSS İstismarı

Örnek URL
http://isube.bgabank.com/?sayfa=arama.php&s1=<img onerror=al&s2=ert('BGA'); src=”a”/>

Alınan önlemler, HPF (HTTP Parameter Fragmentation) olarak adlandırılan yöntemle atlatılabilmektedir. Bu yöntemde, arama işleminde yer alan, iki arama parametresi (s1 ve s2) üzerinden istismar edilir. Örnek URL ’de alert, s1 ve s2 parametreleri üzerinde bölünmüştür. (Şekil 1)

Şekil 1. HPP

BGA Bank Sayfa Parametresi Local File Inclusion Zafiyeti ve İstismarı


URL
http://isube.bgabank.com/?sayfa=../../../../../../etc/passwd 

  • Önceki bulguda bahsedilen BGA BANK sayfa parametresiyle sunucudan aynı dizin altındaki farklı php dosyaları (giris.php, mobilgiris.php vb.) çağırılmaktadır.
  • Hem Linux’ta hem Windows’ta .(tek nokta) aynı dizini ve  .. (iki nokta) ise bir üst dizini ifade eder.
  • Linux bir sistemde /etc/passwd dosyası bazı kullanıcı bilgilerini saklar ve herkes tarafından okunabilir.

Bu bilgiler kullanılarak sistemdeki yerel dosya okuma zafiyetinden /etc/passwd dosyası görüntülenebilir.

9 12 2014

BGA Bank Müşteri Giriş Paneli Reflected XSS Zafiyeti ve İstismarı

BGA Bank Müşteri Giriş Paneli Reflected XSS Zafiyeti ve İstismarı

BGA Bank "Müşteri Giriş Paneli" sayfasında “Reflected XSS Zafiyeti” bulunmaktadır. XSS zafiyetinin tespiti ve istismarı aşağıda adım adım anlatılmıştır.

6 12 2014

Kurumsal SOME Yönetiminde Siber Güvenlik Tatbikatı

Kurumların bilgi teknolojilerine bağımlılığı arttıkça siber dünyadaki saldırı yüzeyi de  genişlemektedir. İş dünyasını ciddi manada tehdit eden siber saldırılar karşısında tüm dünyada uzun süredir uygulanan klasik, ürün odaklı “savunmacı” yaklaşım yerini daha proaktif ve çözüm/insan odaklı  yöntemlere bırakmaya başlamıştır.


Siber savunma amaçlı yapılan yatırımlar kurumlarda vicdani rahatlık sağlamakta ve genellikle operasyonel iş yoğunluğu nedeniyle tam verimli kullanılamamaktadır. Tüm bu savunma sistemleri saldırgan gözüyle tekrar incelenip konumlandırılmadığı müddetce alınan ürünlerin verdiği rahatlık yaşanacak bir güvenlik problemine kadar sürecektir. Kurumsal güvenliği sağlayacağı düşünülerek gerçekleştirilen sızma testleri genellikle dar kapsamlı ve standart araçlar gerçekleştirilerek yapıldığı icin kurumun gerçek manada siber saldırılar karşısındaki durumunu göstermede yeterli olmamaktadır.

BGA Bank Müşteri Giriş Paneli SQL Injection Zafiyeti ve İstismarı


Müşteri giriş panelinde SQL injection zafiyeti yer almaktadır. Zafiyet bilgileri tablo 1. de gösterilmiştir.
Tablo 1. Giriş sayfası SQL injection zafiyet bilgileri
URL
http://isube.bgabank.com/giris.aspx
HTTP Talep Türü
POST
Payload
" or 2=2;--
Parametre
b_musterino

Zafiyetin istismarı aşağıda adım adım anlatılmıştır.
1) Giriş formu kurallara uygun şekilde doldurur ve Firefox’un HTTP Live Headers eklentisi açıkken “Giriş Yap” butonuna tıklanır.
HTTP isteği gönderilirken, “Live HTTP Header” üzerinde kendi yansımasını bırakır. Bu yansıma üzerinde javascript filtreleme olmadığından payload girilerek istek tekrar gönderilebilir. Şekil 1. de gösterilen istek üzerinde değişiklik yapmak için “Replay” butonuna tıklanır.
giris-sqli-2.png
Şekil 1. Live HTTP Headers
2) “b_musterino” parametre değerine, tablo 1. de yer alan SQL injection payload girilir ve istek tekrar “Replay” butonu ile gönderilir. (bkz. şekil 2)
giris-sqli-3.png
Şekil 2. Live HTTP Headers SQL Injection Payloads
3) Sonuç, başarılı.
giris-sqli-4.png
Şekil 3. Sonuç