Nuclei ile Kendi Kendinize Pentest Yapın

Nuclei ile Kendi Kendinize Pentest Yapın

21 Ağustos 2025 Kapalı Yazar: emrecaglaryildiz

Nuclei, modern siber güvenlik dünyasında vazgeçilmez bir araç olarak, web uygulamaları ve sistemlerdeki güvenlik açıklarını otomatik olarak tespit etmek için kullanılan güçlü bir açık kaynak güvenlik tarama aracıdır.

Bu araç, özellikle güvenlik uzmanları ve pentester’lar tarafından web uygulamalarında SQL injection, XSS (Cross-Site Scripting), CSRF (Cross-Site Request Forgery) gibi yaygın güvenlik açıklarını hızlı ve etkili bir şekilde keşfetmek için kullanılır.

Nuclei, kullanıcıların ihtiyaçlarına göre özelleştirilebilir şemalar (templates) aracılığıyla geniş bir güvenlik açıkları yelpazesini tarama imkanı sunar ve aynı zamanda yüksek performanslı, çoklu istek işleme yeteneği ile büyük ölçekli taramaları da destekler.

Özellikle siber güvenlik testleri, uygulama güvenliği değerlendirmeleri ve sürekli güvenlik izleme süreçlerinde kullanılmak üzere tasarlanmıştır. Geliştiriciler ve güvenlik profesyonelleri, Nuclei ile sistemlerdeki zayıf noktaları belirleyebilir, potansiyel tehditleri erken tespit edebilir ve uygulama güvenliği açısından önemli veriler elde edebilirler.

Nuclei Kurulumu (macOS)

1. Homebrew ile Kurulum (Önerilen Yöntem)

# Homebrew yüklü değilse önce kurun:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Nuclei'yi kurun
brew install nuclei

# veya doğrudan indirip kurun:
brew tap projectdiscovery/nuclei
brew install nuclei

2. Manuel Kurulum (Go ile)

# Go yüklü değilse yükleyin:
brew install go

# Nuclei'yi indirin ve kurun
go install github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest

# PATH'e ekleyin (varsayılan olarak /Users/username/go/bin)
echo 'export PATH=$PATH:/Users/username/go/bin' >> ~/.zshrc
source ~/.zshrc

3. Direct Download (Tar.gz)

# macOS için uygun sürümü indirin
curl -L https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_2.9.1_darwin_amd64.tar.gz -o nuclei.tar.gz

# Çıkartın
tar -xzf nuclei.tar.gz

# Çalıştırılabilir dosyayı taşıyın
sudo mv nuclei /usr/local/bin/

# İzin verin
chmod +x /usr/local/bin/nuclei

Nuclei Temel Kullanım ve Örnekler

1. Basit Temel Tarama

# Hedef URL ile tarama
nuclei -u http://target.com

# Hedef IP ile tarama
nuclei -u http://192.168.1.100

# Hedef URL ve verbose mod
nuclei -u http://target.com -v

2. Filtreleme ve Seçimli Tarama

# Belirli bir kategoriyle tarama (dosya sızıntısı)
nuclei -u http://target.com -c 10 -tags file

# Belirli bir tarama şemasıyla (SQL injection)
nuclei -u http://target.com -t sql-injection

# Birden fazla şema ile tarama
nuclei -u http://target.com -t xss,sqli,csrf

# Özel tarama şeması ile (kendi şemalarınızla)
nuclei -u http://target.com -t /path/to/my/templates

3. Gelişmiş Kullanım Senaryoları

Hedef URL ile detaylı tarama:

# Hedef URL ve detaylı çıktı
nuclei -u http://target.com -v -o output.json -json

# Hedef URL ve HTML raporu
nuclei -u http://target.com -o report.html -H "User-Agent: Mozilla/5.0"

# Hedef URL ve log dosyası
nuclei -u http://target.com -o results.txt -l debug.log

# Hedef URL ve proxy ile tarama
nuclei -u http://target.com --proxy http://localhost:8080

# Hedef URL ve özel HTTP başlıkları
nuclei -u http://target.com -H "X-Forwarded-For: 127.0.0.1" -H "Referer: http://localhost"

4. Konfigürasyon ve Ayarlar

Yapılandırma dosyası (config.yaml):

# /Users/username/.nuclei-config.yaml
# Genel ayarlar
timeout: 30
retries: 2
rate-limit: 150
concurrent: 10

# Proxy ayarları
proxy-url: http://localhost:8080
proxy-auth: username:password

# Tarama seçenekleri
tags: [cve,exploit,http]
exclude-tags: [debug,development]

# Output ayarları
output-format: json
output-file: nuclei_output.json

# İstek ayarları
user-agent: "Nuclei - Automated Vulnerability Scanner"

5. Gelişmiş Tarama Senaryoları

1. URL Listesi ile tarama:

# Dosyadan URL listesi ile tarama
echo "http://target1.com" > targets.txt
echo "http://target2.com" >> targets.txt

nuclei -l targets.txt -o results.json -json

2. Hızlı tarama:

# Hızlı ve temel tarama (hızlı mod)
nuclei -u http://target.com -c 50 -timeout 30

# Hızlı tarama ve detaylı loglama
nuclei -u http://target.com -c 100 -timeout 30 -l debug.log

# Hızlı tarama ve HTML raporu
nuclei -u http://target.com -c 50 -o report.html -H "User-Agent: Mozilla/5.0"

3. Özel şemalar ile tarama:

