YARA Detection Rule: Win32_PUA_Domaiq
Repository: reversinglabs/reversinglabs-yara-rules
Detects: Yara rule that detects Domaiq potentially unwanted application.
Malware family: DOMAIQ
Author: ReversingLabs

Pattern signatures:
$payload="PEFxdWlFbXBpZXphRWxQYXlsb2FkPg"

        $NSIS_CheckIntegrity = { 
            57 53 E8 ?? ?? ?? ?? 85 C0 0F 84 ?? ?? ?? ?? 83 3D ?? ?? ?? ?? 00 75 ?? 6A 1C 8D 45 
            D8 53 50 E8 ?? ?? ?? ?? 8B 45 D8 A9 F0 FF FF FF 75 ?? 81 7D DC EF BE AD DE 75 ?? 81 
            7D E8 49 6E 73 74 75 ?? 81 7D E4 73 6F 66 74 75 ?? 81 7D E0 4E 75 6C 6C 75 ?? 09 45 
            08 8B 45 08 8B 0D ?? ?? ?? ?? 83 E0 02 09 05 ?? ?? ?? ?? 8B 45 F0 3B C6 89 0D ?? ?? 
            ?? ?? 0F 8F ?? ?? ?? ?? F6 45 08 08 75 ?? F6 45 08 04 75
        }

        $NSIS_ErrorPart = {
            81 EC ?? ?? ?? ?? 53 55 56 33 DB 57 89 5C 24 ?? C7 44 24 ?? ?? ?? ?? ?? 33 F6 C6 44 
            24 ?? ?? FF 15 ?? ?? ?? ?? 68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 53 FF 15 ?? ?? ?? ?? 6A 
            ?? A3 ?? ?? ?? ?? E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? 53 8D 44 24 ?? 68 ?? ?? ?? ?? 50 53 
            68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? FF 15 
            ?? ?? ?? ?? BF ?? ?? ?? ?? 

Detection condition:
uint16(0) == 0x5A4D and 
        $payload and
        (
            $NSIS_CheckIntegrity or
            ($UPX_Decompression and $UPX_Encrypting) or
            $NSIS_ErrorPart or
            $dumping_functionv2014 or
            $dumping_functionMidVersion or
            ($exception1 and $exception2

Full rule:
rule Win32_PUA_Domaiq : tc_detection malicious
{
    meta:

        author              = "ReversingLabs"

        source              = "ReversingLabs"
        status              = "RELEASED"
        sharing             = "TLP:WHITE"
        category            = "MALWARE"
        malware             = "DOMAIQ"
        description         = "Yara rule that detects Domaiq potentially unwanted application."

        tc_detection_type   = "PUA"
        tc_detection_name   = "Domaiq"
        tc_detection_factor = 1

    strings:
        $payload="PEFxdWlFbXBpZXphRWxQYXlsb2FkPg"

        $NSIS_CheckIntegrity = { 
            57 53 E8 ?? ?? ?? ?? 85 C0 0F 84 ?? ?? ?? ?? 83 3D ?? ?? ?? ?? 00 75 ?? 6A 1C 8D 45 
            D8 53 50 E8 ?? ?? ?? ?? 8B 45 D8 A9 F0 FF FF FF 75 ?? 81 7D DC EF BE AD DE 75 ?? 81 
            7D E8 49 6E 73 74 75 ?? 81 7D E4 73 6F 66 74 75 ?? 81 7D E0 4E 75 6C 6C 75 ?? 09 45 
            08 8B 45 08 8B 0D ?? ?? ?? ?? 83 E0 02 09 05 ?? ?? ?? ?? 8B 45 F0 3B C6 89 0D ?? ?? 
            ?? ?? 0F 8F ?? ?? ?? ?? F6 45 08 08 75 ?? F6 45 08 04 75
        }

        $NSIS_ErrorPart = {
            81 EC ?? ?? ?? ?? 53 55 56 33 DB 57 89 5C 24 ?? C7 44 24 ?? ?? ?? ?? ?? 33 F6 C6 44 
            24 ?? ?? FF 15 ?? ?? ?? ?? 68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 53 FF 15 ?? ?? ?? ?? 6A 
            ?? A3 ?? ?? ?? ?? E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? 53 8D 44 24 ?? 68 ?? ?? ?? ?? 50 53 
            68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? FF 15 
            ?? ?? ?? ?? BF ?? ?? ?? ?? 50 57 E8 ?? ?? ?? ?? 53 FF 15 ?? ?? ?? ?? 80 3D ?? ?? ?? 
            ?? ?? A3 ?? ?? ?? ?? 8B C7 75
        }

        $UPX_Decompression = {
            8A 06 46 88 07 47 01 DB 75 ?? 8B 1E 83 EE ?? 11 DB 72 ?? B8 ?? ?? ?? ?? 01 DB 75 ?? 
            8B 1E 83 EE ?? 11 DB 11 C0 01 DB 73 ?? 75 ?? 8B 1E 83 EE ?? 11 DB 72 ?? 48 01 DB 75
        }

        $UPX_Encrypting = {
            31 C0 8A 07 30 D8 04 ?? 2C ?? 88 07 47 39 CF 75
        }

        $dumpi