NSE, varolan Nmap yeteneklerini geliştirmek ve Nmap dahilindeki formatlarla çıktı alabilmek için kullanılan bir yapıdır. NSE scriptlerinin içerdiği bazı örnekler aşağıdaki gibidir :
- Geliştirilmiş Ağ Keşfi : Whois lookup istekleri ve ek protokol sorguları gerçekleştirir. Ayrıca erişilebilir network paylaşımları gibi dinlenilen servislerden bilgi toplamak amacıyla istemci gibi davranır.
- Geliştirilmiş Versiyon Keşfi : Karmaşık versiyon araştırmaları yapar ve servislere brute force saldırısı düzenler. Zafiyet Keşfi : Özel zafiyetlerin kontrolü amacıyla araştırma yapar. Zararlı Yazılım Keşfi : Virus, worm ve trojan gibi zararlı yazılımların bulunması amacıyla araştırmalar yapar.
- Zafiyeti Kullanmak : Bulunan zafiyetleri kullanmak amacıyla scriptleri çalıştırır.
Varsayılan olarak, Version Scanning ( -sV ) versiyon kategorisinde bulunan bütün NSE scriptlerini çalıştırır. –A özelliği ise, -sC ( güvenli veizinsiz giriş kategorileri ) seçeneğini çalıştırır.
NSE scriptleri Lua script dilinde yazılır ve .nse uzantısına sahiptir ve Nmap ana dizinin altında “scripts” dizininde saklanırlar. Bununla birlikte “script.db” Nmap ana dizinin altında bulunur ve bütün scriptleri kategorileriyle ( Güvenli, Zorla Giriş, Zararlı Yazılım,Arka Kapı, Versiyon, Keşif, Zafiyet ) saklar. NSE, scripti çalıştırmadan önce hedefteki makinanın, Nmap çıktılarına dayanarak, gerekli kriterleri karşılayıp karşılamadığını araştırır. Bu araştırmadan sonra scriptin çalışmasına karar verir.
NSE kullanmanın en çabuk yolu aşağıdaki gibidir :
nmap -sC 192.168.1.0/24
Yukarıdaki seçenek vasıtasıyla NSE bütün Güvenli ve Zorla Giriş scriptlerinin çalıştıracaktır. Eğer daha özel bir scriptin çalıştırılması istenirse – – script seçeneği kullanılarak istenilen bir kategoriye ait scriptler çalıştırılabilir :
nmap –script=vulnerability 192.168.1.34
Sadece tek bir script çalıştırılmak istenirse aşağıdaki seçenek kullanılmalıdır :
nmap –script=promiscuous.nse 192.168.1.0/24
Belirli bir dizinin altındaki scriptleri çalıştırmak istenirse aşağıdaki seçenek kullanılmalıdır :
nmap –script=/my-scripts 192.168.1.0/24
Bütün scriptlerin çalışması istenirse aşağıdaki seçenek kullanılmalıdır :
nmap –script=all 192.168.1.55
NSE Seçenekleri
- –script-args= : Varolan script değerlerinin yerine belirlenen yeni değerler atanır.
- –script-trace : Scripte ait bütün iç ve dış iletişimin çıktısını gösterir.
- –script-updatedb : Scriptlerin bulunduğu veritabanını günceller.