├── README.md └── Yara ├── Filetypes ├── vbs.yar ├── SUS_Unsigned_APPX_MSIX_Installer_Feb23.yar ├── powershell.yar ├── SUS_Unsigned_APPX_MSIX_Manifest_Feb23.yar ├── iso.yar ├── lnk.yar ├── MALWARE_OneNote_Delivery_Jan23.yar └── exe.yar ├── Obfuscation ├── vbs_obfuscation.yar ├── javascript_obfuscation.yar └── powershell_obfuscation.yar ├── Malware ├── formbook.yar ├── RANSOM_Magniber_LNK_Jan23.yar ├── RANSOM_Magniber_ISO_Jan23.yar ├── RANSOM_ESXiArgs_Ransomware_Python_Feb23.yar ├── MALWARE_Emotet_OneNote_Delivery_wsf_Mar23.yar ├── RANSOM_ESXiArgs_Ransomware_Bash_Feb23.yar ├── RANSOM_ESXiArgs_Ransomware_Encrypt_Feb23.yar ├── RANSOM_Lockbit_Black_Packer.yar ├── MALWARE_PlugX_USB_Delivery_Jun21.yar └── RANSOM_MedusaLocker_July22.yar ├── PowerShell_Misc └── download_variations.yar ├── Dropper ├── asyncrat.yar ├── Vjw0rm.yar ├── agent_tesla.yar ├── wshrat.yar ├── unknown.yar ├── valyria.yar └── njrat.yar ├── RAT ├── asyncrat.yar ├── njrat.yar ├── n-w0rm.yar └── wshrat.yar ├── Misc └── suspicious_sites.yar ├── Hunting └── HUNT_RTF_CVE_2023_21716.yar ├── Windows └── windows_misc.yar ├── Stealer └── redline_stealer.yar └── APT └── APT_Bitter_T-APT-17.yar /README.md: -------------------------------------------------------------------------------- 1 | # About 2 | 3 | This repository contains detection rules and IOCs that we were able to extract and use in the context of our DFIR projects and malware analyses. 4 | 5 | # Contact 6 | 7 | Follow us on Twitter: https://twitter.com/SI_FalconTeam 8 | -------------------------------------------------------------------------------- /Yara/Filetypes/vbs.yar: -------------------------------------------------------------------------------- 1 | 2 | 3 | rule SUSP_VBS_Wscript_Shell { 4 | meta: 5 | author = "SECUINFRA Falcon Team" 6 | date = "27.02.2022" 7 | description = "Detects the definition of 'Wscript.Shell' which is often used by Malware, FPs are possible and commmon" 8 | 9 | strings: 10 | $wscript = "CreateObject(\"WScript.Shell\")" wide nocase 11 | 12 | condition: 13 | filesize < 300KB and $wscript 14 | } -------------------------------------------------------------------------------- /Yara/Obfuscation/vbs_obfuscation.yar: -------------------------------------------------------------------------------- 1 | 2 | rule OBFUS_VBS_Reverse_StartUp { 3 | meta: 4 | author = "SECUINFRA Falcon Team" 5 | date = "27.02.2022" 6 | description = "Detecs reversed StartUp Path. Sometimes used as obfuscation" 7 | 8 | strings: 9 | $reverse = "\\putratS\\smargorP\\uneM" wide nocase // Menu\Programs\Startup 10 | 11 | condition: 12 | filesize < 200KB and $reverse 13 | } 14 | 15 | -------------------------------------------------------------------------------- /Yara/Malware/formbook.yar: -------------------------------------------------------------------------------- 1 | 2 | rule MALWARE_Formbook_Filename_Stage_2 { 3 | meta: 4 | author = "SECUINFRA Falcon Team" 5 | date = "19.02.2022" 6 | reference = "https://bazaar.abuse.ch/sample/295a708fd87173762a4971443304e23990462f94e8db48d83472f19425daaa87" 7 | version = "0.1" 8 | 9 | strings: 10 | $name = "PDF-Scan180220225499044" ascii wide 11 | 12 | condition: 13 | uint16(0) == 0x5a4d and filesize < 300KB and $name 14 | } -------------------------------------------------------------------------------- /Yara/PowerShell_Misc/download_variations.yar: -------------------------------------------------------------------------------- 1 | rule SUSP_PowerShell_Download_Temp_Rundll : PowerShell Download { 2 | meta: 3 | author = "SECUINFRA Falcon Team" 4 | description = "Detect a Download to %temp% and execution with rundll32.exe" 5 | date = "09.02.2022" 6 | 7 | strings: 8 | $location = "$Env:temp" nocase 9 | $download = "downloadfile(" nocase 10 | $rundll = "rundll32.exe" 11 | 12 | condition: 13 | $location and $download and $rundll 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Yara/Dropper/asyncrat.yar: -------------------------------------------------------------------------------- 1 | 2 | rule DROPPER_Asyncrat_VBS_February_2022_1 { 3 | meta: 4 | author = "SECUINFRA Falcon Team" 5 | date = "21.02.2022" 6 | reference = "https://bazaar.abuse.ch/sample/06cd1e75f05d55ac1ea77ef7bee38bb3b748110b79128dab4c300f1796a2b941/" 7 | 8 | strings: 9 | $a1 = "http://3.145.46.6/" 10 | 11 | $b1 = "Const HIDDEN_WINDOW = 0" 12 | $b2 = "GetObject(\"winmgmts:\\\\" 13 | 14 | $c = "replace(" 15 | 16 | condition: 17 | filesize < 10KB and ($a1 or (all of ($b*) and #c > 10)) 18 | } -------------------------------------------------------------------------------- /Yara/RAT/asyncrat.yar: -------------------------------------------------------------------------------- 1 | import "pe" 2 | 3 | rule MAL_AsyncRAT_Config_Decryption : rat malware asyncrat { 4 | meta: 5 | author = "SECUINFRA Falcon Team" 6 | date = "27.02.2022" 7 | description = "Detects AsnycRAT based on it's config decryption routine" 8 | 9 | strings: 10 | $config_decryption = { 7E [4] 6F [4] 80 [4] 7E [4] 7E [4] 6F [4] 80 [4] 7E [4] 7E [4] 6F [4] 80 [4] 7E } 11 | 12 | condition: 13 | uint16(0) == 0x5a4d 14 | and filesize < 200KB 15 | and pe.imports("mscoree.dll") 16 | and $config_decryption 17 | } -------------------------------------------------------------------------------- /Yara/Dropper/Vjw0rm.yar: -------------------------------------------------------------------------------- 1 | 2 | rule DROPPER_Vjw0rm_Stage_1: JavaScript Dropper Vjw0rm { 3 | meta: 4 | author = "SECUINFRA Falcon Team" 5 | reference = "https://bazaar.abuse.ch/browse.php?search=tag%3AVjw0rm" 6 | date = "19.02.2022" 7 | version = "0.1" 8 | 9 | strings: 10 | $a1 = "$$$" 11 | $a2 = "microsoft.xmldom" 12 | $a3 = "eval" 13 | $a4 = "join(\"\")" 14 | 15 | condition: 16 | (uint16(0) == 0x7566 or uint16(0) == 0x6176 or uint16(0) == 0x0a0d or uint16(0) == 0x660a) 17 | and filesize < 60KB 18 | and all of ($a*) 19 | } -------------------------------------------------------------------------------- /Yara/Misc/suspicious_sites.yar: -------------------------------------------------------------------------------- 1 | rule SUSP_Websites { 2 | meta: 3 | author = "SECUINFRA Falcon Team" 4 | description = "Detects the reference of suspicious sites that might be used to download further malware" 5 | version = "0.2" 6 | date = "27.02.2022" 7 | 8 | 9 | strings: 10 | $site_1 = "https://paste.ee" nocase 11 | $site_2 = "https://pastebin.com" nocase 12 | $site_3 = "https://drive.google.com" nocase 13 | $site_4 = "cdn.discordapp.com/attachments" nocase 14 | $site_5 = "https://transfer.sh" nocase 15 | $site_6 = "ngrok.io" nocase 16 | 17 | condition: 18 | any of ($site_*) 19 | } -------------------------------------------------------------------------------- /Yara/Dropper/agent_tesla.yar: -------------------------------------------------------------------------------- 1 | rule MAL_AgentTesla_Stage_1 : JavaScript AgentTesla ObfuscatorIO { 2 | meta: 3 | author = "SECUINFRA Falcon Team" 4 | hash = "bd257d674778100639b298ea35550bf3bcb8b518978c502453e9839846f9bbec" 5 | reference = "https://bazaar.abuse.ch/sample/bd257d674778100639b298ea35550bf3bcb8b518978c502453e9839846f9bbec/" 6 | description = "Detects the first stage of AgentTesla (JavaScript)" 7 | 8 | strings: 9 | $mz = "TVq" 10 | 11 | $a1 = ".jar" 12 | $a2 = "bin.base64" 13 | $a3 = "appdata" 14 | $a4 = "skype.exe" 15 | 16 | condition: 17 | filesize < 500KB and $mz and 3 of ($a*) 18 | } -------------------------------------------------------------------------------- /Yara/Malware/RANSOM_Magniber_LNK_Jan23.yar: -------------------------------------------------------------------------------- 1 | rule RANSOM_Magniber_LNK_Jan23 2 | { 3 | meta: 4 | author = "SECUINFRA Falcon Team" 5 | description = "Detects Magniber Ransomware LNK files from fake Windows Update delivery method" 6 | reference = "https://twitter.com/SI_FalconTeam/status/1613540054382559234" 7 | date = "2023-01-13" 8 | tlp = "CLEAR" 9 | hash = "16ecec4efa2174dec11f6a295779f905c8f593ab5cc96ae0f5249dc50469841c" 10 | 11 | strings: 12 | $netbiosName = "victim1" ascii fullword 13 | $macAddress = {00 0C 29 07 E1 6D} 14 | 15 | condition: 16 | uint32be(0x0) == 0x4C000000 17 | and all of them 18 | } 19 | -------------------------------------------------------------------------------- /Yara/Dropper/wshrat.yar: -------------------------------------------------------------------------------- 1 | rule DROPPER_WSHRAT_Stage_1 { 2 | meta: 3 | author = "SECUINFRA Falcon Team" 4 | reference = "https://bazaar.abuse.ch/sample/ad24ae27346d930e75283b10d4b949a4986c18dbd5872a91f073334a08169a14/" 5 | date = "11.02.2022" 6 | hash = "793eff1b2039727e76fdd04300d44fc6" 7 | description = "Detects the first stage of WSHRAT as obfuscated JavaScript" 8 | 9 | strings: 10 | $a1 = "'var {0} = WS{1}teObject(\"ado{2}am\");" 11 | 12 | $b1 = "String[\"prototype\"]" 13 | $b2 = "this.replace(" 14 | $b3 = "Array.prototype" 15 | 16 | condition: 17 | filesize < 1500KB and $a1 and #b3 > 3 and #b1 > 2 and $b2 18 | } -------------------------------------------------------------------------------- /Yara/Dropper/unknown.yar: -------------------------------------------------------------------------------- 1 | rule DROPPER_Unknown_1 : Dropper HTA { 2 | meta: 3 | author = "SECUINFRA Falcon Team" 4 | hash = "1749f4127bba3f7204710286b1252e14" 5 | reference = "https://bazaar.abuse.ch/sample/c2bf8931028e0a18eeb8f1a958ade0ab9d64a00c16f72c1a3459f160f0761348/" 6 | description = "Detects unknown HTA Dropper" 7 | date = "10.02.2022" 8 | 9 | strings: 10 | $a1 = "