Anatomía de un .txt virus / troyano muy creativo. ¿Como funciona?

4

Así que descargué un PDF que está protegido por contraseña. Dentro de la misma carpeta hay los siguientes archivos aparentemente inofensivos:

Comopuedesver,ambossonarchivos.txt,¿verdad?Bastanteinofensivo...Enrealidad,no:sitefijasbien,puedesverqueelarchivodecontraseñaPDFesenrealidadunenlacedeaccesodirecto,investigandodentrodeél,tieneelsiguientecomandoenelaccesodirecto:

C:\Windows\System32\cmd.execmd/cCredits.txt

Ok.Porlotanto,noesunarchivo.txtyejecutauncomandoparaelotroarchivo.txtaparentementeinofensivo...quetambiénresultaquenoesunarchivo.txt,porquesucontenidoesalgoasícomo:

Datos binarios. Entonces, cuando ejecutas esto, aparece un proceso llamado TaskMgr con un icono extraño. Soy programador y tengo curiosidad, ¿cuál es la anatomía de este ataque? ¿Qué tipo de datos se pueden ejecutar usando CMD de esta manera? ¿Qué lenguaje de programación hay en este archivo y cómo puedo descompilarlo para ver exactamente qué le está haciendo al sistema?

Debo admitir que este es bastante inteligente.

    
pregunta raphadko 02.09.2018 - 20:45
fuente

3 respuestas

3

Las otras respuestas son básicamente correctas, pero falta el elemento clave:

Un extraño comportamiento heredado en cmd.exe es que cuando le das un archivo como comando (ya sea a través del parámetro /c o simplemente escribiendo el nombre del archivo en el shell interactivo), lo primero que hace es llamar CreateProcess en ese archivo. CreateProcess es la API de Win32 para iniciar un programa, y no le importa la extensión del archivo; solo le importa si el archivo es o no un código ejecutable y tiene permiso de Ejecución (que todos los archivos de Windows tienen, de forma predeterminada). Solo si CreateProcess falla, cmd recurre a ShellExecute , que realiza una acción basada en la extensión del archivo y el controlador registrado.

Como se señaló en otras respuestas, su archivo ".txt" es en realidad un binario ejecutable de Windows PE (básicamente, un archivo ".exe" renombrado). Si lo ejecutó en su máquina, hay muchas posibilidades de que su sistema esté ahora comprometido con malware.

    
respondido por el CBHacking 11.11.2018 - 03:18
fuente
1

Como puedes ver en la captura de pantalla, credits.txt es en realidad un binario de windows ( this program must be run under Win32 )

cmd /c ejecuta el programa especificado (en su caso credits.txt . El final del archivo aparentemente no es relevante en este caso.

    
respondido por el Lukas 02.09.2018 - 21:13
fuente
1

Puedes obtener las siguientes inferencias:

  1. El archivo comienza con MZ , lo que implica que es un archivo PE ( Leer más ))
  2. Hay una cadena This program must be run under Win32 .
    Esta es una parte de MS DOS-Header. Lo que confirma la inferencia 1.
    También significa que es un ejecutable 32 bit (x86).
  3. Entendamos C:\Windows\System32\cmd.exe cmd /c Credits.txt
    • C:\Windows\System32\cmd.exe cmd solicita iniciar una nueva instancia del intérprete de comandos de Windows XP.
    • /c significa 'Ejecuta el comando especificado por cadena y luego termina'
      En resumen, ejecuta Credits.txt

Para entender realmente qué hace exactamente, debe desensamblar el programa y mirar el código de ensamblaje utilizando algunas herramientas como IDA Pro.

    
respondido por el Jithin Pavithran 10.11.2018 - 17:06
fuente

Lea otras preguntas en las etiquetas