İçeriğe geç
Ana sayfa » Genel » Hacking » Kali Linux – Sqlmap ile Zafiyet Testi

Kali Linux – Sqlmap ile Zafiyet Testi

Sqlmap ile Zafiyet Analizi

Sqlmap ile SQL Injection güvenlik zafiyetlerini analiz ederek, eğer varsa zafiyet, kurbanın veri tabanına sızmamıza olanak sağlayan bir sızma testi aracıdır. Oldukça popülerdir. Alternatifleri arasında en çok tercih edilen olduğunu söyleyebilirim. İlk önce neden Sqlmap, buna değinelim, sonrasında detaylarına yavaş yavaş inelim.

SQL Injection güvenlik zafiyeti nedir, bilmiyorsanız buraya tıklayarak yazdığım makaleye erişebilirsiniz.

Neden Sqlmap?

  • Kullanımı kolaydır. Konsol ekranından yazacağınız ufak parametreler ile çok basit bir şekilde yönetebilirsiniz.
  • Python bilginiz varsa kodlara müdahale edebilir, değiştirebilirsiniz.
  • Kali Linux ile birlikte otomatik kurulu gelir. Kurulum için ek bir çaba sarf etmenize gerek kalmaz.
  • Sqlmap ın alternatifleri vardır fakat çoğunluğu içerisinde trojan içermekte. Yani hack yapayım derken hacklenme ihtimaliniz var. 🙂 Sqlmap alternatifi olarak Windows için Havij, SQLDumper gibi araçları da kullanabilirsiniz. Tabi temizini bulabilirseniz.
  • Bu araç belli aralıklarla güncelleme alıyor, sürekli geliştiriliyor ve tamamen ücretsiz. 🙂

Sqlmap konsol arayüzünden bir ekran görüntüsü bırakarak parametrelere giriş yapalım.

sqlmap

Sqlmap Parametreleri

Bu parametreleri çeşitli başlıklar altında sınıflandırarak anlatmak daha sağlıklı olacaktır. İlk olarak bilgi parametrelerinden başlayarak Sqlmap ı yüzeysel olarak tanıyalım. Liste aşağıdaki şekilde olacaktır;

  • A) Bilgi Parametreleri
  • B) Hedef Parametreleri
  • C) İstek Parametreleri
  • D) Döküm Parametreleri
A) Bilgi Parametreleri
-h & –help Parametresi

-h, –help parametreleri ile yüzeysel olarak hangi parametreleri kullanabileceğinizi, nasıl kullanabileceğinizi size kısaca anlatan bir ekran ile karşılaşırsınız. Üst resimde sol tarafta açılan ekran gibi bir ekran dökülecektir konsolda. Kullanımı aşağıdaki gibidir;

sqlmap -h
sqlmap --help
-hh Parametresi

Bu parametre size parametrelerin kullanımı hakkında çok detaylı bir ekran dökecektir. Sqlmap kullanımı esnasında ihtiyaç duyabileceğiniz parametrelerin tamamına -hh ile erişebilirsiniz. Kullanımı aşağıdaki gibidir;

sqlmap -hh
–version Parametresi

Bu parametre ile ne zamandır Sqlmap ı güncellemiyorsunuz, mevcut versiyonunuz ne, versiyonunuz stabil mi gibi bilgilere erişebilirsiniz. Bu olaydan ücretsiz faydalanabildiğiniz için sık sık kontrol ederek yazılımınızı daima güncel tutabilirsiniz. Kullanımı aşağıdaki gibidir;

sqlmap --version

sqlmap_banner

Sqlmap ı güncellemek için aşağıdaki komutu çalıştırabilirsiniz.

sudo apt install --only-upgrade sqlmap
B) Hedef Parametreleri

Hedef parametreleri ile, belli dorklar ile hedef arama işlemi gerçekleştirebilirsiniz veya eğer bir hedefiniz varsa Sqlmap ile hedef seçimi yaparak hedefiniz üzerinde zafiyet taraması yapabilirsiniz.

