1. Duyuruyu Kapat

Ubuntu DVWA Dersleri - 1

'Ubuntu' forumunda Hattab tarafından 10 Şubat 2016 tarihinde açılan konu

  1. Hattab

    Hattab Well-Known Member

    Katılım:
    22 Ekim 2015
    Mesaj:
    550
    Beğeniler:
    5
    DERS I (KURULUM):

    DVWA, yani Damn Vulnerable Web Application web uygulama guvenligi alaninda kendini gelt" style="margin-bottom:2px">Kod:

    Kullanici adi: admin
    Sifre: password

    olacak sekilde giris yapilir. Bundan sonra yapacaklariniz size kalmistir. Bu web uygulamasini Windows uzerinden 'wamp server' adli yazilim ile kullanabilirsiniz.
    [​IMG]

    [​IMG]
    DERS II (GUVENLIK ZAFIYETLERI)
    :

    Bu dersimizde, DVWA'da bulunan, en cok kullanilan guvenlik aciklarini taniyacagiz. Once guvenlik zaafiyetinin kelime manasi ile derse baslayalim. Guvenlik acigi, kelime manasi olarak herhangi bir sistem, cihaz veya sunucuda meydana gelen, guvenligi tehlikeye atabilecek veya kotu amacli kisiler tarafindan degerlendirilebilecek zayifliklara verilen isimdir. Guvenlik acigi herhangi bir ortamda, insanda bile olusabilir (Sosyal Muhendislik). Guvenlik aciklarini arttirmak mumkundur. Binbir cesit acik vardir. Biz bu dersimizde DVWA dolayisiyla, web uygulamalarinda meydana gelen, en cok kullanilan zayifliklari anlamaya, ogrenmeye calisacagiz. Ilk dersimizde olusturdugumuz siralamayi takip edecegiz. Bu siralamaya gecmeden once belirtmek isterim ki, ilerideki derslerde DVWA uzerinde sizma islemi sadece tek bir yontemle gerceklesecektir. Diger yontemleri guvenlik aciginin bulundugu bolumde bulunan 'view help' butonuna tiklayarak goruntuleyebilir, fikir edinebilirsiniz. Yine o bolumlerde bulunan 'view source' butonuna tiklayarak formun sourcesini (kaynak kodlarini) goruntuleyebilir, sizma islemi icin fikir edinebilirsiniz.

    1_ Brute Force Atagi: Brute Force, sozluk sirasina gore artan karakterlerle 1..9, a..b, A..B ve ozel karakterler kullanarak stringler ureten ve bu stringleri pop3, smtp, smb, ftp, http, e-mail gibi protokoller veya html formlari uzerinde deneyen atak cesididir. Eger bu atak cesidinde belli bir sozluk kullanilirsa 'Sozluk Atagi', once sozluk atagi uygulanip daha sonra brute force atagi kullanilirsa da 'Hybrid Atagi' olarak isimlendirilir. Tum bu ataklarda amac, hedef sisteme deneme - yanilma yoluyla sizmaktir. Bu tur ataklari uygulamak icin Hydra, Brutus, Medusa gibi araclar kullanilabilir.

    Web formlarda Brute Force atagina karsi alinabilecek en iyi onlem, belli bir sifre deneme sayisindan sonra CAPTCHA (Completely Automated Public Turing Test To Tell Computers and Humans Apart) kodu, herhangi bir guvenlik kodu vs. girilmesinin istenmesidir. Bu sayede robotlara karsi en iyi sekilde onlem alinabilir.
    [​IMG]
    2_ CSRF: Acilimi 'Cross Site Request Forgery' olan CSRF ataginin Turkce manasi 'Siteler Arasi Istek Sahteciligidir'. Uyuyan Dev olarak da bilinir. Pek bilinmeyen bu saldiri bizzat yonetici kullaniciya dogru yapilir ve sosyal muhendislik gerektirir. CSRF ile e-mail islemleri, kullanici yaratma - kullanici bilgilerini degistirme gibi kullanici islemleri yapmak mumkundur. Bu yuzden dogurabilecegi sonuclar oldukca agir olabilir. CSRF Saldirilari basit kodlarla yapilabilir. CSRF aciginin tespit edilmesinde testler Burp Suite, Paros gibi yazilimlarla yapilabilir. Gmail kullanici bilgileri 2007 yilinda bu yontem ile calinmistir.

    3_ SQL Enjeksiyonu: SQL, yani Structured Query Language veritabani islemleri icin gelistirilmis basit yapili bir dildir. SQL Enjeksiyonu, SQL cumlecikleri olusturulurken arada bulunan m.eta karakterler yuzunden ortaya cikan bir aciktir. M.eta karakter programin anlam yukledigi herhangi bir karakterdir. Ms Sql 1433 TCP, 1434 UDP, MySql 3306 TCP/UDP ve Oracle ise 1521,1810,2481 ve 7778 portlarini kullanir. SQL Enjeksiyonu ile hedef sunucuda program calistirilabilir, dosya - dizin islemleri yapilabilir, tablodaki kayitlar degistirilip cekilebilir ve web sayfasi olusturulabilir. Kor, yani Blind SQL Enjeksiyonu ise, hata vermesi gereken sayfanin yonlendirilmesiyle veya engellenmesi durumunda basvurulan yontemdir. Saldirgan SQL cumlelerine dogru ve yanlis cumleler vererek veri calmaya calisir. SQL zafiyetinin kullanilmasi icin Sqlmap, Sqlninja, Sqlier gibi yazilimlar kullanilabilir. Bu acik m.eta karakterlerin filtrelenmesiyle engellenebilir.
    [​IMG] 4_ Upload Acigi: Web uygulamalarinda bulunan resim, belge, dosya upload etme kisimlarinin kotuye kullanilmasiyla olusan aciktir. Saldirgan, bu tur yerler araciligiyla siteye arka kapi (Backdoor) enjekte edebilir. Bu tarz aciklarin kapatilmasi icin dosya upload kisimlarinda uzanti - dosyanin islevi gelismis filterlar aracigiyla filtrelenmelidir.

    5_ File Inclusion: Sizin de bildiginiz isimlerle LFI (Local File Inclusion) ve RFI (Remote File Inclusion) olarak bilinirler. LFI yerel dosya dahil etme, RFI ise uzaktan dosya dahil etme manasina gelir. Zararli kod enjeksiyonu saldirilaridir. PHP web programlama dili ile yazilmis uygulamalarda meydana gelirler. Filtreleme hatalarindan veya degiskene deger atanmamasi durumundan kaynaklanirlar. Korunmak icin degiskene deger atamasi veya 'php.ini' dosyasinin editlenmesi gerekir.

    6_ Command Execution: En tehlikeli guvenlik acigidir (10.0). Kod calistirma acigi olarak da bilinir. Komut calistiran web uygulamalarinda ortaya cikan bir aciktir. Hedef sistemde bash komutlari calistirmaya yarar. Genellikle PHP web programlama dili ile programlanan sitelerde ortaya cikar. Bu tur aciklarin genelde PHP uzerinde olusmasinin sebebi karmasik bir dil olmasidir.

    7_ XSS Stored/Reflected: Acilimi 'Cross Site Scripting' olarak tanimlanir. XSS, saldirganin hedef sisteme kotu niyetli kodlar ekleyip calistirmasina olanak saglayan acik cesididir. Genelde Javascript yardimi ile kodlar enjekte edilir. XSS ile saldirganlar web sayfasinda yonlendirme, oturum cerezlerini ele gecirme ve siteyi ziyaret eden kullanicilara kotu amacli yazilim bulastirma islemleri gerceklestirilebilir. Stored, yani depolanmis XSS kullanicilarin girdigi metinlerin veritabaninda depolandigi sistemlerde gorunur. Sayfayi ziyaret eden herkese zararli kodu ulastirabilir. Reflected, yani yansitilmis XSS ise zararli kodlarin bulundugu sayfaya hedeflerin sosyal muhendislik yardimiyla yonlendirilmesi ile saglanir. Bu genellikle hedeflerin oturum bilgilerini calmakta kullanilir.
    [​IMG]
    [​IMG]
    DERS III (BRUTE FORCE DVWA - LOW)
    :

    Evet arkadaslar. Artik yavastan DVWA uzerindeki aciklari cozmeye basliyoruz. Brute Force ile baslayacagiz. Gerekli yazilimlarimiz Burp Suite ve Mozilla Firefox. Burp Suite, pentest islemlerinde kullanilan, cok amacli bir web proxy uygulamasidir. Bircok eklenti barindirir. Mozilla Firefox ise bildiginiz uzere bir web tarayicisidir.

    Brute Force DVWA - Low Kaynak Kodlari Incelemesi: Baslangic olarak bu guvenlik aciginin bulundugu formun kaynak kodlarini inceleyelim. Kodlara baktigimiz zaman kurulum sirasinda olusturdugumuz MySql ile yapmis oldugumuz DVWA veritabaninda bulunan kullanicilarla forma girdigimiz verileri karsilastirip, dogru veya yanlisligina gore bir karsilama mesaji verdigini gorebiliriz. Formda Brute Force atagini engellemek adina herhangi bir guvenlik onlemi bulunmuyor.
    [​IMG]
    1) Kaynak kodlarimizi inceledigimize gore oncelikle Mozilla Firefox'u acip URL kismina 'http://127.0.0.1/dvwa' yaziyoruz ve giris yapiyoruz. Kullanici adi - sifre default olarak 'admin - password' olarak tanimlanir. Giris yaptiktan sonra 'DVWA Security' kismina gelip dereceyi 'low' yapip submit diyoruz ve ardindan yan taraftan 'Brute Force' butonina tikliyoruz.
    [​IMG]
    2) 'Burp Suite' adli yazilimi calistiriyoruz. Burp Suite adli yazilimi Ubuntu'ya kurmak icin sirasiyla asagidaki komutlari giriyoruz. Bu komutlari uyguladiktan sonra /opt dizininde 'Burp Suite' adli bir dizin olusturulacak ve bu dizine kurulum dosyalari yuklenecektir.
    Kod:

    sudo su
    cd /opt
    mkdir burpsuite
    cd /opt/burpsuite
    wget http://portswigger.net/burp/burpsuite_free_v1.5.jar

    Burp Suite yazilimini kullanmak icin sistemde Java kurulu olmalidir. .jar dosyasini indirdikten sonra 'cd /opt/burpsuite' dizinine gelip calistirmak icin 'java -jar burpsuite_free_v1.5.jar' komutunu kullanmamiz yeterli olacaktir.
    [​IMG]
    3) Burp Suite'nin 'proxy' ozelligini kullanabilmemiz icin tarayicimizi ayarlamamiz gerekmektedir. Mozilla Firefox uzerinden bu ayarlamayi yapmak icin sirasiyla 'Menu > Preferences > Advanced > Network > Settings' yolu izlenir. Daha sonra 'Manual Proxy Configuration' radiobutton'a tik atilir ve 'Http Proxy' kismina 127.0.0.1, port kismina ise 8080 yazilir. Daha sonra 'Use this proxy server for all protocols' checkbox'u isaretlenir ve kaydedilip cikilir.
    [​IMG]
    4) Gerekli ayarlamalar yapildiktan sonra Burp Suite uzerinden 'Proxy' butonuna tikliyoruz ve 'Intercept' dizinine geliyoruz. Bu dizinde eger 'Intercept is Off' diyorsa o butona bir kez tiklatip 'Intercept is On' yazmasini bekliyoruz. DVWA uzerindeki Brute Force yapacagimiz forma rastgele deger atiyoruz. Ornegin 'Kullanici adi: deneme & Sifre: example'. Daha sonra 'Login' butonuna tiklatiyoruz.
    [​IMG]
    5) 'Login' butonuna tikladigimiz anda, Burp Suite uzerinde 'GET' istegimiz gozukecektir. 'Http Get Request', en cok kullanilan methodlardan biridir. Istegimiz gozuktugu zaman sag tiklayip 'Send to Intruder' veya Ctrl+I yapiyoruz ve sirasiyla trafik akisini 'Forward' butonuna basarak devam ettiriyoruz. Istekler bittigi zaman dilersek 'Intercept is On' butonuna tiklayaraktan trafigi dinlemeyi durdurabiliriz. Bu adimi da tamamladiktan sonra ust kisimdaki butonlardan 'Intruder' butonuna tikliyoruz.

    6) Intruder dizinine geldigimiz zaman, karsimizda web form uzerinden yaptigimiz istek gozukecektir. '$' arasinda bulunan kisimlar degiskenlerdir ve Burp, bunlari otomatik olarak isaretlemistir. Biz sadece kullanici adi ve sifre denemesi yapacagimiz icin 'Clear $' butonuna tikliyoruz. 'Username' ve 'Password' kisimlarinda bulunan stringleri, bu ornegimizde 'deneme' ve 'example' stringlerini mouse ile isaretleyerek 'Add $' butonuna tikliyoruz. 'Attack Type' kismini 'Cluster Bomb' yapip birakiyoruz.
    [​IMG]
    7) Artik sozluk atagimiza baslayabiliriz. 'Payloads' butonuna tikliyoruz ve 'Payload Set' kismini 1 olarak ayarliyoruz. 1 olarak ayarladigimiz zaman ilk tanimladigimiz degisken, yani 'Username' icin string listemizi belirliyoruz. Daha sonra 'Payload Options' kisminda bulunan 'Enter a new item' textbox bolumune kullanici adlarini sirasiyla yazarak 'Add' butonuna tikliyoruz. Dilersek 'Load, Paste' kisimlarindan hazirda bulunan listeleri programin kullanacagi listeye ekleyebiliriz. Daha sonra 'Payload Set' kismini 2 yaparak 2 degiskenimiz olan sifre kismi icin ayni adimlari uyguluyoruz. Sirada atagin basarili olup olmadigini Burp'un anlamasi icin, giris yapildigi zaman cikacak stringi programa tanitiyoruz. DVWA uzerinden giris yapildigi zaman ortaya 'Welcome to password protected area admin' stringi cikar. Intruder uzerinden 'Options > Grep Match' kismina gelerek varsayilanlari 'Clear' butonuna tiklayarak temizliyoruz ve giris basarili oldugunda ortaya cikan stringi textbox'a yapistirip 'Add' butonuna tikliyoruz. 'Intruder > Start Attack' yolunu izleyerek sozluk atagimizi baslatiyoruz.
    [​IMG]
    Sonuc: Sozluk atagimizin sonucunda, checkbox'un isaretlendigi kisimda web sitesi uzerindeki forma yapilan atagin basarili oldugu degiskenler bulunur. Bu degiskenleri giris kismina yazdigimizda da girisin basarili oldugu sonucuna ulasacagiz. Yani atagimiz basariyla sonuclanmistir. Bu atagi gercek bir sistemde denemis olsaydik, sistemde bulunan yonetici izinlerine erisebilirdik. Sistemde yaptigimiz pentest islemleri basariyla sonuclanmis olurdu. Bu dersten Brute Force atagindan korunmak icin zor ve tahmin edilmesi guc sifreler secmemizi, web formlara Brute Force atagini engelleyici faktorler koymamiz gerektigini ve Brute Force ataginin basarili olmasi durumunda hayati onem arz ettigi sonuclarina ulastik.
    [​IMG]
    [​IMG]
     
  2. MalcolmX

    MalcolmX Well-Known Member

    Katılım:
    31 Ağustos 2015
    Mesaj:
    80
    Beğeniler:
    0
    Selam Aleyküm;

    Güzel Paylaşım Yapmışsın.Ellerine Sağlık.Yanlız Alıntı Olduğunu Belirt.İyi Çalışmalar...

    Selam ve Dua İle
    Selam Aleyküm
    Fiemanillah
     
  3. tababa86

    tababa86 Albay

    Katılım:
    12 Mart 2016
    Mesaj:
    857
    Beğeniler:
    43
    Cinsiyet:
    Erkek
    Şehir:
    Kore
    Dvwa kurulumu yaptım.Hatta buradan paylaştım adımları...Bende böyle bir şey arıyordum.Kurmakla kalmayacam.Teşekkürler
     

Bu Sayfayı Paylaş

Share