Skip to content

YARA · SEKOIA.IO Community

SEKOIA_Infostealer_Win_Vulturi

Detect the Vulturi infostealer based on specific strings

MalwareVulturiSEKOIA.IO CommunityDetection Rule License 1.1Compiles with YARA-X
Author
Sekoia.io
Date
2022-03-14
Modified
2024-12-19
Score / Quality
75 / 80

What this rule detects

Detect the Vulturi infostealer based on specific strings

Associated malware family: Vulturi.

Targets: Windows PE.

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

Summary generated from the rule's metadata and condition.

Rule source

infostealer-win-vulturi.yarDetection Rule License 1.1
rule SEKOIA_Infostealer_Win_Vulturi : FILE
{
	meta:
		description = "Detect the Vulturi infostealer based on specific strings"
		author = "Sekoia.io"
		id = "5369cbfb-ff94-4484-b5a4-894feeed97e1"
		date = "2022-03-14"
		modified = "2024-12-19"
		reference = "https://lamp-ret.club/t/vulturi-cracked-by-tr0uble-and-eshelon_mayskih.193/"
		source_url = "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/yara_rules/infostealer_win_vulturi.yar#L1-L35"
		license_url = "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/LICENSE.md"
		logic_hash = "2d442768499ea0d4b6f5ac0d85521d73bb8337a53f1641485b0ce0054e2dc91c"
		score = 75
		quality = 80
		tags = "FILE"
		version = "1.0"
		classification = "TLP:CLEAR"

	strings:
		$vul = "Vulturi_" ascii
		$str01 = "/C chcp 65001 && ping 127.0.0.1 && DEL /F /S /Q /A" wide
		$str02 = "SELECT ExecutablePath, ProcessID FROM Win32_Process" wide
		$str03 = "Apps\\Gaming\\Minecraft" wide
		$str04 = "Apps\\Gaming\\Steam\\Apps" wide
		$str05 = "Messengers\\Facebook\\Contacts.txt" wide
		$str06 = "Messengers\\Discord\\Tokens.txt" wide
		$str07 = "Apps\\VPN\\NordVPN\\accounts.txt" wide
		$str08 = "Apps\\VPN\\DUC\\credentials.txt" wide
		$str09 = "System\\Screenshots\\Webcam.png" wide
		$str10 = "System\\Screenshots\\Desktop.png" wide
		$str11 = "GTA San Andreas User Files\\SAMP\\USERDATA.DAT" wide
		$str12 = "http://ip-api.com/line?fields=query" wide
		$str13 = "Wireshark" wide
		$str14 = "KeePass.config.xml" wide
		$str15 = "Apps\\TheBat!" wide
		$str16 = "Vulturi" wide
		$str17 = "StealerStub" wide

	condition:
		uint16( 0 ) == 0x5A4D and ( #vul > 50 or 12 of ( $str* ) )
}

Strings (18 patterns)

IdentifierTypeValueModifiers
$vultext"Vulturi_"ascii
$str01text"/C chcp 65001 && ping 127.0.0.1 && DEL /F /S /Q /A"wide
$str02text"SELECT ExecutablePath, ProcessID FROM Win32_Process"wide
$str03text"Apps\\Gaming\\Minecraft"wide
$str04text"Apps\\Gaming\\Steam\\Apps"wide
$str05text"Messengers\\Facebook\\Contacts.txt"wide
$str06text"Messengers\\Discord\\Tokens.txt"wide
$str07text"Apps\\VPN\\NordVPN\\accounts.txt"wide
$str08text"Apps\\VPN\\DUC\\credentials.txt"wide
$str09text"System\\Screenshots\\Webcam.png"wide
$str10text"System\\Screenshots\\Desktop.png"wide
$str11text"GTA San Andreas User Files\\SAMP\\USERDATA.DAT"wide
$str12text"http://ip-api.com/line?fields=query"wide
$str13text"Wireshark"wide
$str14text"KeePass.config.xml"wide
$str15text"Apps\\TheBat!"wide
$str16text"Vulturi"wide
$str17text"StealerStub"wide

Condition

uint16( 0 ) == 0x5A4D and ( #vul > 50 or 12 of ( $str* ) )

In plain words (Heuristic)

  • The file must start with “MZ” — a Windows executable (PE).
  • At least 12 patterns in ( $str* ) must match.
  • Pattern $vul must occur > 50 times.

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

Licence & attribution

Author: Sekoia.io

Source repository: SEKOIA.IO Community @ a438a5901a

Licence: Detection Rule License 1.1 (repository licence)

Original rule

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

Rule id: 5369cbfb-ff94-4484-b5a4-894feeed97e1

Metadata

version1.0
classificationTLP:CLEAR

Tags:FILE