/* This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as long as you use it under this license. */ rule bin_ndisk : disk HackingTeam { meta: description = "Hacking Team Disclosure Sample - file ndisk.sys" author = "Florian Roth" reference = "https://www.virustotal.com/en/file/a03a6ed90b89945a992a8c69f716ec3c743fa1d958426f4c50378cca5bef0a01/analysis/1436184181/" date = "2015-07-07" hash = "cf5089752ba51ae827971272a5b761a4ab0acd84" strings: $s1 = "\\Registry\\Machine\\System\\ControlSet00%d\\services\\ndisk.sys" fullword wide $s2 = "\\Registry\\Machine\\System\\ControlSet00%d\\Enum\\Root\\LEGACY_NDISK.SYS" fullword wide $s3 = "\\Driver\\DeepFrz" fullword wide $s4 = "Microsoft Kernel Disk Manager" fullword wide $s5 = "ndisk.sys" fullword wide $s6 = "\\Device\\MSH4DEV1" fullword wide $s7 = "\\DosDevices\\MSH4DEV1" fullword wide $s8 = "built by: WinDDK" fullword wide condition: uint16(0) == 0x5a4d and filesize < 30KB and 6 of them } rule Hackingteam_Elevator_DLL : dll HackingTeam { meta: description = "Hacking Team Disclosure Sample - file elevator.dll" author = "Florian Roth" reference = "http://t.co/EG0qtVcKLh" date = "2015-07-07" hash = "b7ec5d36ca702cc9690ac7279fd4fea28d8bd060" strings: $s1 = "\\sysnative\\CI.dll" fullword ascii $s2 = "setx TOR_CONTROL_PASSWORD" fullword ascii $s3 = "mitmproxy0" fullword ascii $s4 = "\\insert_cert.exe" fullword ascii $s5 = "elevator.dll" fullword ascii $s6 = "CRTDLL.DLL" fullword ascii $s7 = "fail adding cert" fullword ascii $s8 = "DownloadingFile" fullword ascii $s9 = "fail adding cert: %s" fullword ascii $s10 = "InternetOpenA fail" fullword ascii condition: uint16(0) == 0x5a4d and filesize < 1000KB and 6 of them } rule HackingTeam_Elevator_EXE : HackingTeam { meta: description = "Hacking Team Disclosure Sample - file elevator.exe" author = "Florian Roth" reference = "Hacking Team Disclosure elevator.c" date = "2015-07-07" hash1 = "40a10420b9d49f87527bc0396b19ec29e55e9109e80b52456891243791671c1c" hash2 = "92aec56a859679917dffa44bd4ffeb5a8b2ee2894c689abbbcbe07842ec56b8d" hash = "9261693b67b6e379ad0e57598602712b8508998c0cb012ca23139212ae0009a1" strings: $x1 = "CRTDLL.DLL" fullword ascii $x2 = "\\sysnative\\CI.dll" fullword ascii $x3 = "\\SystemRoot\\system32\\CI.dll" fullword ascii $x4 = "C:\\\\Windows\\\\Sysnative\\\\ntoskrnl.exe" fullword ascii /* PEStudio Blacklist: strings */ $s1 = "[*] traversing processes" fullword ascii /* PEStudio Blacklist: strings */ $s2 = "_getkprocess" fullword ascii /* PEStudio Blacklist: strings */ $s3 = "[*] LoaderConfig %p" fullword ascii /* PEStudio Blacklist: strings */ $s4 = "loader.obj" fullword ascii /* PEStudio Blacklist: strings */ $s5 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3" ascii /* PEStudio Blacklist: strings */ $s6 = "[*] token restore" fullword ascii /* PEStudio Blacklist: strings */ $s7 = "elevator.obj" fullword ascii $s8 = "_getexport" fullword ascii /* PEStudio Blacklist: strings */ condition: uint16(0) == 0x5a4d and filesize < 3000KB and all of ($x*) and 3 of ($s*) } import "pe" rule RCS_Backdoor { meta: description = "Hacking Team RCS Backdoor" author = "botherder https://github.com/botherder" strings: $filter1 = "$debug3" $filter2 = "$log2" $filter3 = "error2" $debug1 = /\- (C)hecking components/ wide ascii $debug2 = /\- (A)ctivating hiding system/ wide ascii $debug3 = /(f)ully operational/ wide ascii $log1 = /\- Browser activity \(FF\)/ wide ascii $log2 = /\- Browser activity \(IE\)/ wide ascii // Cause false positives. //$log3 = /\- About to call init routine at %p/ wide ascii //$log4 = /\- Calling init routine at %p/ wide ascii $error1 = /\[Unable to deploy\]/ wide ascii $error2 = /\[The system is already monitored\]/ wide ascii condition: (2 of ($debug*) or 2 of ($log*) or all of ($error*)) and not any of ($filter*) } rule RCS_Scout { meta: description = "Hacking Team RCS Scout" author = "botherder https://github.com/botherder" strings: $filter1 = "$engine5" $filter2 = "$start4" $filter3 = "$upd2" $filter4 = "$lookma6" $engine1 = /(E)ngine started/ wide ascii $engine2 = /(R)unning in background/ wide ascii $engine3 = /(L)ocking doors/ wide ascii $engine4 = /(R)otors engaged/ wide ascii $engine5 = /(I)\'m going to start it/ wide ascii $start1 = /Starting upgrade\!/ wide ascii $start2 = /(I)\'m going to start the program/ wide ascii $start3 = /(i)s it ok\?/ wide ascii $start4 = /(C)lick to start the program/ wide ascii $upd1 = /(U)pdJob/ wide ascii $upd2 = /(U)pdTimer/ wide ascii $lookma1 = /(O)wning PCI bus/ wide $lookma2 = /(F)ormatting bios/ wide $lookma3 = /(P)lease insert a disk in drive A:/ wide $lookma4 = /(U)pdating CPU microcode/ wide $lookma5 = /(N)ot sure what's happening/ wide $lookma6 = /(L)ook ma, no thread id\! \\\\o\// wide condition: (all of ($engine*) or all of ($start*) or all of ($upd*) or 4 of ($lookma*)) and not any of ($filter*) }