• Sonuç bulunamadı

Fırat Üniversitesi Personel Bilgi Sistemi Penetrasyon(Sızma) Testi

N/A
N/A
Protected

Academic year: 2022

Share "Fırat Üniversitesi Personel Bilgi Sistemi Penetrasyon(Sızma) Testi"

Copied!
5
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Abstract— In this project,the penetration test is performed on web pages to introduced the academic personals of a university.

This penetration testing is implemented with tools carried out under BackTrack operating system. At the first step on the target web site scanning is implemented by W3AF. Using SQL injection vulnerabilities obtained by from scanning the informations of the academic members from the personal information system are taken. This informations taken from the system are investigated for the possible person or persons authorized users. According to data obtained authorized access to a target site is provided.

Keywords—penetration testing,backtrack,w3af gui sqlmap,sql injection

I. GİRİŞ

nternet teknolojisi geliştiricileri, internet kullanıcılarının internet teknolojisini daha yararlı kullanmaları amacıyla çeşitli kolaylıklar içeren yazılımlar sunmaktadırlar. Bu yazılımlar karmaşık bir yapıya sahip olması sebebiyle, birtakım güvenlik zafiyetleri ortaya çıkabilmektedir. Güvenlik zafiyetlerini, geliştirici ve bir kısım kullanıcı farkedemese de bu zafiyeti farkeden bir üçüncü şahıs güvenlik zafiyetini kullanarak sisteme erişim sağlayabilmektedir. Sisteme erişimi sağlayan kişi art niyetli bir yapıya sahipse vahim durumlar ortaya çıkmaktadır. Bu tür vahim durum senaryolarının yaşanmaması amacıyla penetrasyon(sızma) testleri yapılmaktadır.

Penetrasyon Testi(Pentest); Belirlenen bilişim sistemlerine mümkün olabilecek her yolun denenerek sızılmasıdır.

Pentestde amaç güvenlik açığını bulmaktan öte bulunan açıklığı değerlendirip sistemlere yetkili erişimler elde etmektir.[1]

Penetrasyon testi yapıldıktan sonra bir sonuç raporu hazırlanıp ilgili kişiye bilgilendirme yapılır.

Bu penetrasyon testi incelemesinde pentest araçları kullanılarak hedef sisteme erişim sağlanmaktadır.

II. PENETRASYONTESTİ II.I Gerekli Araçlar

Backtrack 5 R3: Offensive Security tarafından geliştirilen Debian/Linux tabanlı bir işletim sistemidir. Penetrasyon Testi ve Adli Bilişim için kullanılması amaçlanmıştır.[2]

Web Application Attack and Audit Framework(W3AF):

Rapid7 firması tarafından ücretsiz dağıtılan bir web güvenlik yazılımıdır. W3AF Python programlama dili ile yazılmış hem Windows hem de Linux platformunda çalışan çok güçlü bir tarayıcıdır. Kendi içerisinde bulunan modülleri kullanarak hedef sistem üzerinde tam bir test gerçekleştirebilecek kabiliyete sahiptir. Ayrıca bulduğu güvenlik açıklarını exploit ederek hedef sistemlere sızmaya yarayan modülleri ise W3AF’i oldukça güçlü kılmaktadır.[3]

SQLMAP: SQL Enjeksiyon açıklarını bulmaya ve bu açıkları kullanıcısının menfaatleri doğrultusunda kullanmasını sağlayan penetrasyon testlerinde de kullanılan açık kaynak kodlu bir yazılımdır.

II.II. Backtrack Giriş

Backtrack işletim sisteminin arayüzüne giriş yapabilmek için,Resim 1’de görülen ekranda bt login: kısmına

“root”,Password kısmına ise “toor” yazılmaktadır.

Karşımıza gelen komut satırından da “startx” komutu verilerek Backtrack 5 R3 arayüzü çalıştırılmaktadır.

Resim 1 – Backtrack Giriş Paneli

II.III. Web Application Attack and Audit Framework(W3AF) ile Site Analizi

W3AF,penetrasyon testlerinde sıkça kullanılan bir araçtır.

Bu araç ile bir web sayfası üzerinde zararlı yazılım kodları içeren dosya olup olmadığını tespit edebilir,Çeşitli web uygulamaları üzerinde bulunan zafiyetleri ortaya

