Aller au contenu

YARA · Trellix Advanced Research Center

TRELLIX_ARC_Loocipher_Ransomware

Rule to detect Loocipher ransomware

MalwareLoocipherTrellix Advanced Research CenterApache License 2.0Compile avec YARA-X
Auteur
Marc Rivero | McAfee ATR Team
Date
2019-12-05
Modifiée
2020-08-14
Score / Qualité
75 / 70

Ce que détecte cette règle

Rule to detect Loocipher ransomware

Famille de malware associée : Loocipher.

Cibles : PE Windows.

Elle définit 20 motifs (20 texte, 0 hex, 0 regex).

Résumé généré à partir des métadonnées et de la condition de la règle.

Source de la règle

loocipher-ransomware.yarApache License 2.0
rule TRELLIX_ARC_Loocipher_Ransomware : RANSOMWARE FILE
{
	meta:
		description = "Rule to detect Loocipher ransomware"
		author = "Marc Rivero | McAfee ATR Team"
		id = "d18efe09-4b04-5089-84f8-aead63fc19bb"
		date = "2019-12-05"
		modified = "2020-08-14"
		reference = "https://www.mcafee.com/blogs/other-blogs/mcafee-labs/analysis-of-loocipher-a-new-ransomware-family-observed-this-year/"
		source_url = "https://github.com/advanced-threat-research/Yara-Rules//blob/1919562a59f190bda60c982424f6a24c542ee3e0/ransomware/RANSOM_Loocipher.yar#L1-L46"
		license_url = "https://github.com/advanced-threat-research/Yara-Rules//blob/1919562a59f190bda60c982424f6a24c542ee3e0/LICENSE"
		hash = "7720aa6eb206e589493e440fec8690ceef9e70b5e6712a9fec9208c03cac7ff0"
		logic_hash = "36e452c34fd9bbb521f5422bffdbb71991de66f3faa29292dc3f27c8d7e1f9ba"
		score = 75
		quality = 70
		tags = "RANSOMWARE, FILE"
		rule_version = "v1"
		malware_type = "ransomware"
		malware_family = "Ransom:W32/Loocipher"
		actor_type = "Cybercrime"
		actor_group = "Unknown"

	strings:
		$x1 = "c:\\users\\usuario\\desktop\\cryptolib\\gfpcrypt.h" fullword ascii
		$x2 = "c:\\users\\usuario\\desktop\\cryptolib\\eccrypto.h" fullword ascii
		$s3 = "c:\\users\\usuario\\desktop\\cryptolib\\gf2n.h" fullword ascii
		$s4 = "c:\\users\\usuario\\desktop\\cryptolib\\queue.h" fullword ascii
		$s5 = "ThreadUserTimer: GetThreadTimes failed with error " fullword ascii
		$s6 = "std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<struct CryptoPP::ProjectivePoint> > >::operator *" fullword wide
		$s7 = "std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<struct CryptoPP::ProjectivePoint> > >::operator +=" fullword wide
		$s8 = "std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator []" fullword wide
		$s9 = "std::vector<struct CryptoPP::ProjectivePoint,class std::allocator<struct CryptoPP::ProjectivePoint> >::operator []" fullword wide
		$s10 = "std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class CryptoPP::Integer> > >::operator *" fullword wide
		$s11 = "std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class CryptoPP::Integer> > >::operator +=" fullword wide
		$s12 = "std::vector<struct CryptoPP::WindowSlider,class std::allocator<struct CryptoPP::WindowSlider> >::operator []" fullword wide
		$s13 = "std::istreambuf_iterator<char,struct std::char_traits<char> >::operator ++" fullword wide
		$s14 = "std::istreambuf_iterator<char,struct std::char_traits<char> >::operator *" fullword wide
		$s15 = "std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<struct CryptoPP::ProjectivePoint> > >::_Compat" fullword wide
		$s16 = "std::vector<class CryptoPP::PolynomialMod2,class std::allocator<class CryptoPP::PolynomialMod2> >::operator []" fullword wide
		$s17 = "DL_ElgamalLikeSignatureAlgorithm: this signature scheme does not support message recovery" fullword ascii
		$s18 = "std::vector<struct CryptoPP::ECPPoint,class std::allocator<struct CryptoPP::ECPPoint> >::operator []" fullword wide
		$s19 = "std::vector<struct CryptoPP::EC2NPoint,class std::allocator<struct CryptoPP::EC2NPoint> >::operator []" fullword wide
		$s20 = "std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class CryptoPP::Integer> > >::_Compat" fullword wide

	condition:
		( uint16( 0 ) == 0x5a4d and filesize < 17000KB and ( 1 of ( $x* ) and 4 of them ) ) or ( all of them )
}

Chaînes (20 motifs)

IdentifiantTypeValeurModificateurs
$x1texte"c:\\users\\usuario\\desktop\\cryptolib\\gfpcrypt.h"fullword ascii
$x2texte"c:\\users\\usuario\\desktop\\cryptolib\\eccrypto.h"fullword ascii
$s3texte"c:\\users\\usuario\\desktop\\cryptolib\\gf2n.h"fullword ascii
$s4texte"c:\\users\\usuario\\desktop\\cryptolib\\queue.h"fullword ascii
$s5texte"ThreadUserTimer: GetThreadTimes failed with error "fullword ascii
$s6texte"std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<struct CryptoPP::ProjectivePoint> > >::operator *"fullword wide
$s7texte"std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<struct CryptoPP::ProjectivePoint> > >::operator +="fullword wide
$s8texte"std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::operator []"fullword wide
$s9texte"std::vector<struct CryptoPP::ProjectivePoint,class std::allocator<struct CryptoPP::ProjectivePoint> >::operator []"fullword wide
$s10texte"std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class CryptoPP::Integer> > >::operator *"fullword wide
$s11texte"std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class CryptoPP::Integer> > >::operator +="fullword wide
$s12texte"std::vector<struct CryptoPP::WindowSlider,class std::allocator<struct CryptoPP::WindowSlider> >::operator []"fullword wide
$s13texte"std::istreambuf_iterator<char,struct std::char_traits<char> >::operator ++"fullword wide
$s14texte"std::istreambuf_iterator<char,struct std::char_traits<char> >::operator *"fullword wide
$s15texte"std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<struct CryptoPP::ProjectivePoint> > >::_Compat"fullword wide
$s16texte"std::vector<class CryptoPP::PolynomialMod2,class std::allocator<class CryptoPP::PolynomialMod2> >::operator []"fullword wide
$s17texte"DL_ElgamalLikeSignatureAlgorithm: this signature scheme does not support message recovery"fullword ascii
$s18texte"std::vector<struct CryptoPP::ECPPoint,class std::allocator<struct CryptoPP::ECPPoint> >::operator []"fullword wide
$s19texte"std::vector<struct CryptoPP::EC2NPoint,class std::allocator<struct CryptoPP::EC2NPoint> >::operator []"fullword wide
$s20texte"std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class CryptoPP::Integer> > >::_Compat"fullword wide

Condition

( uint16( 0 ) == 0x5a4d and filesize < 17000KB and ( 1 of ( $x* ) and 4 of them ) ) or ( all of them )

En clair (Heuristique)

  • Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
  • Le fichier doit faire moins de 17000KB (garde-fou peu coûteux qui écarte les gros fichiers).
  • Tous les motifs de la règle doivent être trouvés.
  • Au moins 1 motifs de ( $x* ) doivent être trouvés.
  • Au moins 4 motifs de la règle doivent être trouvés.

Tester cette règle dans votre navigateur

Déposez un fichier pour le scanner avec cette règle grâce à YARA-X compilé en WebAssembly. Rien n’est envoyé.

Déposez un fichier ici ou cliquez pour choisirScanné localement avec YARA-X. Fichiers jusqu’à 200 Mo.

Ouvrir dans l’éditeur

Références

Hashes d’échantillons

Hashes des échantillons listés par l’auteur dans les métadonnées de la règle (à rechercher dans votre plateforme de threat intelligence).

  • 7720aa6eb206e589493e440fec8690ceef9e70b5e6712a9fec9208c03cac7ff0

Licence et attribution

Auteur : Marc Rivero | McAfee ATR Team

Dépôt source : Trellix Advanced Research Center @ 1919562a59

Licence : Apache License 2.0 (licence du dépôt)

Règle d’origine

Reprise via YARA Forge 20260927, qui préfixe les noms de règles par la source et ajoute des champs meta normalisés.

Identifiant de règle: d18efe09-4b04-5089-84f8-aead63fc19bb

Métadonnées

rule_versionv1
malware_typeransomware
malware_familyRansom:W32/Loocipher
actor_typeCybercrime
actor_groupUnknown

Tags:RANSOMWAREFILE