Este módulo extrae información de los binarios como headers, exports, imports, resources, sections, etc para posteriormente usarlo a través de reglas Yara del siguiente estilo:
import “”r2″”
import “”math””
rule difference_size_and_vsize {
meta:
description = “”Rule to detect binaries with a big difference between section size and section vsize (after unpack). Also, it includes a big entropy and executable flags””
author = “”@plutec_net, @mmorenog””
reference = “”Practical Malware Analysis. BlackHat. Kris Kendall and Chad McMillan. Page 52″”
condition:
for any i in ( 0..r2.number_of_sections ) :
((r2.section[i].vsize > r2.section[i].size*2) and
r2.section[i].flags contains ""x"" and
math.entropy(r2.section[i].paddr, r2.section[i].size) > 7)
}
Este módulo nos permite utiliza mucha información que de otro modo sería de difícil acceso desde Yara.
Todo está desarrollado bajo un modelo de software libre en GitHub (https://github.com/Yara-Rules/r2yara) y documentación en readthedocs (http://r2yara.readthedocs.io/en/latest/) para que cualquier usuario pueda tanto corregir fallos, implementar mejoras o simplemente sugerírnoslos.
