Project Discovery Nuclei Kullanımı ve Template Oluşturma: Kapsamlı Rehber

🔍 Siber güvenlik dünyasında bir adım öne çıkmak ve zaman kazanmak istiyorsanız, Nuclei tam size göre bir araç! Ancak, bu güçlü aracı etkili bir şekilde kullanmak için kapsamlı bir rehbere ihtiyacınız olabilir. İşte tam da bu noktada devreye giriyoruz!

 

💡 Nuclei’nin temellerinden başlayarak, özel template’ler oluşturmaya ve ileri düzey tekniklere kadar uzanan bu rehber, sizi adım adım Nuclei kullanımında uzmanlaştıracak. Sadece kullanmayı öğrenmekle kalmayacak, aynı zamanda Nuclei ekosistemini nasıl genişletebileceğinizi de keşfedeceksiniz.

 

Bu blog yazımızda, Nuclei’nin temellerini inceleyerek başlayacağız. Ardından, adım adım kullanım kılavuzu ile devam edip, template’ler hakkında derinlemesine bilgi vereceğiz. Özel template oluşturma, ileri düzey teknikler ve en iyi kullanım örnekleriyle bilgilerinizi pekiştirecek, son olarak da Nuclei ekosisteminin nasıl genişletilebileceğini ele alacağız. Hazırsanız, Nuclei dünyasına heyecan verici bir yolculuğa çıkalım! 🚀

Nuclei'nin Temelleri

A. Nuclei nedir ve neden önemlidir?

Nuclei, güvenlik uzmanları ve etik hackerlar için geliştirilmiş güçlü bir açık kaynak güvenlik tarama aracıdır. Bu araç, web uygulamaları, API’ler ve ağ sistemlerindeki güvenlik açıklarını hızlı ve etkili bir şekilde tespit etmek için kullanılır. Nuclei’nin önemi, özelleştirilebilir template’leri sayesinde geniş bir yelpazede güvenlik testleri yapabilmesinden kaynaklanır.

B. Nuclei kurulumu ve temel konfigürasyonu

Nuclei’yi kurmak oldukça basittir. İşte adım adım kurulum süreci:

  1. Go programlama dilini yükleyin

  2. Terminal veya komut satırında şu komutu çalıştırın: go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest

  3. Nuclei’yi PATH’e ekleyin

Temel konfigürasyon için nuclei-config.yaml dosyasını düzenleyebilirsiniz. Bu dosyada çıktı formatı, hız limitleri ve proxy ayarları gibi seçenekleri özelleştirebilirsiniz.

C. Nuclei’nin avantajları ve kullanım alanları

Avantajlar

Kullanım Alanları

Hızlı tarama

Web uygulamaları

Özelleştirilebilir template’ler

API güvenlik testleri

Düşük yanlış pozitif oranı

Ağ sistemleri taraması

Geniş topluluk desteği

IoT cihaz güvenliği

Nuclei, bu avantajları sayesinde güvenlik uzmanlarının işlerini daha verimli hale getirmektedir.

D. Nuclei’nin güvenlik testlerindeki rolü

Nuclei, güvenlik testlerinde kritik bir rol oynamaktadır. Özellikle:

  • Otomatik güvenlik taramaları

  • Özel güvenlik açığı tespiti

  • Sürekli entegrasyon/sürekli dağıtım (CI/CD) pipeline’larında güvenlik kontrolü

  • Büyük ölçekli altyapılarda hızlı güvenlik değerlendirmesi

Bu özellikler, Nuclei’yi modern güvenlik testlerinin vazgeçilmez bir parçası haline getirmektedir. Şimdi, Nuclei’nin nasıl kullanıldığını daha detaylı bir şekilde inceleyeceğiz.

Nuclei Kullanımının Adım Adım İncelenmesi

Komut Satırı Arayüzünün Tanıtılması

Nuclei’nin güçlü komut satırı arayüzü, kullanıcılara tarama işlemlerini hızlı ve etkili bir şekilde gerçekleştirme imkanı sunar. İşte Nuclei’nin temel komut satırı kullanımı:

nuclei -target <hedef> -templates <şablon_dosyası>

Bu basit komut, belirtilen hedefe karşı seçilen şablonları çalıştırır.

Tarama Seçeneklerinin Açıklanması

Nuclei, çeşitli tarama seçenekleri sunar:

Seçenek

Açıklama

-c

Eşzamanlı istek sayısını belirler

-rate-limit

Saniyedeki istek sayısını sınırlar

-timeout

İstek zaman aşımı süresini ayarlar

-retries

Başarısız isteklerin tekrar deneme sayısını belirler

Hedef Belirleme ve Tarama Başlatma

