YARA Detection Rule: PUA_VULN_Driver_Oti_Otipcibussys_Kernelmodedrivertoaccessphysicalmemoryandports_4E3E
Repository: Neo23x0/signature-base
Detects: Detects vulnerable driver mentioned in LOLDrivers project using VersionInfo values from the PE header - otipcibus.sys
Author: Florian Roth
Reference: https://github.com/magicsword-io/LOLDrivers

Pattern signatures:
$ = {[PII_REDACTED]6c[PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]006f006e[1-8][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]00650072 } /* FileDescription HardwareAccessDriver */
		$ = { 0043006f006d[PII_REDACTED]6e0079004e0061006d0065[1-8]004f00540069 } /* CompanyName OTi */
		$ = {[PII_REDACTED]6c[PII_REDACTED][PII_REDACTED]0069006f006e[1-8]0031002e[PII_REDACTED]300030002e0030002e0031 } /* FileVersion  */
		$ = {[PII_REDACTED]6f[PII_REDACTED][PII_REDACTED][PII_REDACTED]730069006f006e[1-8]0031002e[PII_REDACTED]300030002e0030002e0031 } /* ProductVersion  */
		$ = { 0049006e[PII_REDACTED]72006e0061006c004e0061006d0065[1-8]006f[PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]002e[PII_REDACTED]73 } /* InternalName otipcibussys */
		$ = {[PII_REDACTED]6f[PII_REDACTED]630074004e0061006d0065[1-8]004b[PII_REDACTED]6e0065006c0020004d006f[PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]0054006f[PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]006c0020004d0065006d006f[PII_REDACTED]200041006e[PII_REDACTED]50006f[PII_REDACTED]73 } /* ProductName K

Detection condition:
uint16(0) == 0x5a4d and filesize < 100KB and all of them

Full rule:
rule PUA_VULN_Driver_Oti_Otipcibussys_Kernelmodedrivertoaccessphysicalmemoryandports_4E3E {
	meta:
		description = "Detects vulnerable driver mentioned in LOLDrivers project using VersionInfo values from the PE header - otipcibus.sys"
		author = "Florian Roth"
		reference = "https://github.com/magicsword-io/LOLDrivers"
		hash = "4e3eb5b9bce2fd9f6878ae36288211f0997f6149aa8c290ed91228ba4cdfae80"
		date = "2024-08-07"
		score = 40
		id = "71052609-e8a3-5611-ad92-8cf43a0fddf0"
	strings:
		$ = {[PII_REDACTED]6c[PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]006f006e[1-8][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]00650072 } /* FileDescription HardwareAccessDriver */
		$ = { 0043006f006d[PII_REDACTED]6e0079004e0061006d0065[1-8]004f00540069 } /* CompanyName OTi */
		$ = {[PII_REDACTED]6c[PII_REDACTED][PII_REDACTED]0069006f006e[1-8]0031002e[PII_REDACTED]300030002e0030002e0031 } /* FileVersion  */
		$ = {[PII_REDACTED]6f[PII_REDACTED][PII_REDACTED][PII_REDACTED]730069006f006e[1-8]0031002e[PII_REDACTED]300030002e0030002e0031 } /* ProductVersion  */
		$ = { 0049006e[PII_REDACTED]72006e0061006c004e0061006d0065[1-8]006f[PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]002e[PII_REDACTED]73 } /* InternalName otipcibussys */
		$ = {[PII_REDACTED]6f[PII_REDACTED]630074004e0061006d0065[1-8]004b[PII_REDACTED]6e0065006c0020004d006f[PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]0054006f[PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]006c0020004d0065006d006f[PII_REDACTED]200041006e[PII_REDACTED]50006f[PII_REDACTED]73 } /* ProductName KernelModeDriverToAccessPhysicalMemoryAndPorts */
		$ = { 004f[PII_REDACTED]670069006e0061006c[PII_REDACTED]6c0065006e0061006d0065[1-8]006f[PII_REDACTED][PII_REDACTED][PII_REDACTED][PII_REDACTED]002e[PII_REDACTED]73 } /* OriginalFilename otipcibussys */
	condition:
		uint16(0) == 0x5a4d and filesize < 100KB and all of them
}