Penetrasyon Testi: Metodoloji, Araçlar ve Etik Hackerliğin İncelikleri

Penetrasyon Testi: Metodoloji, Araçlar ve Etik Hackerliğin İncelikleri

Penetrasyon Testi Nedir?

Penetrasyon testi (sızma testi), bilgisayar sistemlerinin güvenliğini değerlendirmek için yetkilendirilmiş siber saldırı simülasyonudur. Otomatik zafiyet taramalarının aksine, sızma testi insan yaratıcılığı, yanal düşünme ve birden fazla düşük seviyeli bulguyu kritik bir istismar zincirine dönüştürme becerisini gerektirir.

Şöyle düşünün: bir zafiyet tarayıcısı, bir kapının kilitli olmadığını tespit eder. Bir sızma testi uzmanı ise o kapıyı açar, binanın içinde dolaşır, kasayı bulur ve şirketin taç mücevherlerinin erişilebilir olduğunu kanıtlar—ardından her şeyin nasıl düzeltileceğini açıklayan bir rapor yazar.

Penetrasyon Testi Türleri

TypeKnowledge GivenSimulatesBest For
Black BoxNo informationExternal attacker with no inside knowledgeRealistic attack simulation
Gray BoxPartial info (credentials, network maps)Compromised insider or partnerMost common, efficient
White BoxFull access (source code, architecture)Insider threat, thorough auditFinding deep logic flaws
ScopeTargetExamples
NetworkInfrastructure, servers, firewallsInternal/external network assessment
Web ApplicationWebsites, APIs, web servicesOWASP Top 10, business logic
MobileiOS/Android applicationsData storage, API communication
CloudAWS/Azure/GCP infrastructureIAM misconfig, storage exposure
Social EngineeringPeople and processesPhishing campaigns, physical access
Red TeamEntire organizationFull-scope, multi-vector attack simulation

Penetrasyon Testi Metodolojisi

Çoğu sızma testi uzmanı, PTES (Penetration Testing Execution Standard) veya OWASP Test Rehberi gibi çerçevelere dayanan yapılandırılmış bir metodoloji izler:

Penetration Testing Phases:

┌─────────────────────────────────────────────┐
│ Phase 1: Reconnaissance (Passive & Active)  │
│  ├─ OSINT: Company info, employee names     │
│  ├─ DNS enumeration, subdomain discovery    │
│  ├─ Technology fingerprinting               │
│  └─ Network scanning and service detection  │
├─────────────────────────────────────────────┤
│ Phase 2: Vulnerability Analysis             │
│  ├─ Automated scanning (Nessus, Nuclei)     │
│  ├─ Manual testing (business logic)         │
│  ├─ Source code review (if white box)       │
│  └─ Configuration analysis                  │
├─────────────────────────────────────────────┤
│ Phase 3: Exploitation                       │
│  ├─ Exploit known vulnerabilities           │
│  ├─ Chain multiple findings                 │
│  ├─ Bypass security controls                │
│  └─ Demonstrate business impact             │
├─────────────────────────────────────────────┤
│ Phase 4: Post-Exploitation                  │
│  ├─ Privilege escalation                    │
│  ├─ Lateral movement                        │
│  ├─ Data access and exfiltration proof      │
│  ├─ Persistence (if in scope)               │
│  └─ Pivot to other network segments         │
├─────────────────────────────────────────────┤
│ Phase 5: Reporting                          │
│  ├─ Executive summary                       │
│  ├─ Technical findings with evidence        │
│  ├─ Risk ratings (CVSS, business impact)    │
│  ├─ Remediation recommendations             │
│  └─ Retest verification                     │
└─────────────────────────────────────────────┘

Temel Sızma Testi Araçları

Keşif (Reconnaissance)

# Subdomain enumeration with Subfinder
subfinder -d target.com -o subdomains.txt

# Port scanning with Nmap
nmap -sC -sV -O -oA scan_results target.com
# -sC: default scripts  -sV: version detection
# -O: OS detection  -oA: output all formats

# Comprehensive web recon with httpx
cat subdomains.txt | httpx -sc -title -tech-detect -o live_hosts.txt

# Directory brute-forcing with Feroxbuster
feroxbuster -u https://target.com -w /usr/share/wordlists/dirb/common.txt

Web Uygulama Testi

# Burp Suite is the industry standard (GUI tool)
# But for CLI-based testing:

# SQLMap — automated SQL injection detection
sqlmap -u "https://target.com/search?q=test" --batch --dbs

# Nuclei — template-based vulnerability scanner
nuclei -u https://target.com -t cves/ -t vulnerabilities/ -severity critical,high

# ffuf — fast web fuzzer
ffuf -u https://target.com/FUZZ -w wordlist.txt -mc 200,301,302,403

İstismar ve Sonrası

# Metasploit Framework — exploitation platform
msfconsole
msf6 > search eternalblue
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set RHOSTS target_ip
msf6 > exploit

# Impacket — Windows protocol attack tools
# Pass-the-hash attack
impacket-psexec administrator@target_ip -hashes :ntlm_hash

# CrackMapExec — Active Directory lateral movement
crackmapexec smb 192.168.1.0/24 -u admin -p password --shares

# BloodHound — Active Directory attack path visualization
bloodhound-python -u user -p password -d domain.local -c all

Gerçek Dünya Sızma Testi Örneği: Web Uygulaması

Bir web uygulaması sızma testinin nasıl ilerlediğine dair basitleştirilmiş bir yürüyüş:

Target: https://app.example.com (e-commerce platform)
Scope: Web application + API endpoints
Type: Gray box (given test credentials)

Step 1: Reconnaissance
├─ Technology: Next.js frontend, Django REST API
├─ Subdomains: api.example.com, staging.example.com
├─ Staging has default credentials (admin:admin) → Finding #1
└─ API documentation exposed at /api/docs → Finding #2

Step 2: Vulnerability Analysis
├─ IDOR on /api/orders/{id} — can view any user's orders → Finding #3 (High)
├─ No rate limiting on /api/auth/login → Finding #4 (Medium)
├─ JWT token doesn't expire for 30 days → Finding #5 (Medium)
└─ Reflected XSS in search parameter → Finding #6 (Medium)

Step 3: Exploitation (chaining findings)
├─ Use IDOR to enumerate all orders (PII exposure)
├─ Find admin user's email from order data
├─ Brute-force admin login (no rate limiting)
├─ Access admin panel with admin credentials
├─ Admin panel allows file upload without validation
└─ Upload web shell → Remote Code Execution → Finding #7 (Critical)

Step 4: Post-Exploitation
├─ Read database credentials from environment variables
├─ Access production database (200K customer records)
├─ Demonstrate data access (screenshot, not exfiltrate)
└─ Document the full attack chain

Step 5: Report
├─ Critical: RCE via admin panel file upload + weak auth
├─ High: IDOR exposing all customer orders
├─ Medium: Missing rate limiting, long-lived JWT, XSS
├─ Low: Staging environment exposed, API docs public
└─ Recommendations for each finding with priority

CVSS Puanlama: Zafiyetler Nasıl Derecelendirilir?

Ortak Zafiyet Puanlama Sistemi (CVSS), bulguları 0.0 ile 10.0 arasında derecelendirir:

ScoreSeverityExample
9.0-10.0CriticalRemote Code Execution, SQL injection with data access
7.0-8.9HighIDOR with PII exposure, privilege escalation
4.0-6.9MediumXSS, CSRF, missing rate limiting
0.1-3.9LowInformation disclosure, verbose errors
0.0NoneInformational findings

Bug Bounty Programları

Bug bounty programları, herkesin zafiyet bulup ödül karşılığında raporlamasına olanak tanır:

PlatformNotable ProgramsTypical Rewards
HackerOneUS DoD, GitHub, Shopify$500-$100K+
BugcrowdTesla, Mastercard, Atlassian$500-$50K+
IntigritiEuropean focus, Nokia, ING€500-€50K+
Direct programsGoogle ($500-$250K+), Apple ($5K-$1M), Microsoft ($500-$250K)Varies

Sızma Testi Uzmanları İçin Sertifikalar

CertificationProviderFocusDifficulty
OSCPOffSecPractical exploitation, 24-hour examHard (industry gold standard)
OSWEOffSecWeb application exploitationHard
OSEPOffSecAdvanced evasion, Active DirectoryVery Hard
eJPTINEEntry-level pentestingEntry
PNPTTCM SecurityPractical, OSINT to reportIntermediate
CRTPPentester AcademyActive Directory attacksIntermediate
CEHEC-CouncilBroad security knowledgeEntry-Intermediate
GPENSANS/GIACNetwork penetration testingIntermediate

OSCP (Offensive Security Certified Professional) hâlâ en saygın uygulamalı sertifikadır. 24 saatlik pratik sınav, simüle edilmiş bir ağda birden fazla makineyi istismar etmeyi gerektirir.

Hukuki ve Etik Hususlar

Yetki almadan penetrasyon testi yapmak çoğu ülkede yasadışıdır. Herhangi bir angajmandan önce:

  1. Yazılı yetkilendirme: İmzalı kapsam belgesi (Angajman Kuralları)
  2. Kapsam sınırları: Hangi sistemlerin/IP'lerin tam olarak kapsam dahilinde olduğu
  3. Test pencereleri: Testin ne zaman yapılabileceği
  4. Acil durum iletişimi: Bir şey bozulursa kimin aranacağı
  5. Veri işleme: Test sırasında keşfedilen hassas verilerin nasıl ele alınacağı
  6. Hukuki korumalar: Test uzmanını koruyan sorumluluk maddeleri

Etik hackerlar şu ilkeyi izler: zafiyetleri bul, raporla, düzeltilmesine yardım et. Amaç her zaman sistemleri daha güvenli hale getirmektir, asla zarar vermek değil.

Kaynaklar: OWASP Testing Guide, PTES Standard, HackerOne Hacktivity