Hedef belirleme, Nuclei’nin en önemli adımlarından biridir. Hedefler şu şekillerde belirlenebilir:

  1. Tek bir URL: -target https://example.com

  2. Birden fazla URL: -list hedefler.txt

  3. CIDR aralığı: -target 192.168.0.0/24

Tarama başlatmak için:

nuclei -target https://example.com -templates cves/ -severity high,critical

Bu komut, yüksek ve kritik önem düzeyindeki CVE şablonlarını kullanarak belirtilen hedefe karşı tarama yapar.

İleri Düzey Nuclei Kullanım Teknikleri

İleri düzey kullanıcılar için Nuclei, daha karmaşık tarama senaryoları sunar:

  • Özel HTTP başlıkları ekleme: -H "User-Agent: Custom-Agent"

  • Proxy kullanımı: -proxy http://127.0.0.1:8080

  • Çıktı filtreleme: -filter-severity medium,high

Sonuçların Yorumlanması ve Raporlama

Nuclei, tarama sonuçlarını çeşitli formatlarda sunabilir:

  • JSON formatında çıktı: -json-output sonuclar.json

  • HTML raporu oluşturma: -report-html rapor.html

Sonuçları yorumlarken, önem derecesi, etki alanı ve güvenlik açığının türüne dikkat edilmelidir.

 

Nuclei’nin bu kapsamlı özellikleri, güvenlik uzmanlarına hedeflerini etkili bir şekilde tarama ve analiz etme imkanı sağlar. Bir sonraki bölümde, Nuclei şablonlarının derinlemesine incelemesine geçeceğiz.

Nuclei Template'leri Hakkında Derinlemesine Bilgi

Template seçimi ve optimizasyonu

Nuclei template’lerini etkili bir şekilde kullanmak için doğru seçim ve optimizasyon kritik öneme sahiptir. Template seçerken, hedef sistemin özelliklerini ve tarama amacınızı göz önünde bulundurmalısınız. Optimizasyon için ise, gereksiz kontrolleri kaldırarak ve paralel çalışma sayısını artırarak tarama süresini kısaltabilirsiniz.

Mevcut template’lerin keşfi ve kullanımı

Nuclei’nin geniş template kütüphanesi, çeşitli güvenlik açıklarını tespit etmek için hazır çözümler sunar. Bu template’leri keşfetmek için Nuclei’nin resmi GitHub deposunu inceleyebilir veya -update-templates parametresini kullanarak en güncel template’leri indirebilirsiniz.

Farklı template türlerinin incelenmesi

Nuclei, çeşitli tarama senaryolarına uygun farklı template türleri sunar:

Template Türü

Açıklama

Kullanım Alanı

HTTP

Web uygulamaları için

API, web servisleri

DNS

Alan adı sorguları

Subdomain keşfi

Network

Ağ protokolleri

Port taraması

File

Dosya sistemi

Yerel güvenlik

Template yapısının anlaşılması

Nuclei template’leri YAML formatında yazılır ve belirli bir yapıya sahiptir:

  • info: Template hakkında genel bilgiler

  • requests: Yapılacak isteklerin detayları

  • matchers: Sonuçların nasıl değerlendirileceği

Template yapısını anlamak, özelleştirme ve hata ayıklama süreçlerinde büyük avantaj sağlar.

 

Nuclei template’lerini etkili bir şekilde kullanmak, güvenlik testlerinizin verimliliğini artıracak ve daha kapsamlı sonuçlar elde etmenizi sağlayacaktır. Bir sonraki bölümde, kendi özel template’lerinizi nasıl oluşturabileceğinizi öğreneceksiniz.

Özel Nuclei Template'leri Oluşturma

Nuclei’nin güçlü yanlarından biri, özel template’ler oluşturabilme yeteneğidir. Bu bölümde, kendi template’lerinizi nasıl oluşturacağınızı adım adım öğreneceksiniz.

A. Değişkenler ve dinamik içerik ekleme

Template’lerinizi daha esnek ve yeniden kullanılabilir hale getirmek için değişkenler kullanabilirsiniz. Örneğin:

variables:
  hostname: "{{Hostname}}"
  port: "{{Port}}"

requests:
  - method: GET
    path: 
      - "{{hostname}}:{{port}}/api/users"

Bu örnekte, hostname ve port değişkenleri, template’in farklı hedeflerde kullanılabilmesini sağlar.

B. Template’leri test etme ve hata ayıklama

Template’lerinizi oluşturduktan sonra test etmek çok önemlidir. Nuclei’nin -validate bayrağını kullanarak template’inizi doğrulayabilirsiniz:

nuclei -t your-template.yaml -validate

Hata ayıklama için -debug bayrağını kullanabilirsiniz:

nuclei -t your-template.yaml -debug

C. Koşullu ifadeler ve mantıksal operatörler kullanma