-u Parametresi

-u parametresi ile hedef url üzerinde zafiyet analizi yapabilirsiniz. Tek başına kullanılanmanız pek işinize yaramayacaktır. Sadece -u parametresi ile zafiyet testi yapabilirsiniz. Zafiyet sonrası sızma testi yapmak istiyorsanız ek parametrelere ihtiyacınız olacaktır. Kullanımını bir kaç örnek ile anlatayım;

sqlmap -u www.siteadresi.com/index.php?id=89 *sadece test yapar.
sqlmap -u www.siteadresi.com/index.php?id=89 --dbs *bu parametre ile zafiyet varsa veri tabanını çekebilirsiniz.
-g Parametresi

-g parametresi ile sqlmap ın belirteceğiniz dork ile Google da araştırma yapmasını, bulduğu hedefleri taramasını sağlayabilirsiniz. Dork nedir öncelikle bunun bilgisini vereyim, sonrasında parametre örneklerini vererek devam edeyim.

Dork Nedir?

Dork, google da belli kalıpları aratarak güvenlik zafiyeti içerek siteleri tespit etmenize olanak sağlayak ufak anahtar kelimelerdir diyebiliriz.

Örneğin bir website scriptinde güvenlik zafiyeti buldunuz, örneğin scriptin zafiyet içeren sayfasının script_sayfasi.php olduğunu varsayalım. Google da şöyle bir araştırma yaparak bu zafiyeti içeren siteleri rahatlıkla tespit edip sızma testleri uygulayabilirsiniz.

script_sayfasi.php?id=
VEYA
inurl:script_sayfasi.php?id=

-g parametresinin kullanım örneği ile devam edelim;

sqlmap -g DORK şeklinde arama yapabilirsiniz. 
sqlmap -g index.php?id= veya
sqlmap -g inurl:news.php?page_id=

-g parametresi ile tarama yaptığınızda sqlmap size bulduğu hedefleri listeleyecektir ve sızma testi yapmak isteyip istemediğinizi, güvenlik risklerini iletecektir. Güvenlik risklerini inceleyerek onay verebilirsiniz, tarama işlemini gerçekleştirir, bulursa zafiyet sızmayı deneyebilir.

sqlmap_banner_2

C) İstek Parametreleri

Bu parametre ile hedef sisteme nasıl bağlanacağınızı ayarlayabilirsiniz.

–data Parametresi

–data parametresi ile siteye çeşitli veriler POST  edebilirsiniz. Bunu şu şekilde düşünebilirsiniz, bir sisteme giriş yapabilmek için veya bir sisteme veri gönderebilmek için forma veri yazarsınız ve dgönder butonuna tıklarsınız. Örneğin bir sisteme giriş yapmak istiyorsanız sisteme kullanıcı adı şifre bilgilerinizi girdikten sonra giriş butonuna bastığınızda aşağıdaki gibi bir veri post edilir.

username=mehmeteren&password=discoverthesecurity

Bu POST mevzusunu iyi kavrayabilmek için Burp Suite kullanarak pratik yapabilirsiniz. Burp Suite ile alakalı da ilerleyen zamanlarda bir içerik hazırlayacağım. Siz bir siteye giriş yapmak istediğinizde hangi veriler ne şekilde çıkıyor nereye gidiyor, bunların detayını Burp Suite üzerinden Proxy yaparak daha detaylı görebilirsiniz.

Sqlmap ile terminal üzerinden çeşitli sayfalara çeşitli veriler POST edebilirsiniz. Sqlmap üzerinden POST metodu kullanımı;

sqlmap -u HEDEF_ADRES --data="POST_VERİ"
sqlmap -u www.siteadresi.com/index.php?page=login --data="username=mehmeteren&password=discoverthesecurity"
–cookie Parametresi

