🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónJavaScript de escritorio leído
5 tareas · 40 min · Principiante
Un archivo que termina en .js no se abre en el navegador cuando se le da doble clic en Windows: lo lee un intérprete del sistema que le da acceso a archivos, carpetas y programas. En Imprenta Sibaté la pasarela de correo retuvo uno que se hacía pasar por una lista de precios. Lees su texto por bloques, separas lo que trae armado por partes y anotas qué dejaría en el equipo. Todo es lectura de texto copiado a la estación; nada se ejecuta.
Objetivo de la sala
Un archivo que termina en .js no se abre en el navegador cuando se le da doble clic en Windows: lo lee un intérprete del sistema que le da acceso a archivos, carpetas y programas. En Imprenta Sibaté la pasarela de correo retuvo uno que se hacía pasar por una lista de precios. Lees su texto por bloques, separas lo que trae armado por partes y anotas qué dejaría en el equipo. Todo es lectura de texto copiado a la estación; nada se ejecuta.En Windows, un archivo .js o .vbs con doble clic lo abre wscript.exe, el Windows Script Host. No es un navegador, así que el script no corre «dentro de una página» con las restricciones de un navegador: tiene a su alcance, mediante componentes como ActiveXObject, las carpetas, los archivos y la capacidad de lanzar programas del usuario que lo abrió.
Eso explica por qué los equipos que quieren reducir riesgo cambian la aplicación por defecto de esta extensión, de modo que un doble clic lo abra en un editor de texto y no lo ejecute. Para quien lee, importa saber con qué «idioma» está escrito el archivo: la sintaxis es JavaScript, pero las capacidades vienen del anfitrión.
Responde para continuar
Alguien le da doble clic a un archivo .js recibido por correo en un puesto con Windows. ¿Qué lo abre?
Ver pista de ayuda
Mira la hoja referencia-wsh.txt del caso: dice qué programa lo abre y por qué no es un navegador.
Una forma frecuente de que una dirección no salte a la vista es partirla en un arreglo de trozos y unirla con join(""). Es la misma idea de unir trozos con +: ninguna búsqueda del texto completo la encuentra en el archivo, pero el resultado es una dirección normal. Deshacerlo es concatenar los trozos en el orden del arreglo, sin añadir ni quitar nada.
En el script del caso SIB-IR-0217, una variable guarda esos trozos y la siguiente los une. Reconstruye la dirección y anota el nombre del servidor, que es el indicador de red.
Responde para continuar
Une los trozos y escribe el nombre del servidor (sin http ni ruta) que resulta.
Ver pista de ayuda
Lee el arreglo de las líneas 7 y 8 y concatena los trozos en orden. Quédate con el nombre, antes de la primera barra de la ruta.
%TEMP% es la carpeta temporal del usuario. Un script que crea una carpeta ahí deja un rastro en el disco: el nombre de la carpeta es un indicador que otro analista puede buscar en el resto de los equipos, y el contenido de esa carpeta, si se conserva, es evidencia.
Al leer, distingue entre la carpeta base del sistema, que es la misma en todos los equipos, y el nombre que el autor del script le añade, que es lo que identifica a este script.
Responde para continuar
Escribe el nombre de la carpeta que el script crea dentro de la carpeta temporal.
Ver pista de ayuda
Busca la línea que crea la carpeta con CreateFolder y mira cómo se arma su ruta en la línea de arriba.
El método Run de WScript.Shell lanza una orden. Su segundo parámetro es el estilo de ventana: un valor indica que la ventana del programa lanzado aparece normal, y otro, que se oculta. Pedir una ventana oculta no es dañino en sí mismo —muchas tareas de administración lo usan—, pero es un comportamiento que se anota, porque quita la señal visual que tendría el usuario.
Aquí lo importante es leer el valor correcto en la hoja de referencia y no suponer.
Responde para continuar
En la última línea, Run recibe el valor 0 como segundo parámetro. ¿Qué implica?
Ver pista de ayuda
Busca «Run(orden, estilo, esperar)» en referencia-wsh.txt y lee qué significa cada valor del estilo.
WScript.Sleep espera un número de milisegundos, no de segundos. Es un error común al leer: confundir la unidad y anotar miles de segundos donde son unos pocos. Para el informe se anota la cifra tal como está en el script y, entre paréntesis, su conversión.
Lee la línea de la espera inicial y anota el valor tal como aparece, sin convertirlo.
Responde para continuar
Escribe el número que recibe WScript.Sleep, tal como aparece en el script.
Ver pista de ayuda
Está en las primeras líneas, antes de crear la carpeta temporal.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.