Koşullu ifadeler, template’lerinizi daha akıllı hale getirir. Örneğin:

matchers-condition: and
matchers:
  - type: status
    status:
      - 200
  - type: word
    words:
      - "success"
    condition: and

Bu örnek, hem durum kodu 200 olduğunda hem de yanıtta “success” kelimesi geçtiğinde eşleşme sağlar.

D. YAML sözdizimi ve yapısı

Bölüm

Açıklama

id

Template’in benzersiz tanımlayıcısı

info

Template hakkında meta bilgiler

requests

İsteklerin tanımlandığı bölüm

matchers

Eşleşme kriterlerinin belirlendiği bölüm

E. Template yazmanın temel prensipleri

  1. Açık ve anlaşılır olun: Template’inizi başkaları da kullanabilir.

  2. Yeniden kullanılabilirlik: Mümkün olduğunca genel ve esnek yazın.

  3. Performansı düşünün: Gereksiz isteklerden kaçının.

  4. Güvenlik: Hedef sisteme zarar vermeyecek şekilde tasarlayın.

  5. Belgelendirme: Template’inizin nasıl çalıştığını açıklayan yorumlar ekleyin.

Bu temel prensipleri takip ederek, etkili ve güvenilir Nuclei template’leri oluşturabilirsiniz. Bir sonraki bölümde, daha ileri düzey template tekniklerini inceleyeceğiz.

İleri Düzey Template Teknikleri

Güvenlik açıklarını özelleştirme ve genişletme

Nuclei template’lerini daha etkili hale getirmek için güvenlik açıklarını özelleştirmek ve genişletmek önemlidir. Bu süreçte, mevcut açıklıkları analiz ederek ve yeni saldırı vektörlerini keşfederek template’lerinizi geliştirebilirsiniz. Örneğin, bir SQL enjeksiyon açığını tespit eden bir template’i, farklı veritabanı türlerine özgü payload’ları içerecek şekilde genişletebilirsiniz.

Performans optimizasyonu için ipuçları

Nuclei template’lerinin performansını artırmak, tarama sürecini hızlandırır ve kaynakları daha verimli kullanmanızı sağlar. İşte bazı optimizasyon ipuçları:

  • Gereksiz istekleri azaltın

  • Koşullu mantık kullanarak gereksiz kontrolleri atlayın

  • Paralel işleme özelliklerinden yararlanın

  • Önbelleğe alma mekanizmalarını kullanın

Otomasyon ve entegrasyon için makrolar kullanma

Makrolar, template’lerinizi daha dinamik ve esnek hale getirmenize olanak tanır. Nuclei’nin sunduğu makro özelliklerini kullanarak, template’lerinizi otomatikleştirebilir ve diğer güvenlik araçlarıyla entegre edebilirsiniz. Örneğin:

| Makro Türü | Örnek Kullanım | Açıklama |
|------------|----------------|----------|
| Değişkenler | `{{baseURL}}` | Hedef URL'yi dinamik olarak ayarlar |
| Fonksiyonlar | `{{base64_encode()}}` | Veriyi base64 formatına kodlar |
| Koşullar | `{{if condition}}...{{end}}` | Koşullu mantık uygular |

Çoklu adımlı template’ler oluşturma

Karmaşık güvenlik açıklarını tespit etmek için çoklu adımlı template’ler oluşturabilirsiniz. Bu yaklaşım, bir dizi işlemi sırayla gerçekleştirmenize ve her adımın sonucuna göre sonraki adımları belirlemenize olanak tanır. Çoklu adımlı template’ler şunları içerebilir:

  1. Ön kontroller ve keşif

  2. Açık tespiti ve doğrulama

  3. Exploit denemesi

  4. Sonuç raporlama ve temizleme

Bu ileri düzey teknikler, Nuclei template’lerinizin etkinliğini ve verimliliğini artırarak, daha kapsamlı ve güvenilir güvenlik taramaları gerçekleştirmenize yardımcı olacaktır. Şimdi, bu teknikleri uygulamaya koyarak Nuclei ve template’lerin en iyi kullanım örneklerini inceleyeceğiz.

Nuclei ve Template'lerin En İyi Kullanım Örnekleri

Nuclei ve özel templateler, güvenlik testlerinde ve değerlendirmelerinde güçlü araçlardır. İşte bu araçların en etkili kullanım alanları:

Sürekli entegrasyon ve dağıtım (CI/CD) pipeline’larına entegrasyon

Nuclei, CI/CD süreçlerine sorunsuz bir şekilde entegre edilebilir. Bu entegrasyon, her kod değişikliğinde veya dağıtımda otomatik güvenlik taramaları yapılmasını sağlar.

  • CI/CD pipeline’ına Nuclei ekleme adımları:

    1. Nuclei’yi pipeline ortamına yükleme

    2. Özel templateler ve tarama parametreleri tanımlama

    3. Tarama sonuçlarını raporlama ve analiz etme

