De Nessus Attack Scripting Language, doorgaans kort weergegeven als NASL, is een formele taal die door het softwarepakket Nessus wordt gebruikt. Met Nessus kan de beveiliging van computers en netwerken worden gecontroleerd, en in deze scripttaal kunnen specifieke aanvallen worden gedefinieerd, gebaseerd op bekende kwetsbaarheden.

Er bestaan tienduizenden plug-ins voor Nessus die in NASL zijn geschreven. De bestanden die in de taal zijn geschreven hebben de extensie .nasl. Voor het ontwikkelen van een zero-day attack, een computeraanval die probeert misbruik te maken van zwakke delen in software die nog onbekend zijn voor anderen of de software-ontwikkelaar, kan men zelf een dergelijke plug-in in NASL schrijven.

Onder Windows kan een plug-in los worden uitgevoerd met het commando nasl.exe, bijvoorbeeld zo:

nasl.exe -t 127.0.0.1 "C:\temp\mijnzeroday.nasl"

Onder Linux kan dit gedaan worden met het nasl commando, bijvoorbeeld zo:

nasl -t 127.0.0.1 /tmp/mijnzeroday.nasl

Als de plug-in, in het voorbeeld mijnzeroday.nasl, in de map geplaatst wordt waar de andere Nessus plug-ins zich bevinden, kan hij ook worden meegenomen bij standaard scans van Nessus, zoals vanuit de webinterface.

Veel van de specificaties van de formele taal komen overeen met die van andere scripttalen. Zo kent NASL control flow zoals de for loop, de if en if-else, en wordt commentaar voorafgegaan door een hekje.

Ook OpenVAS, oorspronkelijk een aftakking van Nessus, ondersteunt NASL.

Bronnen
Uitleg over NASL

Informatiebeveiliging
Programmeertaal