Blog

Web Uygulamalarında NMAP Kullanımı

Nmap, bilgisayar ağları uzmanı Gordon Lyon tarafından geliştirilmiş bir güvenlik tarayıcısıdır. Taranan ağın haritasını çıkarabilir ve ağ makinalarında çalışan servislerin durumlarını, işletim sistemlerini, portların durumlarını gözlemleyebilir. Nmap’in NSE işlevleri, onu sıradan bir port tarayıcısının çok ötesine ölçeklendirerek son derece güçlü, çok amaçlı bir araç haline getiriyor. Bu çok bölümlü Nmap serisinde, web uygulamasındaki güvenlik duvarlarını, web sunucusunun hata sayfalarını, web uygulamasında güvenlik açığı agresif bir şekilde keşfetmek gibi özelliklerinden bahsedilecektir.

Kullandığınız işletim sistemine göre NMAP aracını indirin veyahut güncelleyin.

sudo apt update && sudo apt install -y nmap

Nmap yardım argümanı ile başarıyla indirdiğinizi kontrol edebilirsiniz.

nmap -help

Web Uygulamasının Güvenlik Duvarını (WAF) Tespit Etme

WAF, HTTP/HTTPS iletişimleri için web trafiğine kurallar uygulayan, kötü amaçlı trafiği filtreleyen, izleyebilen, engelleyebilen bir uygulama güvenlik duvarıdır. WAF, geleneksel bir güvenlik duvarının ötesinde ek güvenlik sağlayabilir çünkü uygulama ile genel internet arasında giden-gelen şifrelenmiş veya şifrelenmemiş trafiğe görünürlük sağlar. Belirli kurallar ile, bilinen kötü niyetli istek türlerini tespit edip alarm oluşturabilme, oturum ve uygulama etkinliğini analiz ederek ise giden trafiği engelleyebilir.

Açık Web Uygulaması Güvenlik Projesi’ne (OWASP) göre, WAF’lar belirli bir uygulamayı veya web uygulamasını korumak için konfigüre edilebilir. Ayrıca aşağıda bahsedildiği gibi farklı biçimlerde de karşımıza çıkabilir.

  1. Cihaz (Appliance)
  2. Sunucu eklentisi (Server Plugin)
  3. Filtre (Filter)
  4. Bir uygulamaya göre özelleştirilmiş (Customized to an application)

NMAP’in kendi default olarak oluşturduğu http-waf-detect betiği, web uygulaması güvenlik duvarının varlığını öğrenmemize yardımcı olmak için tasarlanmıştır. Hedef web sunucusunu birkaç istekle araştıracaktır. İlk olarak, normal bir web isteği gönderecek ve sunucudan gelen yanıtı kaydedecektir. Ardından, bir payload (hatalı biçimlendirilmiş URL) ile başka bir istek gönderecek ve yanıtları karşılaştıracaktır. WAF’ları tespit etmek için kullanılan bu yöntem web sunucusunun ve WAF ürününün türüne göre değişiklik gösterebilir.

nmap -p80,443,8080 --script http-waf-detect ip-adresi

http-waf-detect.aggro argümanı, Nmap’e sunucuların WAF’ını tetiklemek için tüm agresif saldırı vektörlerini denemesini söyler. Böylece IDS/IPS/WAF tetiklenecektir. Ayrıca, HTTP isteklerinin gövdesindeki değişiklikleri arayan ve tespit olasılığını daha da artıran http-waf-detect.detectBodyChanges bağımsız değişkeni de etkinleştirilmiştir.

nmap -p80,443,8080 --script http-waf-detect --script-args="http-waf-detect.aggro,http-waf-detect.detectBodyChanges" ip-adresi

Web Uygulamasının Durum (Status) Kodları Tespit Etme

Köprü Metni Aktarım Protokolü (HTTP) durum kodları, istekte bulunduğumuzda web sunucuları tarafından web tarayıcılarımıza verilir. Bu kodlar, web sunucularının hataları sunucu yöneticilerine, web geliştiricilerine ve son kullanıcılara iletmesinin bir yoludur.

HTTP durum kodları çeşitli kategorilere veya “sınıflara” ayrılmıştır. İlk rakam kategorileri tanımlar ve sonraki rakamlar farklı hata mesajı türlerine özgü alt kategorilerdir. Örneğin, 4xx kategorisi web sunucusu tarafından yerine getirilemeyen HTTP isteklerine özgü bir hata sınıfıdır. Mevcut olmayan bir web sayfasını görüntülemeye çalışmak gibi. Bu durum “404 Not Found” olarak tanımlanır ve muhtemelen internetteki en iyi bilinen durum kodlarından biridir.

Peki bu durum kodlarını nmap aracı ile nasıl tespit edebiliriz?

NMAP’in kendi default olarak oluşturduğu http-error betiği, 400’e eşit veya daha yüksek bir http koduyla yanıt veren tüm sayfaları (hata koduna göre sıralanmış olarak) döndürür. Bu seçeneği değiştirmek için http-errors.nse argümanı, ile belirlediğiniz duruma göre döndürür.

nmap -p80,443 --script http-errors xxxxx.com

Web Uygulamasında Stored XSS Tespit Etme

NMAP’in kendi default olarak oluşturduğu http-stored-xss betiği, web uygulaması üzerinde stored-xss açığını tespit etmek için tasarlanmıştır.

Potansiyel XSS güvenlik açığının bir göstergesi olan ‘>’ (büyüktür işareti) filtrelenip filtrelenmediğini kontrol ediyor.

nmap -p80,443 --script http-stored-xss.nse xxxxx.com

Daha fazla script denemek için Nmap aracının NSE Scripts kısmından detaylı bilgiye ulaşabilirsiniz.

Yazar: BBS Teknoloji Red Team Samet GÖZET

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir