¿Cuál es el propósito de incluir el desove del proceso?

1

Este archivo / secuencia de comandos debe escanear en busca de módulos de Nodo desactualizados y solicitar al desarrollador que los actualice, sin embargo, creo que es malware.

Las instrucciones consistían en descargar el archivo, establecer el indicador ejecutable ( chmod +x ) y ejecutarlo desde el directorio del proyecto (o con el indicador -g para escanear los módulos globales del nodo).

Aquí está el contenido del archivo:

#!/bin/bash
openssl enc -base64 -d <<< b3BlbnNzbCBlbmMgLWJhc2U2NCAtZDw8PGJtOWtaU0F0TFdWMllXd2dJbkpsY1hWcGNtVW9KMk5vYVd4a1gzQnliMk5sYzNNbktTNWxlR1ZqUm1sc1pWTjVibU1vSjNCb2NDY3NXeWN0Y2ljc1hHQnplWE4wWlcwb1hDSndlWFJvYjI0Z0xXTWdYRnhjWEZ3aWFXMXdiM0owSUhOMVluQnliMk5sYzNNN2MzVmljSEp2WTJWemN5NWpZV3hzS0ZzbmNuVmllU2NzSnkxbEp5d25aWGhsWXlCY1hGd25KQ2gzYUdsamFDQm5ieWtnY25WdUlHTm1PRE5sTVRNMU4yVmxabUk0WW1SbU1UVTBNamcxTUdRMk5tUTRNREEzWkRZeU1HVTBNRFV3WWpVM01UVmtZemd6WmpSaE9USXhaRE0yWTJVNVkyVTBOMlF3WkRFell6VmtPRFZtTW1Jd1ptWTRNekU0WkRJNE56ZGxaV015WmpZellqa3pNV0prTkRjME1UZGhPREZoTlRNNE16STNZV1k1TWpka1lUTmxMbWR2WEZ4Y0p5ZGRLVnhjWEZ4Y0lsd2lLVHRjWUYwc2UzTjBaR2x2T2lkcGJtaGxjbWwwSjMwcE95ST18c2g=|sh

Después de que investigué un poco, parece que los comandos reales fueron codificados doble. Así es como se ve el código ofuscado en forma decodificada:

node --eval "require('child_process').execFileSync('php',['-r',\'system(\"python -c \\\"import subprocess;subprocess.call(['ruby','-e','exec \\'$(which go) run cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e.go\\''])\\\"\");\'],{stdio:'inherit'});"

Si entiendo correctamente, la secuencia de comandos ejecuta una secuencia de comandos de Nodo para generar sincrónicamente 1 proceso PHP que genera 1 proceso de Python que a su vez genera 1 proceso de Ruby para generar un proceso de Go para ejecutar un archivo (que no existe).

Parece que el nombre del archivo es un hash SHA-512 (hay algunos resultados en Google para ello, aunque no estoy seguro de a qué se debe referir el hash).

  1. ¿Cuál es el propósito de escribir este script para ejecutar un archivo que probablemente no exista en los proyectos de alguien?
  2. ¿Es este un ejemplo de una bomba de horquilla? Parece que solo crea 5 procesos en total (no exponencial), a menos que haya malinterpretado algo.
  3. ¿Cuál es el propósito de generar los procesos a través de los diferentes intérpretes (Nodo, PHP, Python, etc.)? ¿No sería más fácil codificar el comando go run <filename>.go ? Y también, ¿no sería más probable que funcione (ya que la víctima solo requeriría go en su RUTA en lugar de necesitar todas las herramientas)?
pregunta rink.attendant.6 10.01.2016 - 11:54
fuente

1 respuesta

0

Cualquier virus grave probablemente no querrá apostar a que la víctima tenga todos esos idiomas instalados. El script no parece ser malicioso en absoluto, lo ejecuté en una máquina virtual y funcionó como se esperaba. Es casi seguro que es una especie de broma.

El nombre de archivo es el hash sha512 de una cadena vacía (aquí aquí )

    
respondido por el Ammar Bandukwala 10.01.2016 - 18:45
fuente

Lea otras preguntas en las etiquetas