çıkarabilirsiniz. Birden fazla güvenlik istismarı tarayıcısını bir pakette bulundurur.

Backtrack 5 R3 versiyonunda W3AF

“Applications/Backtrack/Vulnerability Assessment/Web Application Assessment/Web Vulnerability Scanners/w3af gui” sekmesi altında bulunur.

Bu penetrasyon testi yazısında W3AF programının bir

Fırat Üniversitesi Personel Bilgi Sistemi Penetrasyon(Sızma) Testi

Yücel Yılmaz

Fırat Üniversitesi, Mekatronik Mühendisliği Lisans 1.Sınıf, Elazig/Turkey, yucel1337@gmail.com

İ

(2)

web sayfası üzerinde güvenlik zafiyeti taraması işlemi gerçekleştirilmiştir.

İlk olarak W3AF arayüz programında Resim 2’de görülen “Target” kısmına hedef web sayfası yazılır.

“Target” kutucuğunun altında bulunan “audit” eklentisi ise hedef site üzerinde taranacak güvenlik zafiyet çeşitlerini içerir.

Resim 2 – W3AF Arayüz Programı

“audit” eklentisi aktif hale getirilip hedef site üzerinde tarama işlemi başlatılır.

Tarama işlemi başlatıldıktan sonra gelişen olaylar “Log”

sekmesi altında yer almaktadır. Resim 3’de görüldüğü gibi

“uid” parametresinde bir SQL Enjeksiyon* açığı bulunduğu raporlanmaktadır.

Resim 3 – W3AF Log Çıktıları

*SQL (Structured Query Language) veritabanlarında data çekme, silme ve değiştirme gibi işlemler için kullanılan basit yapılı bir dildir. Bugün hemen hemen tüm web

uygulamalarının altyapısında veritabanı desteği vardır ve bu web uygulamaları veritabanı ile SQL aracılığıyla anlaşırlar.[4]

*SQL Enjeksiyon, web uygulamalarında bir çok işlem için kullanıcıdan alınan veri ile dinamik SQL cümlecikleri oluşturulur. Mesela “SELECT * FROM Products” örnek SQL cümleciği basit şekilde veritabanından web uygulamasına tüm ürünleri döndürecektir. Bu SQL cümlecikleri

oluşturulurken araya sıkıştırılan herhangi bir meta-karakter SQL Injection’ a neden olabilir.[4]

“Results” sekmesinde,hedef site üzerinde bulunan güvenlik

Enjeksiyon güvenlik açığının hangi parametrede bulunduğu detaylı şekilde verilmektedir.

Resim 4 – W3AF Hedef Site Analiz Sonuçları

II.IV. SQLMAP ile SQL Enjeksiyon Zafiyetinden Yararlanmak

SQLMAP,python dilinde yazılmış oldukça gelişmiş özelliklere sahip olan bir araçtır. Bünyesinde 5 çeşit SQL Enjeksiyon saldırı tipini barındırır. Birçok veritabanını tanır ve veritabanını indirme(dump) özelliğine de sahiptir.

SQLMAP,Backtrack 5 R3 versiyonunda

“Applications/Backtrack/Vulnerability Assessment/Web Application Assessment/Web Vulnerability Scanners/sqlmap”

sekmesi altında bulunmaktadır.Alternatif bir yol olarak backtrack konsolu çağrılıp “cd /pentest/database/sqlmap”

komutu girilerekte SQLMAP programına erişim sağlanabilir.

İlk önce taratılmak istenen site için “./sqlmap.py –u “hedef site” komutu girilir. Burada “./sqlmap.py” ile sqlmap.py dosyası çağırılır. “-u” parametresi ile hedef site

belirtilir.Hedef site olan perweb.firat.edu.tr için girilen komut örneği Resim 5’de gösterilmiştir.

Resim 5 – SQLMAP ile Hedef Site’nin Taranması

(3)

Enjeksiyon açığından yararlanılarak veritabanı türünü tespit edip Resim 6’da görüldüğü gibi konsola veritabanı veya veritabanlarını tablo halinde vermektedir.

Resim 6 – SQLMAP ile Veritabanı Çıktısı

Veritabanı ismi öğrenildikten sonra o veritabanına ait tablo isimlerini de öğrenmek gerekmektedir.

Tabloları elde etmek için “./sqlmap.py –u “hedef site” - - tables -D ilgili veritabanı” komutu kullanılmaktadır. “ - - tables” parametresi ile veritabanındaki tablo isimleri öğrenilir.

“–D” parametresi ise SQL Enjeksiyon için kullanılan veritabanını ifade eder.Komutun hedef site üzerinde uyarlanmış hali Resim 7’de gösterilmiştir.

Resim 7 – SQLMAP ile Veritabanındaki Tabloları Öğrenmek

Bu komut aktif hale getirildiğinde Resim 8’de ki çıktı elde edilir. İlgili veride 31 adet tablonun PerWebDB veritabanında barındığı belirtilmektedir.

Veritabanları içerisinde tablolar bulunur.Tabloların

içerisinde de kolonlar,kolonların içerisinde ise veriler bulunur.

Bu veriler bir web sayfasının işleyişi için son derece önemli bir rol oynamaktadır. Bu sebeple bu verileri kontrolü altında bulunduran sistem yetkilileri önemli gördükleri bu verileri belli periyotlarda yedeklerler.Resim 8’de ki çıktıda da birkaç tablonun yedeği “ydk_” kısaltmasıyla belirtilmiştir.

Hedef sistem üzerinde yetkili erişim sağlayabilmek amacıyla sistemde yetkili kullanıcıların bulunduğu tablodan

faydalanarak sistem yetkilisinin kullanıcı adı ve şifresine ulaşılıp hedef sisteme erişim sağlanacaktır.

Resim 8 – SQLMAP ile Veritabanı Tabloları

Tablolar arasında bulunan “dbo.Tsahip” tablosunun kolon isimleri öğrenilerek bu tablo altında yetkili kullanıcı adı ve şifresinin bulunup bulunmadığı incelenir.

İlgili tablonun kolon isimlerini öğrenmek için “./sqlmap.py –u “hedef site” - -columns –T tablo –D veritabani” komutu uygulanır. “- -columns” parametresiyle tablo içindeki kolon adları öğrenilir.”-T” parametresiyle de işlem yapılacak tablo belirtilir. Resim 9’da verilen komutun hedef site üzerindeki uyarlanmış hali gösterilmektedir.

Resim 9 – SQLMAP ile Tablodaki Kolonları Öğrenmek

(4)

Komut uygulandığında Resim 10’da görüldüğü şekilde bir çıktı verir. İlgili çıktıda PerWebDB veritabanında dbo.Tsahip isimli tabloda 8 adet kolon bulunduğunu rapor etmektedir.

Bu kolon isimleri “kulad,kullanici,sifre,yetki” gibi aranılan anahtar kelimeler içermektedir. Bu anahtar kelimeler bize sistemdeki yetkili kullanıcının dbo.Tsahip tablosunda kullanıcı adı ve şifresinin var olabileceğini işaret etmektedir.

Resim 10 – SQLMAP Tablo Kolonları

Varsayımın doğruluğunu kanıtlayabilmek için bu kolonlarda bulunan verileri indirmek gerekir. “./sqlmap.py –u “hedef site” - -dump –C kulad,kullanici,sifre –T dbo.Tsahip –D PerWebDB” komutu ile bu veriler bilgisayara indirilir.”-C”

parametresi verilerini çekmek istediğimiz kolonları belirtmek için kullanılır.Veriler “.csv(Comma-Separated

Variables,Virgülle Ayrılmış Veriler)” uzantısıyla kaydedilir.

Dosya “/pentest/database/sqlmap/output/hedef

site/dump/veritabanı/tablo.csv” dizinine kaydedilir.Dosyanın açılmış hali Resim 11’de gösterilmiştir(Sistem yetkilisi dışındaki yetkililerin kullanıcı adı ve şifreleri siyah çizgiyle kapatılmıştır.Sistem yetkilisinin şifresinin sadece bir kısmı siyah çizgiyle kapatılmıştır.)

Resim 11 – SQLMAP ile Verilerin Elde Edilmesi

Görüldüğü gibi birçok yetkili kişinin kullanıcı adı ve şifresi dosyada yer almaktadır. Bu yetkili kullanıcılar arasında

“fusistemynt” kullanıcı adlı hesap,sistemde en yetkili erişime sahiptir.Hesabı kullanarak sisteme erişim sağlanır.

III. SİSTEMEERİŞİM