Bu parametre ile HTTP önbellek bilgisi gönderebilirsiniz. Cookie bilgisini elde etmek için farklı yöntemler kullanmanız gerekebilir. Elde ettiğiniz cookie bilgisini siteye aşağıdaki parametre ile enjekte edebilirsiniz. Bunu bir nevi cookie injection olarak düşünebilirsiniz.  Bu konu ile alakalı yazdığım SESSION Hijacking makaleme buraya tıklayarak erişebilirsiniz. –cookie parametresi kullanımı aşağıdaki şekildedir;

sqlmap -u HEDEF_ADRES --cookie="COOKIE_VERİ"
sqlmap -u www.siteadresi.com --cookie="STATE_COOKIE=%2F1%2F_VMD%S_F22F1%26_REQS%2F_RVID%2FAZC41_ZS55"
–random-agent & –user-agent

Bazı durumlarda user agentiniz sunucu tarafından engellenebilir veya sunucu sadece belli agentlara izin veriyor olabilir. Bu gibi durumlarda –random-agent parametresi ile rastgele agent ile bağlantı sağlamayı deneyebilirsiniz veya belli bir user-agent belirtebilirsiniz. –random-agent parametresi ile aşağıdaki yoldaki agentları denersiniz.

cat /usr/share/sqlmap/data/txt/user-agents.txt

Parametre kullanımı aşağıdaki şekildedir;

sqlmap -r talep --random-agent
sqlmap_banner_3
D) Döküm

Döküm, sızma işlemini gerçekleştirdikten sonra sisteme dair verileri dökmenize, görüntülemenize olanak sağlayan parametreler bütünüdür.

–dbs Parametresi

Güvenlik zafiyeti içeren sitenin veri tabanı ismini çekmenizi sağlayan parametredir. Kullanımı aşağıdaki gibidir;

sqlmap -u HEDEF_SİTE --dump
sqlmap -u www.siteadresi.com/index.php=id=8432 --dbs
–tables Parametresi

Güvenlik zafiyeti içeren sitenin veri tabanlarını çektikten sonra, veri tabanının içerisindeki tabloları çekmek için kullandığımız parametredir. Kullanım şekli aşağıdaki gibidir;

sqlmap -u www.siteadresi.com/index.php=id=8432 -D VERİTABANI_ADI --tables
–columns Parametresi

Bir websitenin veri tabanı tabloları çekildikten sonra kolonlarının çekilmesini sağlayan parametredir. Kullanımı aşağıdaki şekildedir;

sqlmap -u www.siteadresi.com/index.php=id=8432 -D VERİTABANI_ADI -T TABLO_ADI --columns
–dump Parametresi

Veri tabanının adını, tablo bilgisini, kolon bilgisini çektikten sonra, kolonun içerisindeki verileri çekmemizi sağlayan parametre –dump parametresidir. Kullanımı aşağıdaki gibidir;

sqlmap -u www.siteadresi.com/index.php=id=8432 -D VERİTABANI_ADI -T TABLO_ADI -C KOLON_ADI --dump

arp_banner

Bu makalede Sqlmap ın tüm parametrelerine yer veremedim, daha sayamadığım ana başlıklar, ana başlıkların altında parametreler eksik. İlerleyen zamanlarda diğer parametrelerden de bahsettiğim Sqlmap 2 makalesi yayınlayacağım. Yukarıda saydığım parametreler başlangıç düzeyi için yeterlidir. Sanal ortamınızda testinizi yapabilirsiniz.
İçeriğin ve görsellerin tamamı tarafıma aittir. Site içeriklerinin tamamı DMCA tarafından kayıt altına alınmakta ve onaylanmaktadır. İçeriğin ve görsellerin bir kısmının veya tamamının İZİNSİZ KOPYALANMASI veya izin alındıktan sonra KAYNAK GÖSTERMEDEN yayınlanması durumunda hukuki süreç başlatabilirim.

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir