Karl Crary

62 papers A* 14A 9B 3C 1Journal 18Unranked 15
YearRankTypeTitle / Venue / Authors
2025 B conf
FSCD
C. B. Aberlé, Karl Crary, Chris Martens, Frank Pfenning
2021 J jnl
CoRR
Karl Crary
2020 J jnl
J. Funct. Program.
Karl Crary
2019 J jnl
CoRR
Michael J. Sullivan, Karl Crary, Salil Joshi
2019 J jnl
Proc. ACM Program. Lang.
Karl Crary
2018 C conf
PADL
Karl Crary
2018 J jnl
CoRR
Karl Crary
2018 A* conf
LICS
Karl Crary
2018 conf
VSTTE
Rose Bohrer, Karl Crary
2018 J jnl
CoRR
Rose Bohrer, Karl Crary
2017 A* conf
POPL
Karl Crary
2015 A* conf
POPL
Karl Crary, Michael J. Sullivan
2015 A* conf
PLDI
Karl Crary, Michael J. Sullivan
2010 A conf
ICFP
Karl Crary
2010 ed.
LFMTP
Karl Crary, Marino Miculan
2009 conf
LFMTP
Karl Crary
2008 conf
LFMTP@LICS
Karl Crary
2008 J jnl
ACM Trans. Comput. Log.
Karl Crary, Susmit Sarkar
2007 J jnl
ACM Trans. Comput. Log.
Karl Crary
2007 conf
Computation, Meaning, and Logic
Karl Crary, Robert Harper
2007 A* conf
POPL
Daniel K. Lee, Karl Crary, Robert Harper
2007 conf
TGC
Tom Murphy VII, Karl Crary, Robert Harper
2006 conf
ML
David Swasey, Tom Murphy VII, Karl Crary, Robert Harper
2006 J jnl
SIGACT News
Karl Crary, Robert Harper
2006 J jnl
CoRR
Karl Crary, Robert Harper
2005 J jnl
J. Funct. Program.
Karl Crary, Aleksey Kliger, Frank Pfenning
2005 conf
TLDI
Joseph Vanderwaart, Karl Crary
2005 B conf
CSL
Tom Murphy VII, Karl Crary, Robert Harper
2005 B conf
ICLP
Susmit Sarkar, Brigitte Pientka, Karl Crary
2004 A* conf
LICS
Tom Murphy VII, Karl Crary, Robert Harper, Frank Pfenning
2003 A* conf
POPL
Derek Dreyer, Karl Crary, Robert Harper
2003 A* conf
POPL
Leaf Petersen, Robert Harper, Karl Crary, Frank Pfenning
2003 conf
TLDI
Joseph Vanderwaart, Karl Crary
2003 J jnl
Theor. Comput. Sci.
Christopher Colby, Karl Crary, Robert Harper, Peter Lee, Frank Pfenning
2003 A conf
CADE
Karl Crary, Susmit Sarkar
2003 J jnl
J. Funct. Program.
J. Gregory Morrisett, Karl Crary, Neal Glew, David Walker
2003 A* conf
POPL
Karl Crary
2003 conf
TLDI
Joseph Vanderwaart, Derek Dreyer, Leaf Petersen, Karl Crary, Robert Harper, Perry Cheng
2002 conf
LFM
Joseph Vanderwaart, Karl Crary
2002 A conf
ICFP
Karl Crary, Joseph Vanderwaart
2002 J jnl
J. Funct. Program.
Karl Crary, Stephanie Weirich, J. Gregory Morrisett
2002 J jnl
J. Funct. Program.
J. Gregory Morrisett, Karl Crary, Neal Glew, David Walker
2002 conf
GRID
Bor-Yuh Evan Chang, Karl Crary, Margaret DeLap, Robert Harper, Jason Liszka, Tom Murphy VII, Frank Pfenning
2001 J jnl
J. Funct. Program.
Guy E. Blelloch, Hal Burch, Karl Crary, Robert Harper, Gary L. Miller, Noel Walkington
2000 A* conf
POPL
Karl Crary, Stephanie Weirich
2000 conf
Types in Compilation
Michael W. Hicks, Stephanie Weirich, Karl Crary
2000 conf
Types in Compilation
Karl Crary
2000 A conf
ICFP
Karl Crary
2000 J jnl
ACM Trans. Program. Lang. Syst.
David Walker, Karl Crary, J. Gregory Morrisett
1999 A conf
ICFP
Karl Crary
1999 A conf
ICFP
Karl Crary, Stephanie Weirich
1999 J jnl
ACM Trans. Program. Lang. Syst.
J. Gregory Morrisett, David Walker, Karl Crary, Neal Glew
1999 A* conf
ICALP
Karl Crary, J. Gregory Morrisett
1999 A* conf
POPL
Karl Crary, David Walker, J. Gregory Morrisett
1999 A* conf
PLDI
Karl Crary, Robert Harper, Sidd Puri
1998 A conf
CADE
Karl Crary
1998 A* conf
POPL
J. Gregory Morrisett, David Walker, Karl Crary, Neal Glew
1998 A conf
ICFP
Karl Crary, Stephanie Weirich, J. Gregory Morrisett
1998 conf
PROCOMET
Karl Crary
1998 conf
Types in Compilation
J. Gregory Morrisett, Karl Crary, Neal Glew, David Walker
1998
Type-Theoretic Methodology for Practical Programming Languages.
Karl Crary
1997 A conf
ICFP
Karl Crary
yara/yaraforge/packages/extended/20260104-yara-rules-extended.yar
← Index yara/yaraforge/packages/extended/20260104-yara-rules-extended.yar plaintext
Truncated preview: showing the first 16384 bytes out of 16890293 total.
/*
 * YARA-Forge YARA Rule Package
 * https://github.com/YARAHQ/yara-forge
 * 
 * Rule Package Information
 * Name: extended 
 * Description: Default YARA Rule Package - Extended
 * YARA-Forge Version: 0.9.1
 * YARA-QA Commit: a3aa7a36859045e8de8a308a0c5f360b184ea470
 * Minimum Quality: 50
 * Force Include Importance Level: 70
 * Force Exclude Importance Level: 20
 * Minimum Age (in days): 1
 * Minimum Score: 60
 * Creation Date: 2026-01-04
 * Number of Rules: 10391
 * Skipped: 10 (age), 523 (quality), 771 (score), 0 (importance)
 */

import "math"
import "hash"
import "dotnet"
import "pe"


/*
 * YARA Rule Set
 * Repository Name: ReversingLabs
 * Repository: https://github.com/reversinglabs/reversinglabs-yara-rules/
 * Retrieval Date: 2026-01-04
 * Git Commit: e0a0be54aa1e11ccfd6854e4f19e9476f328fd84
 * Number of Rules: 1239
 * Skipped: 0 (age), 0 (quality), 1 (score), 0 (importance)
 *
 * 
 * LICENSE
 * 
 * Copyright (c) 2020 ReversingLabs

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 */
rule REVERSINGLABS_Win32_Infostealer_Multigrainpos : TC_DETECTION MALICIOUS MALWARE FILE
{
	meta:
		description = "Yara rule that detects MultigrainPOS infostealer."
		author = "ReversingLabs"
		id = "595c04af-802f-556d-b22b-23cac79b256e"
		date = "2020-07-15"
		modified = "2020-07-15"
		reference = "ReversingLabs"
		source_url = "https://github.com/reversinglabs/reversinglabs-yara-rules//blob/e0a0be54aa1e11ccfd6854e4f19e9476f328fd84/yara/infostealer/Win32.Infostealer.MultigrainPOS.yara#L1-L88"
		license_url = "https://github.com/reversinglabs/reversinglabs-yara-rules//blob/e0a0be54aa1e11ccfd6854e4f19e9476f328fd84/LICENSE"
		logic_hash = "9808c95b850a54677c4132057b8372cabf0159920b7e0e6834a83f0d39c088fa"
		score = 75
		quality = 90
		tags = "TC_DETECTION, MALICIOUS, MALWARE, FILE"
		status = "RELEASED"
		sharing = "TLP:WHITE"
		category = "MALWARE"
		tc_detection_type = "Infostealer"
		tc_detection_name = "MultigrainPOS"
		tc_detection_factor = 5
		importance = 25

	strings:
		$data_exfiltration_v10_1 = {
            55 8B EC 83 EC ?? A1 ?? ?? ?? ?? 33 C5 89 45 ?? 53 8B 1D ?? ?? ?? ?? 56 57 8B 3D ?? 
            ?? ?? ?? C7 45 ?? ?? ?? ?? ?? 83 7D ?? ?? 6A ?? 8D 4D ?? 51 6A ?? 6A ?? 8D 45 ?? 0F 
            43 45 ?? 6A ?? 50 FF 15 ?? ?? ?? ?? 6A ?? 85 C0 75 ?? 8B 45 ?? 50 8B 70 ?? FF D7 81 
            FE ?? ?? ?? ?? 74 ?? 81 FE ?? ?? ?? ?? 75 ?? 83 7D ?? ?? 5F 5E 5B 72 ?? FF 75 ?? E8 
            ?? ?? ?? ?? 83 C4 ?? 8B 4D ?? 33 CD B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B E5 5D C2 ?? ?? 
            FF 75 ?? FF D7 68 ?? ?? ?? ?? FF D3 EB
        }
		$memory_scraping_v10_1 = {
            6A ?? 56 8B CF E8 ?? ?? ?? ?? 85 C0 75 ?? 6A ?? 56 8B CF E8 ?? ?? ?? ?? 8B 8D ?? ?? 
            ?? ?? EB ?? 3C ?? 7C ?? 3C ?? 7E ?? 8A 46 ?? 3C ?? 7C ?? 3C ?? 7E ?? 3C ?? 74
        }
		$process_search_v10_1 = {
            55 8B EC 81 EC ?? ?? ?? ?? A1 ?? ?? ?? ?? 33 C5 89 45 ?? 53 56 57 68 ?? ?? ?? ?? E8 
            ?? ?? ?? ?? 68 ?? ?? ?? ?? 6A ?? 50 E8 ?? ?? ?? ?? 83 C4 ?? C7 85 ?? ?? ?? ?? ?? ?? 
            ?? ?? 6A ?? 6A ?? FF 15 ?? ?? ?? ?? 8B F0 8D 85 ?? ?? ?? ?? 50 56 FF 15 ?? ?? ?? ?? 
            85 C0 74 ?? 8B 3D ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 56 FF D7 85 C0 74 ?? 8B 1D ?? ?? 
            ?? ?? 68 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? 50 FF D3 85 C0 74 ?? 8D 
            85 ?? ?? ?? ?? 50 56 FF D7 85 C0 75
        }
		$service_creation_v10_1 = {
            68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 C4 ?? 8D 44 24 ?? 50 8D 4C 24 ?? C7 44 24 ?? ?? ?? 
            ?? ?? E8 ?? ?? ?? ?? 8D 4C 24 ?? E8 ?? ?? ?? ?? 33 C0 5E 8B 4C 24 ?? 33 CC E8 ?? ?? 
            ?? ?? 8B E5 5D C3 8B 35 ?? ?? ?? ?? 68 ?? ?? ?? ?? FF D6 8D 44 24 ?? 50 C7 44 24 ?? 
            ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? 
            FF 15
        }
		$process_search_v11_1 = {
            55 8B EC 81 EC ?? ?? ?? ?? A1 ?? ?? ?? ?? 33 C5 89 45 ?? 53 56 57 8B 7D ?? FF 15 ?? 
            ?? ?? ?? 8B 1D ?? ?? ?? ?? 8B 35 ?? ?? ?? ?? EB ?? 8D 49 ?? 68 ?? ?? ?? ?? 8D 85 ?? 
            ?? ?? ?? 6A ?? 50 E8 ?? ?? ?? ?? 83 C4 ?? C7 85 ?? ?? ?? ?? ?? ?? ?? ?? 6A ?? 6A ?? 
            FF 15 ?? ?? ?? ?? 89 85 ?? ?? ?? ?? 83 F8 ?? 75 ?? 68 ?? ?? ?? ?? FF D3 EB ?? 8D 8D 
            ?? ?? ?? ?? 51 50 FF 15 ?? ?? ?? ?? 8B 9D ?? ?? ?? ?? 33 C0 68 ?? ?? ?? ?? 50 66 89 
            85 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 83 C4 ?? 33 C9 EB ?? 8D A4 24 ?? 
            ?? ?? ?? EB ?? 8D 49 ?? 0F B7 84 0D ?? ?? ?? ?? 66 89 84 0D ?? ?? ?? ?? 8D 49 ?? 66 
            85 C0 75 ?? 8D 85 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? 68 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 
            50 FF 15 ?? ?? ?? ?? 85 C0 74 ?? 68 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 FF 15
        }
		$memory_scraping_v11_1 = {
            6A ?? 56 8B CF E8 ?? ?? ?? ?? 6A ?? 56 8B CF E8 ?? ?? ?? ?? EB ?? 3C ?? 75 ?? 6A ?? 
            56 8B CF E8 ?? ?? ?? ?? 6A ?? 56 8B CF E8
        }
		$data_exfiltration_v11_1 = {
            55 8B EC 83 EC ?? A1 ?? ?? ?? ?? 33 C5 89 45 ?? 53 8A 5D ?? 56 57 8B 3D ?? ?? ?? ?? 
            C7 45 ?? ?? ?? ?? ?? 83 7D ?? ?? 6A ?? 8D 4D ?? 51 6A ?? 6A ?? 8D 45 ?? 0F 43 45 ?? 
            6A ?? 50 FF 15 ?? ?? ?? ?? 6A ?? 85 C0 75 ?? 8B 45 ?? 50 8B 70 ?? FF D7 81 FE ?? ?? 
            ?? ?? 74 ?? 81 FE ?? ?? ?? ?? 74 ?? 84 DB 74 ?? 33 F6 83 7D ?? ?? 72 ?? FF 75 ?? E8 
            ?? ?? ?? ?? 83 C4 ?? 8B 4D ?? 5F 8B C6 5E 33 CD 5B E8 ?? ?? ?? ?? 8B E5 5D C2 ?? ?? 
            FF 75 ?? FF D7 68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 84 DB 74 ?? EB ?? BE ?? ?? ?? ?? EB
        }
		$service_creation_v11_1 = {
            68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 C4 ?? 8D 44 24 ?? 50 8D 4C 24 ?? C7 44 24 ?? ?? ?? 
            ?? ?? E8 ?? ?? ?? ?? 8D 4C 24 ?? E8 ?? ?? ?? ?? 33 C0 8B 4C 24 ?? 33 CC E8 ?? ?? ?? 
            ?? 8B E5 5D C3 8D 44 24 ?? 50 C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? C7 44 
            24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? FF 15 
        }

	condition:
		uint16( 0 ) == 0x5A4D and ( ( $data_exfiltration_v10_1 and $memory_scraping_v10_1 and $process_search_v10_1 and $service_creation_v10_1 ) or ( $process_search_v11_1 and $memory_scraping_v11_1 and $data_exfiltration_v11_1 and $service_creation_v11_1 ) )
}
rule REVERSINGLABS_Win32_Infostealer_Projecthookpos : TC_DETECTION MALICIOUS MALWARE FILE
{
	meta:
		description = "Yara rule that detects ProjectHookPOS infostealer."
		author = "ReversingLabs"
		id = "dcb96a99-c8c0-5878-a3a5-fe3cfeec43c6"
		date = "2020-07-15"
		modified = "2020-07-15"
		reference = "ReversingLabs"
		source_url = "https://github.com/reversinglabs/reversinglabs-yara-rules//blob/e0a0be54aa1e11ccfd6854e4f19e9476f328fd84/yara/infostealer/Win32.Infostealer.ProjectHookPOS.yara#L1-L98"
		license_url = "https://github.com/reversinglabs/reversinglabs-yara-rules//blob/e0a0be54aa1e11ccfd6854e4f19e9476f328fd84/LICENSE"
		logic_hash = "b7534c9e905256aaf80f04b746a92c50689437b288f7e393ef13fde1740c4a4e"
		score = 75
		quality = 90
		tags = "TC_DETECTION, MALICIOUS, MALWARE, FILE"
		status = "RELEASED"
		sharing = "TLP:WHITE"
		category = "MALWARE"
		tc_detection_type = "Infostealer"
		tc_detection_name = "ProjectHookPOS"
		tc_detection_factor = 5
		importance = 25

	strings:
		$calc_luhn = {
            55 8B EC 83 C4 ?? 53 56 57 33 C9 89 4D ?? 89 55 ?? 8B 45 ?? E8 ?? ?? ?? ?? 33 C0 55 
            68 ?? ?? ?? ?? 64 FF 30 64 89 20 C6 45 ?? ?? 33 C0 89 45 ?? 8B 45 ?? 85 C0 74 ?? 8B 
            D0 83 EA ?? 66 83 3A ?? 74 ?? 8D 45 ?? 8B 55 ?? E8 ?? ?? ?? ?? 85 C0 74 ?? 83 E8 ?? 
            8B 00 25 ?? ?? ?? ?? 79 ?? 48 83 C8 ?? 40 85 C0 0F 94 C3 8B 45 ?? 85 C0 74 ?? 8B D0 
            83 EA ?? 66 83 3A ?? 74 ?? 8D 45 ?? 8B 55 ?? E8 ?? ?? ?? ?? 85 C0 74 ?? 83 E8 ?? 8B 
            00 8B F0 85 F6 7E ?? BF ?? ?? ?? ?? 8D 45 ?? 8B 55 ?? 0F B7 54 7A ?? E8 ?? ?? ?? ?? 
            8B 45 ?? 83 CA ?? E8 ?? ?? ?? ?? 0F B6 D0 66 83 FA ?? 75 ?? C6 45 ?? ?? EB ?? 84 DB 
            74 ?? 0F B6 C0 0F B6 80 ?? ?? ?? ?? 01 45 ?? EB ?? 0F B6 C0 01 45 ?? 80 F3 ?? 47 4E 
            75 ?? 8B 45 ?? B9 ?? ?? ?? ?? 99 F7 F9 85 D2 75 ?? 80 7D ?? ?? 74 ?? 33 DB EB ?? B3 
            ?? 33 C0 5A 59 59 64 89 10 68 ?? ?? ?? ?? 8D 45 ?? E8 ?? ?? ?? ?? 8D 45 ?? E8 ?? ?? 
            ?? ?? C3 E9 ?? ?? ?? ?? EB ?? 8B C3 5F 5E 5B 8B E5 5D C3 
        }
		$track_1_reverse = {
            55 8B EC 83 C4 ?? 53 56 33 DB 89 5D ?? 8B F1 89 55 ?? 8B 45 ?? E8 ?? ?? ?? ?? 33 C0 
            55 68 ?? ?? ?? ?? 64 FF 30 64 89 20 8B C6 33 D2 E8 ?? ?? ?? ?? 8B 45 ?? 85 C0 74 ?? 
            8B D0 83 EA ?? 66 83 3A ?? 74 ?? 8D 45 ?? 8B 55 ?? E8 ?? ?? ?? ?? 85 C0 74 ?? 83 E8 
            ?? 8B 00 8B D8 83 FB ?? 7C ?? 8D 45 ?? 50 B9 ?? ?? ?? ?? 8B D3 8B 45 ?? E8 ?? ?? ?? 
            ?? 8B 55 ?? 8B C6 E8 ?? ?? ?? ?? 4B 85 DB 75 ?? 33 C0 5A 59 59 64 89 10 68 ?? ?? ?? 
            ?? 8D 45 ?? BA ?? ?? ?? ?? E8 ?? ?? ?? ?? C3 E9 ?? ?? ?? ?? EB ?? 5E 5B 59 59 5D C3 
        }
		$check_validity_1 = {
            8B D0 83 EA ?? 66 83 3A ?? 74 ?? 8D 45 ?? 8B 55 ?? E8 ?? ?? ?? ?? 66 83 38 ?? 75 ?? 
            8B 45 ?? 85 C0 74 ?? 8B D0 83 EA ?? 66 83 3A ?? 74 ?? 8D 45 ?? 8B 55 ?? E8 ?? ?? ?? 
            ?? 66 83 78 ?? ?? 0F 94 C0 EB ?? 33 C0 84 C0 0F 84 ?? ?? ?? ?? 8B 45 ?? 85 C0 74 ?? 
            8B D0 83 EA ?? 66 83 3A ?? 74 ?? 8D 45 ?? 8B 55 ?? E8 ?? ?? ?? ?? 66 83 78 ?? ?? 0F 
            85 ?? ?? ?? ?? 8B 45 ?? 85 C0 74 ?? 8B D0 83 EA ?? 66 83 3A ?? 74 ?? 8D 45 ?? 8B 55 
            ?? E8 ?? ?? ?? ?? BE ?? ?? ?? ?? 66 81 78 ?? ?? ?? 73 ?? 0F B6 40 ?? 0F B6 C0 0F A3 
            06 72 ?? 33 C0 EB 
        }
		$encode_and_send_1 = {
            64 89 20 B2 ?? A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B D8 33 C9 B2 ?? A1 ?? ?? ?? ?? E8 ?? 
            ?? ?? ?? 8B F0 8D 4D ?? 8B 55 ?? 8B C7 E8 ?? ?? ?? ?? 8B 4D ?? 8D 45 ?? BA ?? ?? ?? 
            ?? E8 ?? ?? ?? ?? 8B 55 ?? 8B C3 8B 08 FF 51 ?? 8D 45 ?? 8B 4D ?? BA ?? ?? ?? ?? E8 
            ?? ?? ?? ?? 8B 55 ?? 8B C3 8B 08 FF 51 ?? 8D 45 ?? 8B 4D ?? BA ?? ?? ?? ?? E8 ?? ?? 
            ?? ?? 8B 55 ?? 8B C3 8B 08 FF 51 ?? 8D 45 ?? 8B 4D ?? BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 
            8B 55 ?? 8B C3 8B 08 FF 51 ?? 8B C6 E8 ?? ?? ?? ?? BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 
            C6 E8 ?? ?? ?? ?? 05 ?? ?? ?? ?? BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 8D 45 ?? 50 8B CB BA 
            ?? ?? ?? ?? 8B C6 E8 ?? ?? ?? ?? 8B C3 E8 ?? ?? ?? ?? 8B C6 E8
        }
		$form_create_1 = {
            8D 55 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8D 45 ?? BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 45 
            ?? E8 ?? ?? ?? ?? 8B D0 8D 45 ?? E8 ?? ?? ?? ?? 8B 45 ?? E8 ?? ?? ?? ?? 6A ?? 8D 55 
            ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8D 45 ?? BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 45 ?? E8 
            ?? ?? ?? ?? 50 8D 55 ?? A1 ?? ?? ?? ?? 8B 00 E8 ?? ?? ?? ?? 8B 45 ?? E8 ?? ?? ?? ?? 
            50 E8 ?? ?? ?? ?? 8D 55 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8D 45 ?? BA ?? ?? ?? ?? E8 
            ?? ?? ?? ?? 8B 45 ?? E8 ?? ?? ?? ?? 8B D0 8D 45 ?? E8 ?? ?? ?? ?? 8B 45 ?? E8 ?? ?? 
            ?? ?? 84 C0 0F 84
        }
		$form_create_2 = {
            33 C9 B2 ?? A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B D8 8B C3 E8 ?? ?? ?? ?? 05 ?? ?? ?? ?? 
            BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 8D 4D ?? BA ?? ?? ?? ?? 8B C3 E8 ?? ?? ?? ?? 8D 55 ?? 
            B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8D 45 ?? BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 45 ?? E8 ?? 
            ?? ?? ?? 8B D0 8D 45 ?? E8 ?? ?? ?? ?? 8B 45 ?? 33 C9 BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 
            8B C3 E8
        }
		$form_create_3 = {
            B2 ?? A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B D8 BA ?? ?? ?? ?? 8B C3 E8 ?? ?? ?? ?? 33 C9 
            BA ?? ?? ?? ?? 8B C3 E8 ?? ?? ?? ?? 8D 55 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8D 45 ?? 
            BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 45 ?? E8 ?? ?? ?? ?? 8B D0 8D 45 ?? E8 ?? ?? ?? ?? 
            8B 4D ?? BA ?? ?? ?? ?? 8B C3 E8 ?? ?? ?? ?? 8B C3 E8 ?? ?? ?? ?? 33 C9 BA ?? ?? ?? 
            ?? 8B C3 E8 ?? ?? ?? ?? 33 C9 BA ?? ?? ?? ?? 8B C3 E8 ?? ?? ?? ?? 8B C3 E8 ?? ?? ?? 
            ?? 8B C3 E8 ?? ?? ?? ?? 8B 0D ?? ?? ?? ?? 8B 09 B2 ?? A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? 
            A3 ?? ?? ?? ?? BA ?? ?? ?? ?? A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? 56 68 ?? ?? ?? ?? A1 ?? 
            ?? ?? ?? E8 ?? ?? ?? ?? B2 ?? A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B C6 E8 ?? ?? ?? ?? 84 
            C0 74
        }

	condition:
		uint16( 0 ) == 0x5A4D and ( $calc_luhn and $track_1_reverse and $check_validity_1 and $encode_and_send_1 and $form_create_1 and $form_create_2 and $form_create_3 )
}
rule REVERSINGLABS_Win32_Infostealer_Lumarstealer : TC_DETECTION MALICIOUS MALWARE FILE
{
	meta:
		description = "Yara rule that detects LumarStealer infostealer."
		author = "ReversingLabs"
		id = "a1358846-7cc2-53ac-89a9-c6c99f492284"
		date = "2023-12-07"
		modified = "2023-12-07"
		reference = "ReversingLabs"
		source_url = "https://github.com/reversinglabs/reversinglabs-yara-rules//blob/e0a0be54aa1e11ccfd6854e4f19e9476f328fd84/yara/infostealer/Win32.Infostealer.LumarStealer.yara#L1-L190"
		license_url = "https://github.com/reversinglabs/reversinglabs-yara-rules//blob/e0a0be54aa1e11ccfd6854e4f19e9476f328fd84/LICENSE"
		logic_hash = "0bc9e12396b1e85f69b965e9ea50960c59c50aba40317fb4de8f6abd092ec7d2"
		score = 75
		quality = 90
		tags = "TC_DETECTION, MALICIOUS, MALWARE, FILE"
		status = "RELEASED"
		sharing = "TLP:WHITE"
		category = "MALWARE"
		tc_detection_type = "Infostealer"
		tc_detection_name = "LumarStealer"
		tc_detection_factor = 5
		importance = 25

	strings:
		$collect_os_information_p1 = {
            55 8B EC 81 EC ?? ?? ?? ?? 53 56 B8 ?? ?? ?? ?? C1 E0 ?? 8B 88 ?? ?? ?? ?? FF D1 66
            A3 ?? ?? ?? ?? BA ?? ?? ?? ?? 66 89 55 ?? B8 ?? ?? ?? ?? 66 89 45 ?? B9 ?? ?? ?? ??
            66 89 4D ?? BA ?? ?? ?? ?? 66 89 55 ?? B8 ?? ?? ?? ?? 66 89 45 ?? B9 ?? ?? ?? ?? 66
            89 4D ?? BA ?? ?? ?? ?? 66 89 55 ?? B8 ?? ?? ?? ?? 66 89 45 ?? B9 ?? ?? ?? ?? 66 89
            4D ?? BA ?? ?? ?? ?? 66 89 55 ?? C6 45 ?? ?? EB ?? 8A 45 ?? 04 ?? 88 45 ?? 0F B6 4D
            ?? 83 F9 ?? 73 ?? 0F B6 55 ?? 0F B7 44 55 ?? 0F B7 0D ?? ?? ?? ?? 3B C1 75 ?? FF 25
            ?? ?? ?? ?? EB ?? C7 45 ?? ?? ?? ?? ?? 33 D2 89 55 ?? 89 55 ?? 89 55 ?? C7 45 ?? ??
            ?? ?? ?? 8D 75 ?? B8 ?? ?? ?? ?? 33 C9 0F A2 89 06 89 5E ?? 89 4E ?? 89 56 ?? B8 ??
            ?? ?? ?? 6B C8 ?? 8B 54 0D ?? 89 55 ?? C7 45 ?? ?? ?? ?? ?? EB ?? 8B 45 ?? 83 C0 ??
            89 45 ?? 8B 4D ?? 3B 4D ?? 77 ?? 8D 75 ?? 8B 45 ?? 33 C9 0F A2 89 06 89 5E ?? 89 4E
            ?? 89 56 ?? 81 7D ?? ?? ?? ?? ?? 75 ?? 6A ?? 8D 55 ?? 52 68 ?? ?? ?? ?? E8 ?? ?? ??
            ?? 83 C4 ?? EB ?? 81 7D ?? ?? ?? ?? ?? 75 ?? 6A ?? 8D 45 ?? 50 68 ?? ?? ?? ?? E8 ??
            ?? ?? ?? 83 C4 ?? EB ?? 81 7D ?? ?? ?? ?? ?? 75 ?? 6A ?? 8D 4D ?? 51 68 ?? ?? ?? ??
            E8 ?? ?? ?? ?? 83 C4 ?? EB ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 C4 ?? C6 80 ?? ?? ??
            ?? ?? 8D 95 ?? ?? ?? ?? 52 B8 ?? ?? ?? ?? C1 E0 ?? 8B 88 ?? ?? ?? ?? FF D1 85 C0 74
            ?? 6A ?? 8D 95 ?? ?? ?? ?? 52 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 C4 ?? 8D 85 ?? ?? ??
            ?? 50 B9 ?? ?? ?? ?? D1 E1 8B 91 ?? ?? ?? ?? FF D2 8B 45 ?? A3 ?? ?? ?? ?? C7 85 ??
            ?? ?? ?? ?? ?? ?? ?? 6A ?? 8D 8D ?? ?? ?? ?? 51 6A ?? 6A ?? BA ?? ?? ?? ?? 6B C2
        }
		$collect_os_information_p2 = {
            8B 88 ?? ?? ?? ?? FF D1 85 C0 74 ?? 68 ?? ?? ?? ?? 8D 95 ?? ?? ?? ?? 52 68 ?? ?? ??
            ?? E8 ?? ?? ?? ?? 83 C4 ?? 8D 45 ?? 50 B9 ?? ?? ?? ?? 6B D1 ?? 8B 82 ?? ?? ?? ?? FF
            D0 85 C0 74 ?? 6A ?? 68 ?