Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
rules
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fact-depend
rules
Commits
2cb9d752
Commit
2cb9d752
authored
Jan 21, 2017
by
Marc Rivero López
Committed by
GitHub
Jan 21, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update APT_Codoso.yar
Fixed rule style
parent
40504207
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
94 additions
and
29 deletions
+94
-29
APT_Codoso.yar
malware/APT_Codoso.yar
+94
-29
No files found.
malware/APT_Codoso.yar
View file @
2cb9d752
...
@@ -13,38 +13,50 @@
...
@@ -13,38 +13,50 @@
/* Rule Set ----------------------------------------------------------------- */
/* Rule Set ----------------------------------------------------------------- */
rule Codoso_PlugX_3 {
rule Codoso_PlugX_3
{
meta:
meta:
description = "Detects Codoso APT PlugX Malware"
description = "Detects Codoso APT PlugX Malware"
author = "Florian Roth"
author = "Florian Roth"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
date = "2016-01-30"
date = "2016-01-30"
hash = "74e1e83ac69e45a3bee78ac2fac00f9e897f281ea75ed179737e9b6fe39971e3"
hash = "74e1e83ac69e45a3bee78ac2fac00f9e897f281ea75ed179737e9b6fe39971e3"
strings:
strings:
$s1 = "Cannot create folder %sDCRC failed in the encrypted file %s. Corrupt file or wrong password." fullword wide
$s1 = "Cannot create folder %sDCRC failed in the encrypted file %s. Corrupt file or wrong password." fullword wide
$s2 = "mcs.exe" fullword ascii
$s2 = "mcs.exe" fullword ascii
$s3 = "McAltLib.dll" fullword ascii
$s3 = "McAltLib.dll" fullword ascii
$s4 = "WinRAR self-extracting archive" fullword wide
$s4 = "WinRAR self-extracting archive" fullword wide
condition:
condition:
uint16(0) == 0x5a4d and filesize < 1200KB and all of them
uint16(0) == 0x5a4d and filesize < 1200KB and all of them
}
}
rule Codoso_PlugX_2 {
rule Codoso_PlugX_2
{
meta:
meta:
description = "Detects Codoso APT PlugX Malware"
description = "Detects Codoso APT PlugX Malware"
author = "Florian Roth"
author = "Florian Roth"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
date = "2016-01-30"
date = "2016-01-30"
hash = "b9510e4484fa7e3034228337768176fce822162ad819539c6ca3631deac043eb"
hash = "b9510e4484fa7e3034228337768176fce822162ad819539c6ca3631deac043eb"
strings:
strings:
$s1 = "%TEMP%\\HID" fullword wide
$s1 = "%TEMP%\\HID" fullword wide
$s2 = "%s\\hid.dll" fullword wide
$s2 = "%s\\hid.dll" fullword wide
$s3 = "%s\\SOUNDMAN.exe" fullword wide
$s3 = "%s\\SOUNDMAN.exe" fullword wide
$s4 = "\"%s\\SOUNDMAN.exe\" %d %d" fullword wide
$s4 = "\"%s\\SOUNDMAN.exe\" %d %d" fullword wide
$s5 = "%s\\HID.dllx" fullword wide
$s5 = "%s\\HID.dllx" fullword wide
condition:
condition:
( uint16(0) == 0x5a4d and filesize < 400KB and 3 of them ) or all of them
( uint16(0) == 0x5a4d and filesize < 400KB and 3 of them ) or all of them
}
}
rule Codoso_CustomTCP_4 {
rule Codoso_CustomTCP_4
{
meta:
meta:
description = "Detects Codoso APT CustomTCP Malware"
description = "Detects Codoso APT CustomTCP Malware"
author = "Florian Roth"
author = "Florian Roth"
...
@@ -54,9 +66,9 @@ rule Codoso_CustomTCP_4 {
...
@@ -54,9 +66,9 @@ rule Codoso_CustomTCP_4 {
hash2 = "130abb54112dd47284fdb169ff276f61f2b69d80ac0a9eac52200506f147b5f8"
hash2 = "130abb54112dd47284fdb169ff276f61f2b69d80ac0a9eac52200506f147b5f8"
hash3 = "3ea6b2b51050fe7c07e2cf9fa232de6a602aa5eff66a2e997b25785f7cf50daa"
hash3 = "3ea6b2b51050fe7c07e2cf9fa232de6a602aa5eff66a2e997b25785f7cf50daa"
hash4 = "02cf5c244aebaca6195f45029c1e37b22495609be7bdfcfcd79b0c91eac44a13"
hash4 = "02cf5c244aebaca6195f45029c1e37b22495609be7bdfcfcd79b0c91eac44a13"
strings:
strings:
$x1 = "varus_service_x86.dll" fullword ascii
$x1 = "varus_service_x86.dll" fullword ascii
$s1 = "/s %s /p %d /st %d /rt %d" fullword ascii
$s1 = "/s %s /p %d /st %d /rt %d" fullword ascii
$s2 = "net start %%1" fullword ascii
$s2 = "net start %%1" fullword ascii
$s3 = "ping 127.1 > nul" fullword ascii
$s3 = "ping 127.1 > nul" fullword ascii
...
@@ -64,17 +76,21 @@ rule Codoso_CustomTCP_4 {
...
@@ -64,17 +76,21 @@ rule Codoso_CustomTCP_4 {
$s5 = "sc start %%1" fullword ascii
$s5 = "sc start %%1" fullword ascii
$s6 = "net stop %%1" fullword ascii
$s6 = "net stop %%1" fullword ascii
$s7 = "WorkerRun" fullword ascii
$s7 = "WorkerRun" fullword ascii
condition:
condition:
( uint16(0) == 0x5a4d and filesize < 400KB and 5 of them ) or
( uint16(0) == 0x5a4d and filesize < 400KB and 5 of them ) or ( $x1 and 2 of ($s*) )
( $x1 and 2 of ($s*) )
}
}
rule Codoso_CustomTCP_3 {
rule Codoso_CustomTCP_3
{
meta:
meta:
description = "Detects Codoso APT CustomTCP Malware"
description = "Detects Codoso APT CustomTCP Malware"
author = "Florian Roth"
author = "Florian Roth"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
date = "2016-01-30"
date = "2016-01-30"
hash = "d66106ec2e743dae1d71b60a602ca713b93077f56a47045f4fc9143aa3957090"
hash = "d66106ec2e743dae1d71b60a602ca713b93077f56a47045f4fc9143aa3957090"
strings:
strings:
$s1 = "DnsApi.dll" fullword ascii
$s1 = "DnsApi.dll" fullword ascii
$s2 = "softWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\%s" ascii
$s2 = "softWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\%s" ascii
...
@@ -85,16 +101,21 @@ rule Codoso_CustomTCP_3 {
...
@@ -85,16 +101,21 @@ rule Codoso_CustomTCP_3 {
$s7 = "%systemroot%\\Web\\" ascii
$s7 = "%systemroot%\\Web\\" ascii
$s8 = "Proxy-Authorization: Negotiate %s" ascii
$s8 = "Proxy-Authorization: Negotiate %s" ascii
$s9 = "CLSID\\{%s}\\InprocServer32" ascii
$s9 = "CLSID\\{%s}\\InprocServer32" ascii
condition:
condition:
( uint16(0) == 0x5a4d and filesize < 500KB and 5 of them ) or 7 of them
( uint16(0) == 0x5a4d and filesize < 500KB and 5 of them ) or 7 of them
}
}
rule Codoso_CustomTCP_2 {
rule Codoso_CustomTCP_2
{
meta:
meta:
description = "Detects Codoso APT CustomTCP Malware"
description = "Detects Codoso APT CustomTCP Malware"
author = "Florian Roth"
author = "Florian Roth"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
date = "2016-01-30"
date = "2016-01-30"
hash = "3577845d71ae995762d4a8f43b21ada49d809f95c127b770aff00ae0b64264a3"
hash = "3577845d71ae995762d4a8f43b21ada49d809f95c127b770aff00ae0b64264a3"
strings:
strings:
$s1 = "varus_service_x86.dll" fullword ascii
$s1 = "varus_service_x86.dll" fullword ascii
$s2 = "/s %s /p %d /st %d /rt %d" fullword ascii
$s2 = "/s %s /p %d /st %d /rt %d" fullword ascii
...
@@ -104,32 +125,41 @@ rule Codoso_CustomTCP_2 {
...
@@ -104,32 +125,41 @@ rule Codoso_CustomTCP_2 {
$s6 = "sc start %%1" fullword ascii
$s6 = "sc start %%1" fullword ascii
$s7 = "B_WKNDNSK^" fullword ascii
$s7 = "B_WKNDNSK^" fullword ascii
$s8 = "net stop %%1" fullword ascii
$s8 = "net stop %%1" fullword ascii
condition:
condition:
uint16(0) == 0x5a4d and filesize < 406KB and all of them
uint16(0) == 0x5a4d and filesize < 406KB and all of them
}
}
rule Codoso_PGV_PVID_6 {
rule Codoso_PGV_PVID_6
{
meta:
meta:
description = "Detects Codoso APT PGV_PVID Malware"
description = "Detects Codoso APT PGV_PVID Malware"
author = "Florian Roth"
author = "Florian Roth"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
date = "2016-01-30"
date = "2016-01-30"
hash = "4b16f6e8414d4192d0286b273b254fa1bd633f5d3d07ceebd03dfdfc32d0f17f"
hash = "4b16f6e8414d4192d0286b273b254fa1bd633f5d3d07ceebd03dfdfc32d0f17f"
strings:
strings:
$s0 = "rundll32 \"%s\",%s" fullword ascii
$s0 = "rundll32 \"%s\",%s" fullword ascii
$s1 = "/c ping 127.%d & del \"%s\"" fullword ascii
$s1 = "/c ping 127.%d & del \"%s\"" fullword ascii
condition:
condition:
uint16(0) == 0x5a4d and filesize < 6000KB and all of them
uint16(0) == 0x5a4d and filesize < 6000KB and all of them
}
}
rule Codoso_Gh0st_3 {
rule Codoso_Gh0st_3
{
meta:
meta:
description = "Detects Codoso APT Gh0st Malware"
description = "Detects Codoso APT Gh0st Malware"
author = "Florian Roth"
author = "Florian Roth"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
date = "2016-01-30"
date = "2016-01-30"
hash = "bf52ca4d4077ae7e840cf6cd11fdec0bb5be890ddd5687af5cfa581c8c015fcd"
hash = "bf52ca4d4077ae7e840cf6cd11fdec0bb5be890ddd5687af5cfa581c8c015fcd"
strings:
strings:
$x1 = "RunMeByDLL32" fullword ascii
$x1 = "RunMeByDLL32" fullword ascii
$s1 = "svchost.dll" fullword wide
$s1 = "svchost.dll" fullword wide
$s2 = "server.dll" fullword ascii
$s2 = "server.dll" fullword ascii
$s3 = "Copyright ? 2008" fullword wide
$s3 = "Copyright ? 2008" fullword wide
...
@@ -137,16 +167,21 @@ rule Codoso_Gh0st_3 {
...
@@ -137,16 +167,21 @@ rule Codoso_Gh0st_3 {
$s5 = "Device Protect Application" fullword wide
$s5 = "Device Protect Application" fullword wide
$s6 = "MSVCP60.DLL" fullword ascii /* Goodware String - occured 1 times */
$s6 = "MSVCP60.DLL" fullword ascii /* Goodware String - occured 1 times */
$s7 = "mail-news.eicp.net" fullword ascii
$s7 = "mail-news.eicp.net" fullword ascii
condition:
condition:
uint16(0) == 0x5a4d and filesize < 195KB and $x1 or 4 of them
uint16(0) == 0x5a4d and filesize < 195KB and $x1 or 4 of them
}
}
rule Codoso_Gh0st_2 {
rule Codoso_Gh0st_2
{
meta:
meta:
description = "Detects Codoso APT Gh0st Malware"
description = "Detects Codoso APT Gh0st Malware"
author = "Florian Roth"
author = "Florian Roth"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
date = "2016-01-30"
date = "2016-01-30"
hash = "5402c785037614d09ad41e41e11093635455b53afd55aa054a09a84274725841"
hash = "5402c785037614d09ad41e41e11093635455b53afd55aa054a09a84274725841"
strings:
strings:
$s0 = "cmd.exe /c ping 127.0.0.1 && ping 127.0.0.1 && sc start %s && ping 127.0.0.1 && sc start %s" fullword ascii
$s0 = "cmd.exe /c ping 127.0.0.1 && ping 127.0.0.1 && sc start %s && ping 127.0.0.1 && sc start %s" fullword ascii
$s1 = "rundll32.exe \"%s\", RunMeByDLL32" fullword ascii
$s1 = "rundll32.exe \"%s\", RunMeByDLL32" fullword ascii
...
@@ -154,29 +189,37 @@ rule Codoso_Gh0st_2 {
...
@@ -154,29 +189,37 @@ rule Codoso_Gh0st_2 {
$s14 = "%s -r debug 1" fullword ascii
$s14 = "%s -r debug 1" fullword ascii
$s15 = "\\\\.\\keymmdrv1" fullword ascii
$s15 = "\\\\.\\keymmdrv1" fullword ascii
$s17 = "RunMeByDLL32" fullword ascii
$s17 = "RunMeByDLL32" fullword ascii
condition:
condition:
uint16(0) == 0x5a4d and filesize < 500KB and 1 of them
uint16(0) == 0x5a4d and filesize < 500KB and 1 of them
}
}
rule Codoso_CustomTCP {
rule Codoso_CustomTCP
{
meta:
meta:
description = "Codoso CustomTCP Malware"
description = "Codoso CustomTCP Malware"
author = "Florian Roth"
author = "Florian Roth"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
reference = "https://www.proofpoint.com/us/exploring-bergard-old-malware-new-tricks"
date = "2016-01-30"
date = "2016-01-30"
hash = "b95d7f56a686a05398198d317c805924c36f3abacbb1b9e3f590ec0d59f845d8"
hash = "b95d7f56a686a05398198d317c805924c36f3abacbb1b9e3f590ec0d59f845d8"
strings:
strings:
$s4 = "wnyglw" fullword ascii
$s4 = "wnyglw" fullword ascii
$s5 = "WorkerRun" fullword ascii
$s5 = "WorkerRun" fullword ascii
$s7 = "boazdcd" fullword ascii
$s7 = "boazdcd" fullword ascii
$s8 = "wayflw" fullword ascii
$s8 = "wayflw" fullword ascii
$s9 = "CODETABL" fullword ascii
$s9 = "CODETABL" fullword ascii
condition:
condition:
uint16(0) == 0x5a4d and filesize < 405KB and all of them
uint16(0) == 0x5a4d and filesize < 405KB and all of them
}
}
/* Super Rules ------------------------------------------------------------- */
/* Super Rules ------------------------------------------------------------- */
rule Codoso_PGV_PVID_5 {
rule Codoso_PGV_PVID_5
{
meta:
meta:
description = "Detects Codoso APT PGV PVID Malware"
description = "Detects Codoso APT PGV PVID Malware"
author = "Florian Roth"
author = "Florian Roth"
...
@@ -185,13 +228,17 @@ rule Codoso_PGV_PVID_5 {
...
@@ -185,13 +228,17 @@ rule Codoso_PGV_PVID_5 {
super_rule = 1
super_rule = 1
hash1 = "13bce64b3b5bdfd24dc6f786b5bee08082ea736be6536ef54f9c908fd1d00f75"
hash1 = "13bce64b3b5bdfd24dc6f786b5bee08082ea736be6536ef54f9c908fd1d00f75"
hash2 = "bc0b885cddf80755c67072c8b5961f7f0adcaeb67a1a5c6b3475614fd51696fe"
hash2 = "bc0b885cddf80755c67072c8b5961f7f0adcaeb67a1a5c6b3475614fd51696fe"
strings:
strings:
$s1 = "/c del %s >> NUL" fullword ascii
$s1 = "/c del %s >> NUL" fullword ascii
$s2 = "%s%s.manifest" fullword ascii
$s2 = "%s%s.manifest" fullword ascii
condition:
condition:
uint16(0) == 0x5a4d and filesize < 500KB and all of them
uint16(0) == 0x5a4d and filesize < 500KB and all of them
}
}
rule Codoso_Gh0st_1 {
rule Codoso_Gh0st_1
{
meta:
meta:
description = "Detects Codoso APT Gh0st Malware"
description = "Detects Codoso APT Gh0st Malware"
author = "Florian Roth"
author = "Florian Roth"
...
@@ -201,12 +248,12 @@ rule Codoso_Gh0st_1 {
...
@@ -201,12 +248,12 @@ rule Codoso_Gh0st_1 {
hash1 = "5402c785037614d09ad41e41e11093635455b53afd55aa054a09a84274725841"
hash1 = "5402c785037614d09ad41e41e11093635455b53afd55aa054a09a84274725841"
hash2 = "7dc7cec2c3f7e56499175691f64060ebd955813002d4db780e68a8f6e7d0a8f8"
hash2 = "7dc7cec2c3f7e56499175691f64060ebd955813002d4db780e68a8f6e7d0a8f8"
hash3 = "d7004910a87c90ade7e5ff6169f2b866ece667d2feebed6f0ec856fb838d2297"
hash3 = "d7004910a87c90ade7e5ff6169f2b866ece667d2feebed6f0ec856fb838d2297"
strings:
strings:
$x1 = "cmd.exe /c ping 127.0.0.1 && ping 127.0.0.1 && sc start %s && ping 127.0.0.1 && sc start %s" fullword ascii
$x1 = "cmd.exe /c ping 127.0.0.1 && ping 127.0.0.1 && sc start %s && ping 127.0.0.1 && sc start %s" fullword ascii
$x2 = "rundll32.exe \"%s\", RunMeByDLL32" fullword ascii
$x2 = "rundll32.exe \"%s\", RunMeByDLL32" fullword ascii
$x3 = "Elevation:Administrator!new:{3ad05575-8857-4850-9277-11b85bdb8e09}" fullword wide
$x3 = "Elevation:Administrator!new:{3ad05575-8857-4850-9277-11b85bdb8e09}" fullword wide
$x4 = "\\\\.\\keymmdrv1" fullword ascii
$x4 = "\\\\.\\keymmdrv1" fullword ascii
$s1 = "spideragent.exe" fullword ascii
$s1 = "spideragent.exe" fullword ascii
$s2 = "AVGIDSAgent.exe" fullword ascii
$s2 = "AVGIDSAgent.exe" fullword ascii
$s3 = "kavsvc.exe" fullword ascii
$s3 = "kavsvc.exe" fullword ascii
...
@@ -214,7 +261,6 @@ rule Codoso_Gh0st_1 {
...
@@ -214,7 +261,6 @@ rule Codoso_Gh0st_1 {
$s5 = "kav.exe" fullword ascii
$s5 = "kav.exe" fullword ascii
$s6 = "avp.exe" fullword ascii
$s6 = "avp.exe" fullword ascii
$s7 = "NAV.exe" fullword ascii
$s7 = "NAV.exe" fullword ascii
$c1 = "Elevation:Administrator!new:" wide
$c1 = "Elevation:Administrator!new:" wide
$c2 = "Global\\RUNDLL32EXITEVENT_NAME{12845-8654-543}" fullword ascii
$c2 = "Global\\RUNDLL32EXITEVENT_NAME{12845-8654-543}" fullword ascii
$c3 = "\\sysprep\\sysprep.exe" fullword wide
$c3 = "\\sysprep\\sysprep.exe" fullword wide
...
@@ -223,12 +269,14 @@ rule Codoso_Gh0st_1 {
...
@@ -223,12 +269,14 @@ rule Codoso_Gh0st_1 {
$c6 = "ConsentPromptBehaviorAdmin" fullword ascii
$c6 = "ConsentPromptBehaviorAdmin" fullword ascii
$c7 = "\\sysprep" fullword wide
$c7 = "\\sysprep" fullword wide
$c8 = "Global\\UN{5FFC0C8B-8BE5-49d5-B9F2-BCDC8976EE10}" fullword ascii
$c8 = "Global\\UN{5FFC0C8B-8BE5-49d5-B9F2-BCDC8976EE10}" fullword ascii
condition:
condition:
uint16(0) == 0x5a4d and filesize < 1000KB and ( 4 of ($s*) or 4 of ($c*) ) or
uint16(0) == 0x5a4d and filesize < 1000KB and ( 4 of ($s*) or 4 of ($c*) ) or 1 of ($x*) or 6 of ($c*)
1 of ($x*) or
6 of ($c*)
}
}
rule Codoso_PGV_PVID_4 {
rule Codoso_PGV_PVID_4
{
meta:
meta:
description = "Detects Codoso APT PlugX Malware"
description = "Detects Codoso APT PlugX Malware"
author = "Florian Roth"
author = "Florian Roth"
...
@@ -240,12 +288,12 @@ rule Codoso_PGV_PVID_4 {
...
@@ -240,12 +288,12 @@ rule Codoso_PGV_PVID_4 {
hash3 = "b2950f2e09f5356e985c38b284ea52175d21feee12e582d674c0da2233b1feb1"
hash3 = "b2950f2e09f5356e985c38b284ea52175d21feee12e582d674c0da2233b1feb1"
hash4 = "b631553421aa17171cc47248adc110ca2e79eff44b5e5b0234d69b30cab104e3"
hash4 = "b631553421aa17171cc47248adc110ca2e79eff44b5e5b0234d69b30cab104e3"
hash5 = "bc0b885cddf80755c67072c8b5961f7f0adcaeb67a1a5c6b3475614fd51696fe"
hash5 = "bc0b885cddf80755c67072c8b5961f7f0adcaeb67a1a5c6b3475614fd51696fe"
strings:
strings:
$x1 = "dropper, Version 1.0" fullword wide
$x1 = "dropper, Version 1.0" fullword wide
$x2 = "dropper" fullword wide
$x2 = "dropper" fullword wide
$x3 = "DROPPER" fullword wide
$x3 = "DROPPER" fullword wide
$x4 = "About dropper" fullword wide
$x4 = "About dropper" fullword wide
$s1 = "Microsoft Windows Manager Utility" fullword wide
$s1 = "Microsoft Windows Manager Utility" fullword wide
$s2 = "SYSTEM\\CurrentControlSet\\Services\\" fullword ascii /* Goodware String - occured 9 times */
$s2 = "SYSTEM\\CurrentControlSet\\Services\\" fullword ascii /* Goodware String - occured 9 times */
$s3 = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\Notify" fullword ascii /* Goodware String - occured 10 times */
$s3 = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\Notify" fullword ascii /* Goodware String - occured 10 times */
...
@@ -254,7 +302,10 @@ rule Codoso_PGV_PVID_4 {
...
@@ -254,7 +302,10 @@ rule Codoso_PGV_PVID_4 {
condition:
condition:
uint16(0) == 0x5a4d and filesize < 900KB and 1 of ($x*) and 2 of ($s*)
uint16(0) == 0x5a4d and filesize < 900KB and 1 of ($x*) and 2 of ($s*)
}
}
rule Codoso_PlugX_1 {
rule Codoso_PlugX_1
{
meta:
meta:
description = "Detects Codoso APT PlugX Malware"
description = "Detects Codoso APT PlugX Malware"
author = "Florian Roth"
author = "Florian Roth"
...
@@ -264,14 +315,19 @@ rule Codoso_PlugX_1 {
...
@@ -264,14 +315,19 @@ rule Codoso_PlugX_1 {
hash1 = "0b8cbc9b4761ab35acce2aa12ba2c0a283afd596b565705514fd802c8b1e144b"
hash1 = "0b8cbc9b4761ab35acce2aa12ba2c0a283afd596b565705514fd802c8b1e144b"
hash2 = "448711bd3f689ceebb736d25253233ac244d48cb766834b8f974c2e9d4b462e8"
hash2 = "448711bd3f689ceebb736d25253233ac244d48cb766834b8f974c2e9d4b462e8"
hash3 = "fd22547497ce52049083092429eeff0599d0b11fe61186e91c91e1f76b518fe2"
hash3 = "fd22547497ce52049083092429eeff0599d0b11fe61186e91c91e1f76b518fe2"
strings:
strings:
$s1 = "GETPASSWORD1" fullword ascii
$s1 = "GETPASSWORD1" fullword ascii
$s2 = "NvSmartMax.dll" fullword ascii
$s2 = "NvSmartMax.dll" fullword ascii
$s3 = "LICENSEDLG" fullword ascii
$s3 = "LICENSEDLG" fullword ascii
condition:
condition:
uint16(0) == 0x5a4d and filesize < 800KB and all of them
uint16(0) == 0x5a4d and filesize < 800KB and all of them
}
}
rule Codoso_PGV_PVID_3 {
rule Codoso_PGV_PVID_3
{
meta:
meta:
description = "Detects Codoso APT PGV PVID Malware"
description = "Detects Codoso APT PGV PVID Malware"
author = "Florian Roth"
author = "Florian Roth"
...
@@ -284,12 +340,17 @@ rule Codoso_PGV_PVID_3 {
...
@@ -284,12 +340,17 @@ rule Codoso_PGV_PVID_3 {
hash4 = "b2950f2e09f5356e985c38b284ea52175d21feee12e582d674c0da2233b1feb1"
hash4 = "b2950f2e09f5356e985c38b284ea52175d21feee12e582d674c0da2233b1feb1"
hash5 = "b631553421aa17171cc47248adc110ca2e79eff44b5e5b0234d69b30cab104e3"
hash5 = "b631553421aa17171cc47248adc110ca2e79eff44b5e5b0234d69b30cab104e3"
hash6 = "bc0b885cddf80755c67072c8b5961f7f0adcaeb67a1a5c6b3475614fd51696fe"
hash6 = "bc0b885cddf80755c67072c8b5961f7f0adcaeb67a1a5c6b3475614fd51696fe"
strings:
strings:
$x1 = "Copyright (C) Microsoft Corporation. All rights reserved.(C) 2012" fullword wide
$x1 = "Copyright (C) Microsoft Corporation. All rights reserved.(C) 2012" fullword wide
condition:
condition:
$x1
$x1
}
}
rule Codoso_PGV_PVID_2 {
rule Codoso_PGV_PVID_2
{
meta:
meta:
description = "Detects Codoso APT PGV PVID Malware"
description = "Detects Codoso APT PGV PVID Malware"
author = "Florian Roth"
author = "Florian Roth"
...
@@ -299,6 +360,7 @@ rule Codoso_PGV_PVID_2 {
...
@@ -299,6 +360,7 @@ rule Codoso_PGV_PVID_2 {
hash1 = "13bce64b3b5bdfd24dc6f786b5bee08082ea736be6536ef54f9c908fd1d00f75"
hash1 = "13bce64b3b5bdfd24dc6f786b5bee08082ea736be6536ef54f9c908fd1d00f75"
hash2 = "b631553421aa17171cc47248adc110ca2e79eff44b5e5b0234d69b30cab104e3"
hash2 = "b631553421aa17171cc47248adc110ca2e79eff44b5e5b0234d69b30cab104e3"
hash3 = "bc0b885cddf80755c67072c8b5961f7f0adcaeb67a1a5c6b3475614fd51696fe"
hash3 = "bc0b885cddf80755c67072c8b5961f7f0adcaeb67a1a5c6b3475614fd51696fe"
strings:
strings:
$s0 = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\SvcHost" fullword ascii
$s0 = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\SvcHost" fullword ascii
$s1 = "regsvr32.exe /s \"%s\"" fullword ascii
$s1 = "regsvr32.exe /s \"%s\"" fullword ascii
...
@@ -307,10 +369,14 @@ rule Codoso_PGV_PVID_2 {
...
@@ -307,10 +369,14 @@ rule Codoso_PGV_PVID_2 {
$s9 = "%SystemRoot%\\System32\\svchost.exe -k netsvcs" fullword ascii /* Goodware String - occured 4 times */
$s9 = "%SystemRoot%\\System32\\svchost.exe -k netsvcs" fullword ascii /* Goodware String - occured 4 times */
$s10 = "winlogon" fullword ascii /* Goodware String - occured 4 times */
$s10 = "winlogon" fullword ascii /* Goodware String - occured 4 times */
$s11 = "System\\CurrentControlSet\\Services" fullword ascii /* Goodware String - occured 11 times */
$s11 = "System\\CurrentControlSet\\Services" fullword ascii /* Goodware String - occured 11 times */
condition:
condition:
uint16(0) == 0x5a4d and filesize < 907KB and all of them
uint16(0) == 0x5a4d and filesize < 907KB and all of them
}
}
rule Codoso_PGV_PVID_1 {
rule Codoso_PGV_PVID_1
{
meta:
meta:
description = "Detects Codoso APT PGV PVID Malware"
description = "Detects Codoso APT PGV PVID Malware"
author = "Florian Roth"
author = "Florian Roth"
...
@@ -322,10 +388,10 @@ rule Codoso_PGV_PVID_1 {
...
@@ -322,10 +388,10 @@ rule Codoso_PGV_PVID_1 {
hash3 = "934b87ddceabb2063b5e5bc4f964628fe0c63b63bb2346b105ece19915384fc7"
hash3 = "934b87ddceabb2063b5e5bc4f964628fe0c63b63bb2346b105ece19915384fc7"
hash4 = "ce91ea20aa2e6af79508dd0a40ab0981f463b4d2714de55e66d228c579578266"
hash4 = "ce91ea20aa2e6af79508dd0a40ab0981f463b4d2714de55e66d228c579578266"
hash5 = "e770a298ae819bba1c70d0c9a2e02e4680d3cdba22d558d21caaa74e3970adf1"
hash5 = "e770a298ae819bba1c70d0c9a2e02e4680d3cdba22d558d21caaa74e3970adf1"
strings:
strings:
$x1 = "Cookie: pgv_pvid=" ascii
$x1 = "Cookie: pgv_pvid=" ascii
$x2 = "DRIVERS\\ipinip.sys" fullword wide
$x2 = "DRIVERS\\ipinip.sys" fullword wide
$s1 = "TsWorkSpaces.dll" fullword ascii
$s1 = "TsWorkSpaces.dll" fullword ascii
$s2 = "%SystemRoot%\\System32\\wiaservc.dll" fullword wide
$s2 = "%SystemRoot%\\System32\\wiaservc.dll" fullword wide
$s3 = "/selfservice/microsites/search.php?%016I64d" fullword ascii
$s3 = "/selfservice/microsites/search.php?%016I64d" fullword ascii
...
@@ -335,6 +401,5 @@ rule Codoso_PGV_PVID_1 {
...
@@ -335,6 +401,5 @@ rule Codoso_PGV_PVID_1 {
$s7 = "{%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}" fullword ascii
$s7 = "{%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}" fullword ascii
$s8 = "WUServiceMain" fullword ascii /* Goodware String - occured 2 times */
$s8 = "WUServiceMain" fullword ascii /* Goodware String - occured 2 times */
condition:
condition:
( uint16(0) == 0x5a4d and ( 1 of ($x*) or 3 of them ) ) or
( uint16(0) == 0x5a4d and ( 1 of ($x*) or 3 of them ) ) or 5 of them
5 of them
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment