YARA Detection Rule: Win32_Ransomware_Serpent
Repository: reversinglabs/reversinglabs-yara-rules
Detects: Yara rule that detects Serpent ransomware.
Malware family: SERPENT
Author: ReversingLabs

Pattern signatures:
$do_dll_stuff_and_create_thread = {
            68 ?? ?? ?? ?? 6A ?? 6A ?? 68 ?? ?? ?? ?? 6A ?? 6A ?? E8 ?? ?? ?? ?? 8B D8 68 ?? ?? 
            ?? ?? E8 ?? ?? ?? ?? 89 D2 C7 05 ?? ?? ?? ?? ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? 
            ?? 89 FF 90 90 6A ?? 53 E8 ?? ?? ?? ?? 83 3D ?? ?? ?? ?? ?? 0F 84 ?? ?? ?? ?? 68 ?? 
            ?? ?? ?? E8 ?? ?? ?? ?? E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? 
            E8 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? BB ?? ?? ?? ?? 4B 75 ?? BA 
            ?? ?? ?? ?? 66 0F 6E D2 89 FF 89 C9 31 D2 66 0F 7E D2 89 15 ?? ?? ?? ?? 81 3D ?? ?? 
            ?? ?? ?? ?? ?? ?? 0F 85 ?? ?? ?? ?? BB ?? ?? ?? ?? 4B 75 ?? BB ?? ?? ?? ?? 89 C9 4B 
            75 ?? 89 C9 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? BB ?? ?? ?? ?? 4B 
            75 ?? BB ?? ?? ?? ?? E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? E8 ?? ?? ?? ?? 85 C0 79 ?? E8 ?? 
            ?? ?? ?? A3 ?? ?? ?? ?? E8 ?? ?? ?? ?? 85 C0 79 ?? E8 ?? ?? ?? ?? A3 ?? ?? ?? ?

Detection condition:
uint16(0) == 0x5A4D and $do_dll_stuff_and_create_thread and $find_files and $remote_connection and $remote_ftp_connection

Full rule:
rule Win32_Ransomware_Serpent : tc_detection malicious
{
    meta:

        author              = "ReversingLabs"

        source              = "ReversingLabs"
        status              = "RELEASED"
        sharing             = "TLP:WHITE"
        category            = "MALWARE"
        malware             = "SERPENT"
        description         = "Yara rule that detects Serpent ransomware."

        tc_detection_type   = "Ransomware"
        tc_detection_name   = "Serpent"
        tc_detection_factor = 5

    strings:

        $do_dll_stuff_and_create_thread = {
            68 ?? ?? ?? ?? 6A ?? 6A ?? 68 ?? ?? ?? ?? 6A ?? 6A ?? E8 ?? ?? ?? ?? 8B D8 68 ?? ?? 
            ?? ?? E8 ?? ?? ?? ?? 89 D2 C7 05 ?? ?? ?? ?? ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? 
            ?? 89 FF 90 90 6A ?? 53 E8 ?? ?? ?? ?? 83 3D ?? ?? ?? ?? ?? 0F 84 ?? ?? ?? ?? 68 ?? 
            ?? ?? ?? E8 ?? ?? ?? ?? E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? 
            E8 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? BB ?? ?? ?? ?? 4B 75 ?? BA 
            ?? ?? ?? ?? 66 0F 6E D2 89 FF 89 C9 31 D2 66 0F 7E D2 89 15 ?? ?? ?? ?? 81 3D ?? ?? 
            ?? ?? ?? ?? ?? ?? 0F 85 ?? ?? ?? ?? BB ?? ?? ?? ?? 4B 75 ?? BB ?? ?? ?? ?? 89 C9 4B 
            75 ?? 89 C9 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? BB ?? ?? ?? ?? 4B 
            75 ?? BB ?? ?? ?? ?? E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? E8 ?? ?? ?? ?? 85 C0 79 ?? E8 ?? 
            ?? ?? ?? A3 ?? ?? ?? ?? E8 ?? ?? ?? ?? 85 C0 79 ?? E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? 4B 
            75 ?? 89 FF 90 BB ?? ?? ?? ?? 89 C9 4B 75 ?? 90 90 BB ?? ?? ?? ?? 4B 75 ?? BB ?? ?? 
            ?? ?? 4B 75 ?? BB ?? ?? ?? ?? 4B 75 ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 
            50 E8 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? 90 BB ?? ?? ?? ?? 89 D2 4B 75 ?? 6A ?? 68 
            ?? ?? ?? ?? 68 ?? ?? ?? ?? 6A ?? E8 ?? ?? ?? ?? 8B F0 85 F6 0F 84 ?? ?? ?? ?? BA ?? 
            ?? ?? ?? 8B C6 E8 ?? ?? ?? ?? 90 89 C9 BB ?? ?? ?? ?? 89