Çeşitli aşamalar sonucunda elde edilen veriler ile sisteme giriş yapabilmek için kullanıcı giriş panelinin bulunması gerekir. Hedef site(perweb.firat.edu.tr) anasayfasında yer alan Resim 12’de görülen Kullanıcı Girişi kısmından sisteme erişim sağlanır.

Resim 12 – F.Ü Personel Bilgi Sistemi – Kullanıcı Girişi Giriş tuşuna bastıktan sonra karşımıza Resim 13’de görülen Yönetici Paneli gelmektedir.

Resim 13 – F.Ü Personel Bilgi Sistemi – Yönetici Paneli Bu panele erişen kişinin insiyatifine bağlı olarak meydana gelebilecek olaylar farklılık göstermektedir. Üniversite personellerinin akademik konumunu değiştirebilir,silebilir.Kişi Resim 14’de görülen modülden Personel Ekleme işlemi yapabilir.

Resim 14 – F.Ü Personel Bilgi Sistemi – Personel Ekleme Ya da bunun tam tersi olan mevcut olan bir personeli Resim 15’de görülen modülden Personel Silme işlemi yapabilir.

(5)

Resim 15 – F.Ü Personel Bilgi Sistemi – Personel Silme

IV. SONUÇLAR

Bu penetrasyon(sızma) testi ile bir üniversitenin kimliği olan personel bilgi sistemine sızılmıştır. İnternet teknolojisi üzerinde gelişmeler sağlandıkça kaydedilen olumlu sonuçların yanında olumsuz sonuçlarda doğacaktır.Bu olumsuz sonuçlar olarak zafiyetler gösterilebilir.Bu zafiyetlerin önüne geçebilmek ve zafiyetler sonucu ortaya çıkabilecek vahim durum senaryolarının önlenmesi amacıyla bu farkındalık projesi yapılmıştır.

TEŞEKKÜRLER

Mavituna Security şirketinden Ömer Kurt’a,bu projenin başından sonuna kadar yaptığı yardımlardan dolayı bir teşekkürü borç bilirim.

KAYNAKÇA

[1] Ö. Huzeyfe,http://blog.lifeoverip.net/2009/10/06/10-soruda- pentestpenetrasyon-testleri/

[2] http://en.wikipedia.org/wiki/BackTrack

[3] Ç. Eyüp,http://www.eyupcelik.com.tr/ceh/w3af-ile-web-sitelerinde- shell-tespiti

[4] M.Ferruh,http://ferruh.mavituna.com/sql-injection-a-giris-ve-sql- injection-nedir-oku/

Referanslar

Benzer Belgeler

- Koruma ve Güvenlik Görevlisi unvanının ek ödeme artış oranı 5 iken 8 olarak belirlenmiş olup, bu personelin dereceleri itibariyle yararlanmakta oldukları ek ödeme oranına

Hem öğrenci hesabı olan (aynı zamanda üniversitemizin aktif öğrencisi olan personelimiz) personelimiz öğrenci hesabını personel sınavları için kullanamaz

Kurumumuz personel planlaması kapsamın- da, birimlerimizin ihtiyacı olan niteliklerde memur personel alımına yönelik Kamu Görevlerine İlk Defa Atanacaklar İçin Yapılacak

2.4.1.6 Çalışma Tablosu: Tüm personelin puantajı alınan iki tarih arasında çalışma durumunu özet olarak almak için bu rapor alınır. Çalışma grupları numaraları

Gerek yeni servis şoförlerinin, gerekse mevcut servis şoförlerinin ihtiyaç duyması hâlinde, kullanılabilecek navigasyon özelliği ile servis aracına tanımlı güzergâh ve

Personele yeni bir avans vermek veya kesinti yapmak için ilk olarak pencerenin alt tarafındaki (Ekle) butonuna basarız. Bu butona bastığımızda listede boş bir satır

3.3-Maaş Hesaplama işleminin yapılabilmesi için, Maaş Referans Bilgileri Menüsünde bulunan “Harcama Birimi Vergi Kimlik No, Banka Bilgi Girişi Formu”ndan Sorgu

 İş tanımı ile ilgili tüm işlemlerin yazışmalarını EBYS üzerinden yaparak, kendi birimine gelen evrakları teslim almak, gerekli kayıt ve dosyalama işlemlerini ile