Nuclei, ProjectDiscovery ekibi tarafından geliştirilen açık kaynak kodlu, güçlü bir güvenlik tarama aracıdır. Bu araç, güvenlik araştırmacılarının ve sistem yöneticilerinin sistemlerindeki potansiyel güvenlik açıklarını hızlı ve etkili bir şekilde tespit etmesine olanak sağlar.
Temel Özellikleri
1. YAML Tabanlı Şablonlar
– Kolay özelleştirilebilir tarama şablonları
– Geniş topluluk desteği ile hazır şablonlar
– Özel test senaryoları oluşturabilme
2. Çoklu Protokol Desteği
– HTTP/HTTPS uygulamaları
– DNS sistemleri
– TCP/UDP servisleri
– Network servisleri
– File sistemleri
3. Performans Avantajları
– Yüksek hızlı tarama kapasitesi
– Paralel işlem yapabilme
– Düşük sistem kaynağı kullanımı
Kullanım Alanları
Web Uygulamaları Güvenlik Testleri
– SQL Injection açıkları
– XSS (Cross-Site Scripting) tespiti
– CSRF (Cross-Site Request Forgery) kontrolleri
– Yetkilendirme sorunları
Altyapı Güvenlik Kontrolleri
– Sunucu güvenlik açıkları
– Servis versiyonu tespiti
– Yanlış yapılandırma kontrolü
– SSL/TLS zafiyetleri
API Güvenlik Testleri
– Endpoint güvenlik kontrolleri
– Authentication/Authorization testleri
– Rate limiting kontrolleri
– API versiyonu tespiti
Güvenli Kullanım İlkeleri
1. Yasal Gereklilikler
– Sadece izin verilen sistemlerde kullanın
– Test edilecek sistemler için yazılı izin alın
– Yasal düzenlemelere uygun hareket edin
2. Etik Kurallar
– Sistemlere zarar vermekten kaçının
– Bulduğunuz açıkları sorumlu şekilde raporlayın
– Gizlilik ilkelerine saygı gösterin
3. Test Ortamı Hazırlığı
– İzole test ortamları kullanın
– Yedekleme yapın
– Acil durum planı oluşturun
Nuclei, modern güvenlik testlerinde vazgeçilmez bir araç haline gelmiştir. Ancak bu güçlü aracın sadece yasal ve etik çerçevede kullanılması büyük önem taşır. Doğru kullanıldığında, sistem güvenliğini artırmada etkili bir yardımcıdır.
Bu makaleyi okuyan güvenlik araştırmacıları ve sistem yöneticileri, Nuclei’yi kendi sistemlerinde veya izin aldıkları sistemlerde test amaçlı kullanarak güvenlik seviyelerini artırabilirler.
Nuclei Kurulum Rehberi
Windows İçin Kurulum
- Go Programlama Dilinin Kurulumu:
- Go Programlama Dilinin Kurulumu:
– https://golang.org/dl/ adresinden Go’yu indirin
– İndirilen kurulum dosyasını çalıştırın
– Kurulum tamamlandıktan sonra sistem değişkenlerinin eklendiğinden emin olun
2. Git Kurulumu:
– https://git-scm.com/downloads adresinden Git’i indirin
– İndirilen kurulum dosyasını çalıştırın
3. Nuclei Kurulumu:
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
Linux İçin Kurulum
- Go Kurulumu:
- Go Kurulumu:
sudo apt-get install golang
2. Nuclei Kurulumu:
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
3. PATH Ayarı:
echo ‘export PATH=$PATH:~/go/bin’ >> ~/.bashrc
source ~/.bashrc
## Temel Kullanım
- Nuclei’nin kurulu olduğunu kontrol etme:
- Nuclei’nin kurulu olduğunu kontrol etme:
nuclei -version
2. Şablonları güncelleme:
nuclei -update-templates
3. Basit bir tarama örneği:
nuclei -u https://example.com -t nuclei-templates/
## Önemli Komutlar
- Belirli bir hedefi tarama:
- Belirli bir hedefi tarama:
nuclei -u https://example.com
2. Birden fazla hedefi tarama:
nuclei -l hedefler.txt
3. Belirli şablonlarla tarama:
nuclei -u https://example.com -t ssl-tests/
4. Sonuçları kaydetme:
nuclei -u https://example.com -o sonuclar.txt
Kendi Blog sitemi taramasını yaptım sonuç ve öneriler;
Bu tarama sonuçlarını analiz edelim. Tespit edilen önemli bulgular ve güvenlik riskleri:
1. Sunucu Altyapısı:
– Web Sunucu: Nginx (WAF koruması mevcut)
– MySQL Sürümü: 8.0.40 (Port 3306 açık)
– Mail Sunucusu: Exim 4.98 (Port 587)
2. Açık Portlar:
– 3306: MySQL
– 587: SMTP
– 110: POP3
– 111: RPC
– 443: HTTPS
3. SSL/TLS:
– TLS 1.2 ve 1.3 destekleniyor
– SSL Sertifikası: Let’s Encrypt
– Wildcard sertifika kullanılıyor (*.ondernet.net)
4. Eksik Güvenlik Başlıkları:
– Content-Security-Policy
– X-Frame-Options
– Strict-Transport-Security (HSTS)
– X-Content-Type-Options
– Referrer-Policy
– Permissions-Policy
5. Mail Güvenliği:
– SPF kaydı mevcut
– Office 365 mail servisi kullanılıyor
– MX kayıtları doğru yapılandırılmış
6. Kullanılan Teknolojiler:
– PHP
– Bootstrap
– Font Awesome
– Nginx
Önerilen Güvenlik İyileştirmeleri:
1. HTTP Güvenlik Başlıkları:
nginx
add_header Content-Security-Policy “default-src ‘self’;”;
add_header X-Frame-Options “SAMEORIGIN”;
add_header Strict-Transport-Security “max-age=31536000”;
add_header X-Content-Type-Options “nosniff”;
add_header Referrer-Policy “strict-origin-when-cross-origin”;
`
2. MySQL Güvenliği:
– Port 3306’yı dış erişime kapatın veya IP kısıtlaması getirin
– Güçlü şifre politikaları uygulayın
3. Mail Servisleri:
– POP3 yerine IMAP kullanımına geçin
– SMTP için TLS zorunlu hale getirin
4. Nginx WAF Kuralları:
– ModSecurity kurallarını güncelleyin
– Rate limiting uygulayın
– DDoS koruması ekleyin
5. SSL/TLS İyileştirmeleri:
– HSTS politikası ekleyin
– Eski TLS versiyonlarını devre dışı bırakın
– Güçlü şifreleme algoritmalarını zorunlu kılın
Bu bulgular sistemin genel güvenlik durumunu gösteriyor. Özellikle eksik HTTP güvenlik başlıkları ve açık portlar öncelikli olarak ele alınmalıdır.
Güvenlik Notları:
1. Kullanım öncesi dikkat edilmesi gerekenler:
— Sadece izin verilen sistemlerde kullanın
— Test ortamında deneyin
— Gerekli yetkilere sahip olduğunuzdan emin olun
2. En iyi uygulamalar:
— Düzenli güncelleme yapın
— Şablonları kontrol edin
— Sonuçları düzenli yedekleyin
3. Sorun giderme:
— Hata mesajlarını kaydedin
— Güncel versiyonu kullanın
— Sistem gereksinimlerini kontrol edin
Bu kurulum rehberi ile Nuclei’yi sisteminize başarıyla kurabilir ve güvenlik testlerinizde kullanmaya başlayabilirsiniz. Herhangi bir sorunla karşılaşırsanız, resmi GitHub sayfasından destek alabilirsiniz.