API güvenlik değerlendirmeleri

Nuclei, API’ların güvenliğini test etmek için mükemmel bir araçtır. Özel templateler kullanarak, API’ların zayıf noktalarını hızlı ve etkili bir şekilde tespit edebilirsiniz.

API Güvenlik Testi

Nuclei Template Örneği

Kimlik doğrulama

auth-bypass.yaml

Yetkilendirme

api-access-control.yaml

Veri doğrulama

input-validation.yaml

Altyapı ve ağ taramaları

Nuclei, geniş ağ altyapılarını taramak için kullanılabilir. Özel templateler oluşturarak, belirli sistemleri veya hizmetleri hedefleyebilirsiniz.

  • Altyapı tarama örnekleri:

    • Açık portların tespiti

    • Zayıf şifreleme protokollerinin belirlenmesi

    • Güncel olmayan yazılımların tespit edilmesi

Web uygulaması güvenlik testleri

Nuclei, web uygulamalarındaki güvenlik açıklarını tespit etmek için ideal bir araçtır. OWASP Top 10 gibi yaygın güvenlik risklerini hedefleyen özel templateler oluşturabilirsiniz.

 

Web uygulaması güvenlik testi senaryoları:

  1. SQL Injection

  2. Cross-Site Scripting (XSS)

  3. Broken Authentication

  4. Insecure Direct Object References (IDOR)

Bu kullanım örnekleri, Nuclei ve özel templatelerinin güvenlik testlerinde ne kadar çok yönlü ve etkili olabileceğini göstermektedir. Bir sonraki bölümde, Nuclei ekosisteminin nasıl genişletilebileceğini ve daha ileri düzey kullanım senaryolarını inceleyeceğiz.

Nuclei Ekosisteminin Genişletilmesi

Katkıda bulunma ve açık kaynak topluluğuna katılma

Nuclei’nin açık kaynak yapısı, güvenlik topluluğunun aktif katılımını teşvik eder. GitHub üzerinden projeye katkıda bulunabilir, hata raporları gönderebilir veya yeni özellikler önerebilirsiniz. Açık kaynak topluluğuna katılmak, sadece Nuclei’yi geliştirmekle kalmaz, aynı zamanda kendi becerilerinizi de geliştirir.

Nuclei ile ilgili güncel gelişmeler ve yol haritası

Nuclei sürekli olarak gelişmekte ve yeni özellikler eklenmektedir. Projenin resmi GitHub sayfasını ve blog’unu takip ederek güncel kalmak önemlidir. İşte Nuclei’nin yakın gelecekteki bazı hedefleri:

  • Daha hızlı tarama performansı

  • Gelişmiş raporlama özellikleri

  • Yeni protokol destekleri

Eklentiler ve üçüncü taraf entegrasyonları

Nuclei’nin esnekliği, çeşitli eklentiler ve entegrasyonlar aracılığıyla genişletilebilmesini sağlar. Bazı popüler eklentiler ve entegrasyonlar şunlardır:

Eklenti/Entegrasyon

Açıklama

Nuclei-Templates

Hazır template koleksiyonu

Interactsh

OAST için etkileşimli sunucu

Subfinder

Alt alan keşfi entegrasyonu

Topluluk katkıları ve kaynakları

Nuclei topluluğu, çeşitli kaynaklar ve katkılarla ekosistemi zenginleştirir:

  • Custom template koleksiyonları

  • Eğitim videoları ve blog yazıları

  • Nuclei kullanımına dair ipuçları ve en iyi uygulamalar

Bu topluluk katkıları, Nuclei’nin sürekli gelişen ve güçlenen bir ekosistem olmasını sağlar. Siz de bu ekosisteme katılarak hem öğrenebilir hem de katkıda bulunabilirsiniz.

Nuclei, güvenlik testleri ve zafiyet taramaları için güçlü bir araç olarak öne çıkıyor. Bu rehberde, Nuclei’nin temellerinden başlayarak ileri düzey tekniklere kadar geniş bir yelpazede bilgi edindik. Özel template’ler oluşturma ve bunları etkili bir şekilde kullanma konusunda pratik öneriler paylaştık.

 

Güvenlik profesyonelleri ve etik hacker’lar için Nuclei, vazgeçilmez bir araç haline gelmiştir. Sürekli gelişen siber tehdit ortamında, Nuclei gibi esnek ve güçlü araçları kullanmak ve kendi ihtiyaçlarınıza göre özelleştirmek kritik öneme sahiptir. Nuclei’yi keşfetmeye ve kendi güvenlik stratejilerinizde uygulamaya başlayarak, siber güvenlik yeteneklerinizi bir üst seviyeye taşıyabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir