Para clasificar los mensajes, todas las reglas de PhishER deben seguir la lógica de las reglas YARA (siglas de Yet Another Recursive/Ridiculous Acronym). Puede utilizar las reglas YARA para clasificar los mensajes en función de los archivos adjuntos que incluya, posibles fraudes del CEO y mucho más. Esta guía contiene una lista de casos de uso comunes de las reglas YARA. Puede crear estas reglas para utilizarlas en la plataforma PhishER. Para obtener más información sobre la escritura de reglas YARA, consulte el artículo Cómo escribir reglas YARA o el vídeo Reglas YARA.
Regla de archivos adjuntos
Si quiere crear una regla YARA que detecte si se ha incluido cualquier tipo de archivo adjunto en un correo electrónico, puede utilizar la regla de ejemplo de la captura de pantalla y el bloque de código que aparecen a continuación:
rule Attachments
{
strings:
$Attachment = "X-Attachment-Id"
condition:
$Attachment
}
Esta regla no detecta tipos de archivos adjuntos específicos. Si quiere escribir una regla que detecte tipos de archivos adjuntos específicos, puede utilizar las reglas de ejemplo de la captura de pantalla y el bloque de código que aparecen a continuación:
rule Attachments {
strings:
$doc = ".doc"
$htm = ".htm"
$exe = ".exe"
$pdf = ".pdf"
$excel = ".xlsx"
$ics = ".ics"
$png = ".png"
$jpg = ".jpg"
$gif = ".gif"
condition:
any of them
}
Regla de correos electrónicos de software automatizado
Si quiere crear una regla YARA que detecte los correos electrónicos de software automatizado, puede utilizar la regla de ejemplo de la captura de pantalla y el bloque de código que aparecen a continuación:
rule Automated_SoftwareEmails
{
strings:
$ = /(\n|\r)From:.{0,200}[Salesforce].{0,200}</ nocase
$ = /(\n|\r)Subject:.{0,200}[Salesforce]/ nocase
$ = /(\n|\r)From:.{0,200}[HubSpot].{0,200}</ nocase
$ = /(\n|\r)Subject:.{0,200}[HubSpot]/ nocase
condition:
any of them
}
Para que esta regla funcione, debe sustituir el texto entre corchetes por el nombre de una aplicación de software. Le recomendamos que utilice el nombre de una aplicación de software que utilice su organización o de la que es probable que reciba un correo electrónico.
Regla de fraude del CEO
Si quiere crear una regla YARA que identifique posibles intentos de fraude del CEO, puede utilizar la regla de ejemplo de la captura de pantalla y el bloque de código que aparecen a continuación:
rule CEO_Fraud
{
strings:
$FromEmail = /From:.{0,20}\<[yourCEO@example.com]\>/ nocase
$FromName = /From:.{0,20}[yourCEO].{0,20}<.{5,100}>/ nocase
$FromNameEmail = /From:.{0,20}[yourCEO].{0,20}\<[yourCEO@example.com]\>/ nocase
$Reply = /Reply-To:.{0,20}/ nocase
$ReplyEmail = /Reply-To:.{0,20}\<[yourCEO@example.com]\>/ nocase
$ReplyName = /Reply-To:.{0,20}[yourCEO].{0,20}\</ nocase
$ReplyNameEmail = /Reply-To:.{0,20}[yourCEO].{0,20}\<[yourCEO@example.com]\>/ nocase
condition:
($Reply and $FromNameEmail and not $ReplyNameEmail)
or ($Reply and not $FromNameEmail and $ReplyNameEmail)
or ($Reply and $FromEmail and not $ReplyEmail)
or ($Reply and not $FromEmail and $ReplyEmail)
or ($FromName and not $FromEmail)
or ($ReplyName and not $ReplyNameEmail)
}
Si utiliza esta regla, deberá sustituir cada instancia del marcador de posición [yourCEO@example.com] por la dirección de correo electrónico de su CEO. También deberá sustituir cada instancia del marcador de posición [yourCEO] por el nombre de su CEO.
Regla de remitente interno
Si quiere crear una regla YARA que identifique cualquier correo electrónico procedente de su dominio que no sea un correo electrónico de suplantación de identidad, puede utilizar la regla de ejemplo de la captura de pantalla y el bloque de código que aparecen a continuación:
rule InternalSender
{
strings:
$a = /from:.{0,60}@domain.com/ nocase
$b = /Return-Path:.{0,60}@domain.com/ nocase
$c = "header.from=domain.com"
$d = /Authentication-Results:.{0,20}spf=pass/ nocase
condition:
all of them
}
Regla de correos electrónicos de formación de KnowBe4
Si quiere crear una regla YARA que detecte todos los correos electrónicos de notificación de formación de su consola KSAT, puede utilizar la regla de ejemplo de la captura de pantalla y el bloque de código que aparecen a continuación:
rule KnowBe4_TrainingEmails
{
strings:
$ = /Return-Path:.{0,50}psm.knowbe4.com>/ nocase
$ = /Received:.{0,50}(147.160.167.\d{1,3})/ nocase
$ = /Received:.{0,50}(23.21.109.197)/ nocase
$ = /Received:.{0,50}(23.21.109.212)/ nocase
$ = /Received:.{0,50}psm.knowbe4.com/ nocase
condition:
any of them
}
Regla de ausencia
Puede crear una regla YARA que detecte la ausencia de un valor en un destino de PhishER seleccionado. Para crear esta regla, puede utilizar la regla de ejemplo de la captura de pantalla y el bloque de código que aparecen a continuación:
rule notPresent
{
strings:
$a = "KnowBe4" nocase
condition:
(not $a) and (filesize > 0)
}
Para utilizar esta regla, deberá incluir la variable especial filesize en la condición de la regla. La variable filesize comprueba si el destino que ha seleccionado está vacío. Este proceso es útil si recibe un correo electrónico con un cuerpo HTML y un cuerpo de texto sin formato, ya que un tipo de cuerpo podría estar vacío, mientras que el otro podría contener su cadena. Sin la variable filesize, el correo electrónico podría coincidir erróneamente con su regla de ausencia.
Tabla de las expresiones regulares más comunes
Una expresión regular, o regex, es una secuencia de caracteres que se utiliza para identificar un patrón en cadenas de texto. Para obtener información sobre las expresiones regulares que se suelen utilizar en reglas YARA para PhishER, consulte esta tabla. Para obtener más información sobre las expresiones regulares, consulte la documentación de YARA Escritura de reglas YARA.
| Operadores y modificadores | Descripción |
|---|---|
| \n |
Esta expresión regular es una secuencia de escape que busca una nueva línea. |
| . | Esta expresión regular es un metacarácter que coincide con cualquier carácter o símbolo. |
| {n, m} |
Esta expresión regular es un cuantificador que busca un rango de coincidencias entre un número de caracteres representados por n y m. Esta expresión regular se utiliza para identificar segmentos que coinciden en una cadena.
Nota: Puede utilizar la expresión regular {n,m} seguida de cualquier carácter. Consulte los siguientes ejemplos:
|
| | | Esta expresión regular es un metacarácter que indica un operador de alternancia, similar a un operador OR. Esta expresión regular busca una coincidencia entre varias expresiones regulares posibles. |
| * | Esta expresión regular es un cuantificador que busca cero coincidencias o más. |
| ? | Esta expresión regular es un cuantificador que busca cero o una coincidencia. |
const name = "Chris Coyier"; console.log(name);






