Skip to content

YARA · Volexity threat-intel

VOLEXITY_Apt_Malware_Py_Bluelight_Ldr

Python Loader used to execute the BLUELIGHT malware family.

APT / threat actorBluelightVolexity threat-intelBSD 2-Clause LicenseCompiles with YARA-X
Author
threatintel@volexity.com
Date
2021-06-22
Modified
2025-02-18
Score / Quality
75 / 80

What this rule detects

Python Loader used to execute the BLUELIGHT malware family.

Associated malware family: Bluelight.

It defines 5 patterns (5 text, 0 hex, 0 regex).

Summary generated from the rule's metadata and condition.

Rule source

apt-malware-py-bluelight-ldr.yarBSD 2-Clause License
rule VOLEXITY_Apt_Malware_Py_Bluelight_Ldr : INKYPINE FILE
{
	meta:
		description = "Python Loader used to execute the BLUELIGHT malware family."
		author = "threatintel@volexity.com"
		id = "db32b752-eba4-52a6-80b6-d1d394660453"
		date = "2021-06-22"
		modified = "2025-02-18"
		reference = "https://www.volexity.com/blog/2021/08/24/north-korean-bluelight-special-inkysquid-deploys-rokrat/"
		source_url = "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/2021/2021-08-24 - InkySquid Part 2/indicators/yara.yar#L33-L61"
		license_url = "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/LICENSE.txt"
		hash = "80269413be6ad51b8b19631b2f5559c9572842e789bbce031babe6e879d2e120"
		logic_hash = "6987f5903561da8d4fa32c8d824593f601a49e13edfa2d617952d57ba3444f76"
		score = 75
		quality = 80
		tags = "INKYPINE, FILE"
		os = "win"
		os_arch = "all"
		scan_context = "file"
		severity = "high"
		license = "See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt"
		rule_id = 5600
		version = 6

	strings:
		$s1 = "\"\".join(chr(ord(" ascii
		$s2 = "import ctypes" ascii
		$s3 = "ctypes.CFUNCTYPE(ctypes.c_int)" ascii
		$s4 = "ctypes.memmove" ascii
		$magic = "writelines(\"python ended\")" ascii

	condition:
		all of ( $s* ) or $magic
}

Strings (5 patterns)

IdentifierTypeValueModifiers
$s1text"\"\".join(chr(ord("ascii
$s2text"import ctypes"ascii
$s3text"ctypes.CFUNCTYPE(ctypes.c_int)"ascii
$s4text"ctypes.memmove"ascii
$magictext"writelines(\"python ended\")"ascii

Condition

all of ( $s* ) or $magic

In plain words (Heuristic)

  • All patterns in ( $s* ) must match.
  • Pattern $magic must be present.

Test this rule in your browser

Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.

Drop a file here or click to chooseScanned locally with YARA-X. Files up to 200 MB.

Open in editor

References

Sample hashes

Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).

  • 80269413be6ad51b8b19631b2f5559c9572842e789bbce031babe6e879d2e120

Licence & attribution

Author: threatintel@volexity.com

Source repository: Volexity threat-intel @ 3a9d0b5245

Licence: BSD 2-Clause License (stated in the rule's own meta)

“See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt”

Copyright notice: Copyright 2022 by Volexity, Inc.

Original rule

Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.

Rule id: db32b752-eba4-52a6-80b6-d1d394660453

Metadata

oswin
os_archall
scan_contextfile
severityhigh
rule_id5600
version6

Tags:INKYPINEFILE

More Bluelight rules