# Kendi şemalarınızla tarama
nuclei -u http://target.com -t /Users/username/nuclei-templates

# Belirli şemalarla tarama
nuclei -u http://target.com -t /Users/username/nuclei-templates/xss.yaml

# Klasörle tarama (tüm şemaları tara)
nuclei -u http://target.com -t /Users/username/nuclei-templates/web

# Özel klasörle tarama
nuclei -u http://target.com -t /Users/username/custom-templates -c 20

6. Tarama Seçenekleri ve Parametreler

Temel parametreler:

# Genel kullanım
nuclei -u http://target.com [OPTIONS]

# Detaylı seçenekler:
nuclei -u http://target.com \
  -v \                    # verbose mod
  -o results.json \       # çıktı dosyası
  -json \                 # JSON formatında çıktı
  -c 100 \                # eşzamanlı istek sayısı
  -timeout 30 \           # zaman aşımı (saniye)
  -retries 2 \            # tekrar sayısı
  -rate-limit 150 \       # istek oranı
  -proxy http://localhost:8080 \  # proxy ayarı
  -H "User-Agent: Custom" \       # özel HTTP başlıkları
  -tags xss,sqli \        # belirli etiketlerle tarama
  -exclude-tags debug \   # hariç tutulacak etiketler
  -severity high,medium \ # belirli ciddiyette tarama

7. Gerçek Hayatta Kullanım Senaryoları

1. Güvenlik Tarama:

# Hedef web sitesi için güvenlik taraması
nuclei -u http://target.com -c 50 -timeout 30 -o security_report.json -json

# Çoklu hedef taraması
nuclei -l targets.txt -c 30 -timeout 25 -o multi_target_report.json -json

# Geliştirme ortamı için tarama
nuclei -u http://dev.target.com -c 20 -H "User-Agent: Dev-Scanner" -o dev_report.json

2. Otomasyon için komutlar:

#!/bin/bash
# Nuclei otomasyon scripti

TARGET="http://target.com"
REPORT_DIR="nuclei_reports_$(date +%Y%m%d_%H%M%S)"

mkdir -p $REPORT_DIR

# Temel tarama
nuclei -u $TARGET -o "$REPORT_DIR/basic_scan.json" -json

# Yüksek önemli tarama
nuclei -u $TARGET -c 100 -timeout 30 -severity high,medium -o "$REPORT_DIR/high_severity.json" -json

# Hızlı tarama
nuclei -u $TARGET -c 50 -timeout 20 -o "$REPORT_DIR/fast_scan.json" -json

echo "Tarama tamamlandı: $REPORT_DIR"

8. Hata Yönetimi ve İyileştirmeler

1. Hatalı taramalarda güvenlik:

# Zaman aşımı ile güvenli tarama
nuclei -u http://target.com -timeout 30 -retries 3

# Hız sınırlaması ile tarama
nuclei -u http://target.com -rate-limit 50 -timeout 30

# Güvenlik önlemleriyle tarama
nuclei -u http://target.com -H "User-Agent: Mozilla/5.0" --proxy http://localhost:8080

2. Loglama ve Takip:

# Detaylı loglama
nuclei -u http://target.com -l nuclei.log -v

# JSON formatında detaylı loglama
nuclei -u http://target.com -json -o results.json

# HTML rapor oluşturma
nuclei -u http://target.com -o report.html -H "User-Agent: Nuclei-Scanner"

9. Nuclei Şemalarını Yönetme

Şema indirme ve güncelleme:

# Nuclei şemalarını indirin (varsayılan konum)
nuclei -update-templates

# Özel şema dizini ile tarama
mkdir -p ~/.nuclei-templates
nuclei -u http://target.com -t ~/.nuclei-templates

# Şema klasörünü belirleyerek tarama
nuclei -u http://target.com -t /Users/username/nuclei-templates/web

10. Performans ve Optimizasyon

Hızlı tarama için ayarlar:

# En hızlı tarama ayarları
nuclei -u http://target.com \
  -c 100 \
  -timeout 20 \
  -rate-limit 200 \
  -retries 1 \
  -o fast_scan.json

# Dengeleme ayarları
nuclei -u http://target.com \
  -c 50 \
  -timeout 30 \
  -rate-limit 150 \
  -retries 2 \
  -severity high,medium \
  -o balanced_scan.json

Nuclei ile Güvenlik Tarama Adımları

1. Ön hazırlık:

# Nuclei versiyon kontrolü
nuclei -version

# Gerekli şemaları güncelleme
nuclei -update-templates

# Hedefin erişilebilirliğini kontrol etme
curl -I http://target.com

2. Temel tarama:

# Hedef URL ile temel tarama
nuclei -u http://target.com -v -o target_scan.json -json

# Hedef URL ile hızlı tarama
nuclei -u http://target.com -c 50 -timeout 30 -o fast_scan.json

3. Gelişmiş tarama:

# Yüksek önemli tarama
nuclei -u http://target.com -severity high,medium -o critical_vulns.json

# Özel etiketlerle tarama
nuclei -u http://target.com -tags xss,sqli,csrf -o targeted_scan.json

Bu detaylı yazımdaki bilgilerle macOS üzerinde Nuclei’yi kolayca kurabilir, yapılandırabilir ve kullanabilirsiniz. Nuclei güçlü bir güvenlik tarama aracıdır ve macOS üzerinde de etkili çalışır.

Güvenli günler dilerim.

Rate this post