notes - b0ySie7e
GithubPortafolioWrite-ups
  • 👋Bienvenido a mi blog
  • Introducción a la ciberseguridad
    • 📓¿Como inicio en la ciberseguridad?
  • Teoria y Conceptos
    • 📓Redes
      • Identificación de Dispositivos
      • Local Area Network (LAN)
      • Sub redes
      • Procolo ARP
      • Protocolo DHCP
    • 📓Pentesting
      • OSSTMM
      • OWASP
      • NCSC CAF
  • Sistemas Operativos
    • Linux
      • Comandos
    • Windows
      • Comandos
  • Enumeración
    • Enumeracion de red
      • Enumeracion de Hosts
      • Enumeracion de Puertos y servicios
    • FootPrinting
      • Domain Information
      • FTP
      • SMB
      • NFS
      • DNS
      • SMTP
      • IMAP-POP3
      • SNMP
      • MySQL
      • MSSQL
      • Oracle TNS
      • IPMI
      • Linux Remote Management Protocols
      • Windows Remote Management Protocols
    • Enumeración web
      • Uso de google dorks
      • Whois
      • Dig
      • Enumeraciónde subdominios
      • Enumeración automatizada
  • Hacking Web
    • Ataques Comunes
      • Fuzzing
      • Sub dominios
      • SQL Injection
      • Cross-Site Scripting
      • Local File Inclusion
      • Remote File Inclusion
      • File Upload Attacks
      • Command Injections
    • Otras explotaciones
  • Escalada de Privilegios
    • 📕Linux
      • Enumeración automatizada - Tools
      • Kernel Exploit
      • Sudo
      • SUID
      • Capabilities
      • Cron Jobs
      • Path
      • NFS
    • 📕Windows
      • Enumeración automatizada - Tools
      • Harvesting Passwords from Usual Spots
      • Other Quick Wins
      • Abusing Service Misconfigurations
      • Abusing dangerous privileges
      • Abusing vulnerable software
  • Guias y Herramientas
    • Git
    • Buffer Over Flow
    • MetaSploit
      • Introducción
      • Modules
      • Targets
      • Payloads
      • Encoders
      • Sessions
    • Nmap
    • Pivoting Tunneling Port Forwarning
      • Port Forwarding SSH
      • Pivoting Metasploit
      • Socat Redirection with a Reverse Shell
      • Socat Redirection with a Bind Shell
      • Others tools for pivoting
    • Transferencias de Archivos
      • Evading Detection
      • Linux File Transfer Methods
      • Miscellaneous File Transfer Methods
      • Transferring Files with Code
      • Windows File Transfer Methods
      • Otros
        • Usando ICMP
        • Usando ncat y tar
    • Shell y Payloads
      • Spawning shell interactiva
      • Conexión de RDP
    • Password Attacks
      • Cracking
      • Windows Local Password Attacks
      • Linux Local Password Attacks
      • Windows Lateral Movement
    • Fortinet
      • Configuración estática de Firewall
      • Licencia
      • Configuración de interfaces
      • Primera política
      • Rutas estaticas
  • Red Team Path - THM
    • Enumeración
      • Linux
      • Windows
    • Movimiento lateral
      • Movimiento Lateral
    • Pivoting
      • PortForwarining y pivoting
    • Host Evasion
      • Windows Internal
      • Introduccion a Windows
      • Abusing Windows Internal
      • Introducción a Antivirus
      • AV Evasion ShellCode
      • Principios de Ofuscación
      • Evasión de Firmas
      • Bypass UAC
      • Runtime Detection Evasion
      • Evading Logging and Monitoring
      • Living Off the Land
    • Networking Security Evasión
      • Network Security Solutions
      • Firewalls
      • Sandbox Evasion
    • Comprometiendo un directorio activo
      • Active Directory Basics
      • Breaching Active Directory
      • Enumerating Active Directory
      • Exploiting Active Directory
      • Persisting Active Directory
      • Credentials Harvesting
Con tecnología de GitBook
En esta página
  • Antivirus Software
  • ¿ Qué es el software audiovisual ?
  • ¿ Qué busca el software AV ?
  • AV frente a otros productos de seguridad
  • Software AV en el pasado y el presente
  • Antivirus Features
  • Motores antivirus
  • Escáner
  • Técnicas de detección
  • Compresores y Archivos
  • Análisis y desempaquetadores de PE (ejecutable portátil)
  • Emuladores
  • Otras características comunes
  • AV Static Detection
  • Detección estática
  • Cree su propia base de datos de firmas
  • Reglas de Yara para la detección de estática
  • Other Detection Techniques
  • Detección dinámica
  • Detección heurística y conductual
  • Resumiendo los métodos de detección.
  • AV Testing and Fingerprinting
  • Proveedores de AV
  • Entorno de pruebas audiovisuales
  • VirusTotal
  • Alternativas a VirusTotal
  • Software AV de huellas dactilares
  1. Red Team Path - THM
  2. Host Evasion

Introducción a Antivirus

AnteriorAbusing Windows InternalSiguienteAV Evasion ShellCode

Última actualización hace 10 meses

Antivirus Software

¿ Qué es el software audiovisual ?

El software antivirus ( AV ) es una capa adicional de seguridad que tiene como objetivo detectar y prevenir la ejecución y propagación de archivos maliciosos en un sistema operativo de destino.

Es una aplicación basada en host que se ejecuta en tiempo real (en segundo plano) para monitorear y verificar los archivos actuales y recién descargados. El software antivirus inspecciona y decide si los archivos son maliciosos utilizando diferentes técnicas, que se tratarán más adelante en esta sala

Curiosamente, el primer software antivirus fue diseñado únicamente para detectar y eliminar . Hoy en día eso ha cambiado; Las aplicaciones antivirus modernas pueden detectar y eliminar virus informáticos, así como otros archivos y amenazas dañinos.

¿ Qué busca el software AV ?

El software antivirus tradicional busca malware con patrones o firmas maliciosos predefinidos. El malware es software dañino cuyo objetivo principal es causar daños a una máquina de destino, que incluye, entre otros:

  • Obtenga acceso completo a una máquina de destino.

  • Robar información confidencial como contraseñas.

  • Cifre archivos y cause daños a los archivos.

  • Inyecte otro software malicioso o anuncios no deseados.

  • Usó la máquina comprometida para realizar más ataques, como ataques de botnet.

AV frente a otros productos de seguridad

Además del software AV , otras soluciones de seguridad basadas en host brindan protección en tiempo real a los dispositivos terminales. EndpointDetection and Response (EDR) es una solución de seguridad que brinda protección en tiempo real basada en análisis de comportamiento. Una aplicación antivirus realiza escaneo, detección y eliminación de archivos maliciosos. Por otro lado, EDR monitorea varios controles de seguridad en la máquina de destino, incluidas actividades de archivos, memoria, conexiones de red, registro de Windows, procesos, etc.

Software AV en el pasado y el presente

McAfee Associates, Inc. inició la primera implementación de software antivirus en 1987. Se llamó "VirusScan" y su objetivo principal en ese momento era eliminar un virus llamado "Brain" que infectaba la computadora de John McAfee. Posteriormente, otras empresas se sumaron a la batalla contra los virus. El software antivirus se llamaba escáneres y era un software de línea de comandos que buscaba patrones maliciosos en los archivos.

Desde entonces, las cosas han cambiado. Hoy en día, el software antivirus utiliza una interfaz gráfica de usuario (GUI) para realizar análisis en busca de archivos maliciosos y otras tareas. Los programas maliciosos también han ampliado su alcance y ahora apuntan a víctimas en Windows y otros sistemas operativos. El software AV moderno es compatible con la mayoría de los dispositivos y plataformas, incluidos Windows, Linux, macOS, Android e iOS. El software AV moderno ha mejorado y se ha vuelto más inteligente y sofisticado, ya que incluye un conjunto de funciones versátiles , que incluyen antivirus, antiexploits, firewall , herramienta de cifrado, etc.

Antivirus Features

Motores antivirus

Un motor antivirus es responsable de buscar y eliminar códigos y archivos maliciosos. Un buen software AV implementa un núcleo AV eficaz y sólido que analiza con precisión y rapidez archivos maliciosos . Además, debe manejar y admitir varios tipos de archivos, incluidos archivos de almacenamiento, donde puede autoextraerse e inspeccionar todos los archivos comprimidos.

La mayoría de los productos AV comparten las mismas características comunes pero se implementan de manera diferente, que incluyen, entre otras:

  • Escáner

  • Técnicas de detección

  • Compresores y Archivos

  • Desempaquetadores

  • Emuladores

Escáner

La función de escáner está incluida en la mayoría de los productos AV : el software AV se ejecuta y escanea en tiempo real o bajo demanda. Esta función está disponible en la GUI o mediante el símbolo del sistema. El usuario puede utilizarlo siempre que sea necesario para comprobar archivos o directorios. La función de escaneo debe admitir los tipos de archivos maliciosos más conocidos para detectar y eliminar la amenaza. Además, también puede admitir otros tipos de escaneo según el software antivirus, incluidas vulnerabilidades, correos electrónicos, memoria de Windows y Registro de Windows.

Técnicas de detección

Una técnica de detección AV busca y detecta archivos maliciosos; Se pueden utilizar diferentes técnicas de detección dentro del motor AV, que incluyen:

  • La detección basada en firmas es la técnica antivirus tradicional que busca firmas y patrones maliciosos predefinidos dentro de los archivos.

  • La detección heurística es una técnica más avanzada que incluye varios métodos de comportamiento para analizar archivos sospechosos.

  • La detección dinámica es una técnica que incluye monitorear las llamadas del sistema y las API y probar y analizar en un entorno aislado.

Cubriremos estas técnicas en la siguiente tarea. Un buen motor antivirus es preciso y detecta rápidamente archivos maliciosos con menos resultados falsos positivos. Mostraremos varios productos AV que proporcionan resultados inexactos y clasifican erróneamente un archivo.

Compresores y Archivos

La función "Compresores y archivos" debe incluirse en cualquier software AV . Debe admitir y ser capaz de manejar varios tipos de archivos del sistema, incluidos archivos comprimidos o archivados: ZIP, TGZ, 7z, XAR, RAR, etc. El código malicioso a menudo intenta evadir las soluciones de seguridad basadas en host ocultándose en archivos comprimidos. Por este motivo, el software antivirus debe descomprimir y escanear todos los archivos antes de que un usuario abra un archivo dentro del archivo .

Análisis y desempaquetadores de PE (ejecutable portátil)

El malware oculta y empaqueta su código malicioso comprimiéndolo y cifrándolo dentro de una carga útil. Se descomprime y descifra a sí mismo durante el tiempo de ejecución para dificultar la realización de análisis estáticos. Por lo tanto, el software AV debe poder detectar y descomprimir la mayoría de los empaquetadores conocidos (UPX, Armadillo, ASPack, etc.) antes del tiempo de ejecución para el análisis estático.

Los desarrolladores de malware utilizan varias técnicas, como el empaquetado, para reducir el tamaño y cambiar la estructura del archivo malicioso. Packing comprime el archivo ejecutable original para que sea más difícil de analizar. Por lo tanto, el software AV debe tener una función de descompresión para descomprimir archivos ejecutables protegidos o comprimidos en el código original.

Otra característica que debe tener el software AV es el analizador de encabezados ejecutable portátil (PE) de Windows. El análisis del PE de archivos ejecutables ayuda a distinguir software malicioso y legítimo (archivos .exe). El formato de archivo PE en Windows (32 y 64 bits) contiene información y recursos diversos, como código objeto, archivos DLL, archivos de iconos, archivos de fuentes y volcados de núcleo.

Emuladores

Un emulador es una función antivirus que realiza análisis adicionales de archivos sospechosos. Una vez que un emulador recibe una solicitud, ejecuta los archivos sospechosos (exe, DLL , PDF, etc.) en un entorno virtualizado y controlado. Supervisa el comportamiento de los archivos ejecutables durante la ejecución, incluidas las llamadas a las API de Windows, el Registro y otros archivos de Windows. Los siguientes son ejemplos de los artefactos que puede recopilar el emulador:

  • llamadas API

  • Volcados de memoria

  • Modificaciones del sistema de archivos

  • Registrar eventos

  • Procesos corriendo

  • Solicitudes web

Un emulador detiene la ejecución de un archivo cuando se recopilan suficientes artefactos para detectar malware.

Otras características comunes

Las siguientes son algunas características comunes que se encuentran en los productos AV :

  • Un controlador de autoprotección para protegerse contra el malware que ataca el AV real .

  • Funcionalidad de inspección de red y firewall .

  • Herramientas de línea de comandos e interfaz gráfica.

  • Un demonio o servicio.

  • Una consola de gestión.

AV Static Detection

En términos generales, la detección AV se puede clasificar en tres enfoques principales:

  1. Detección estática

  2. Detección dinámica

  3. Detección heurística y conductual

Detección estática

Una técnica de detección estática es el tipo más simple de detección de antivirus, que se basa en firmas predefinidas de archivos maliciosos. Simplemente, utiliza técnicas de coincidencia de patrones en la detección, como encontrar una cadena única, CRC (sumas de verificación), secuencia de códigos de bytes/valores hexadecimales y hashes criptográficos ( MD5 , SHA1, etc.).

Luego realiza una serie de comparaciones entre archivos existentes dentro del sistema operativo y una base de datos de firmas. Si la firma existe en la base de datos, se considera maliciosa. Este método es eficaz contra el malware estático.

En esta tarea, utilizaremos un método de detección basado en firmas para ver cómo los productos antivirus detectan archivos maliciosos. Es importante señalar que esta técnica funciona contra archivos maliciosos conocidos sólo con firmas generadas previamente en una base de datos. Por tanto, la base de datos debe actualizarse periódicamente.

Usaremos el software antivirus ClamAV para demostrar cómo la detección basada en firmas identifica archivos maliciosos . El software ClamAV está preinstalado en la máquina virtual proporcionada y podemos acceder a él en la siguiente ruta: c:\Program Files\ClamAV\clamscan.exe . También escanearemos un par de muestras de malware, que se pueden encontrar en el escritorio. La carpeta de muestras de malware contiene los siguientes archivos:

  1. Backdoor 1 es un programa C# que utiliza una técnica bien conocida para establecer una conexión inversa, incluida la creación de un proceso y la ejecución de un código shell de Metasploit Framework.

  2. Backdoor 2 es un programa C# que utiliza inyección de procesos y cifrado para establecer una conexión inversa, incluida la inyección de un código shell Metasploit en un proceso existente y en ejecución.

  3. AV-Check es un programa C# que enumera el software AV en una máquina de destino. Tenga en cuenta que este archivo no es malicioso. Analizaremos esta herramienta con más detalle en la tarea 6.

  4. notes.txt es un archivo de texto que contiene una línea de comando. Tenga en cuenta que este archivo no es malicioso.

ClamAV viene con su base de datos y durante la instalación necesitamos descargar la versión recientemente actualizada. Intentemos escanear la carpeta de muestra de Malware usando el binario clamscan.exe y verifiquemos cómo funciona ClamAV con estas muestras.

c:\>"c:\Program Files\ClamAV\clamscan.exe" c:\Users\thm\Desktop\Samples
Loading:    22s, ETA:   0s [========================>]    8.61M/8.61M sigs
Compiling:   4s, ETA:   0s [========================>]       41/41 tasks

C:\Users\thm\Desktop\Samples\AV-Check.exe: OK
C:\Users\thm\Desktop\Samples\backdoor1.exe: Win.Malware.Swrort-9872015-0 FOUND
C:\Users\thm\Desktop\Samples\backdoor2.exe: OK
C:\Users\thm\Desktop\Samples\eicar.com: Win.Test.EICAR_HDB-1 FOUND
C:\Users\thm\Desktop\Samples\notes.txt: OK

El resultado anterior muestra que el software ClamAV analizó y marcó correctamente dos de nuestros archivos probados (EICAR, backdoor1, AV-Check y notes.txt) como maliciosos. Sin embargo, identificó incorrectamente la puerta trasera2 como no maliciosa mientras lo hace.

Puede ejecutar clamscan.exe --debug <file_to_scan> y verá todos los módulos cargados y utilizados durante el escaneo. Por ejemplo, utiliza el método de desempaquetado para dividir los archivos y buscar una secuencia maliciosa predefinida de valores de código de bytes, y así es como pudo detectar la puerta trasera 1 de C#. El valor de código de bytes del shellcode de Metasploit usado en la puerta trasera 1 era previamente identificados y añadidos a la base de datos de ClamAV.

Sin embargo, la puerta trasera 2 utiliza una técnica de cifrado ( XOR ) para el código shell de Metasploit, lo que da como resultado diferentes secuencias de valores de código de bytes que no encuentra en la base de datos de ClamAV.

Mientras que ClamAV pudo detectar el archivo de prueba EICAR.COM como malicioso utilizando la técnica basada en firmas md5. Para confirmar esto, podemos volver a escanear el archivo de prueba EICAR.COM nuevamente en modo de depuración (--debug). En algún momento del resultado, verá el siguiente mensaje:

LibClamAV debug: FP SIGNATURE: 44d88612fea8a8f36de82e1278abb02f:68:Win.Test.EICAR_HDB-1  # Name: eicar.com, Type: CL_TYPE_TEXT_ASCII

Ahora generemos el valor md5 de EICAR.COM si coincide con lo que vemos en el mensaje anterior de la salida. Usaremos el sigtool para eso:

c:\>"c:\Program Files\ClamAV\sigtool.exe" --md5 c:\Users\thm\Desktop\Samples\eicar.com
44d88612fea8a8f36de82e1278abb02f:68:eicar.com

Si verifica de cerca el valor MD5 generado , 44d88612fea8a8f36de82e1278abb02f , coincide.

Cree su propia base de datos de firmas

Una de las características de ClamAV es la creación de su propia base de datos, lo que le permite incluir elementos que no se encuentran en la base de datos oficial de ClamAV. Intentemos crear una firma para Backdoor 2, que ClamAV ya pasó por alto, y agregarla a una base de datos. Los siguientes son los pasos requeridos:

  1. Genere una firma MD5 para el archivo.

  2. Agregue la firma generada a una base de datos con la extensión ".hdb".

  3. Vuelva a escanear el ClamAV con el archivo utilizando nuestra nueva base de datos.

Primero, usaremos la herramienta sigtool , que se incluye en la suite ClamAV, para generar un hash MD5 de backdoor2.exe usando el argumento --md5 .

Generar un hash MD5

C:\Users\thm\Desktop\Samples>"c:\Program Files\ClamAV\sigtool.exe" --md5 backdoor2.exe
75047189991b1d119fdb477fef333ceb:6144:backdoor2.exe 

Como se muestra en el resultado, la cadena hash generada contiene la siguiente estructura: Hash:Size-in-byte:FileName . Tenga en cuenta que ClamAV utiliza el valor generado en la comparación durante el escaneo.

Ahora que tenemos el hash MD5 , creemos nuestra propia base de datos. Usaremos la herramienta sigtool y guardaremos el resultado en un archivo usando > thm.hdb de la siguiente manera:

Genera nuestra nueva base de datos

C:\Users\thm\Desktop\Samples>"c:\Program Files\ClamAV\sigtool.exe" --md5 backdoor2.exe > thm.hdb

Como resultado, se creará un archivo thm.hdb en el directorio actual que ejecuta el comando.

¡Ya sabemos que ClamAV no detectó el backdoor2.exe usando la base de datos oficial! Ahora, volvamos a escanearlo usando la base de datos que creamos, thm.hdb , ¡y veamos el resultado!

¡Volviendo a escanear backdoor2.exe usando la nueva base de datos!

C:\Users\thm\Desktop\Samples>"c:\Program Files\ClamAV\clamscan.exe" -d thm.hdb backdoor2.exe
Loading:     0s, ETA:   0s [========================>]        1/1 sigs
Compiling:   0s, ETA:   0s [========================>]       10/10 tasks

C:\Users\thm\Desktop\Samples\backdoor2.exe: backdoor2.exe.UNOFFICIAL FOUND

Como esperábamos, la herramienta ClamAV marcó el binario backdoor2.exe como malicioso según la base de datos que proporcionamos. Como práctica, agregue la firma MD5 de AV-Check.exe a la misma base de datos que ya creamos, luego verifique si ClamAV puede marcar AV-Check.exe como malicioso.

Reglas de Yara para la detección de estática

Para crear una regla, necesitamos examinar y analizar el malware; Con base en los hallazgos, escribimos una regla. Tomemos AV-Check.exe como ejemplo y escribamos una regla para él.

Primero, analicemos el archivo y enumeremos todas las cadenas legibles por humanos en el binario usando la herramienta de cadenas. Como resultado, veremos todas las funciones, variables y cadenas sin sentido. Pero, si miras de cerca, podemos usar algunas de las cadenas únicas en nuestras reglas para detectar este archivo en el futuro. AV-Check utiliza una base de datos del programa (.pdb), que contiene un tipo e información simbólica de depuración del programa durante la compilación.

C:\Users\thm\Desktop\Samples>strings AV-Check.exe | findstr pdb
C:\Users\thm\source\repos\AV-Check\AV-Check\obj\Debug\AV-Check.pdb
rule thm_demo_rule {
	meta:
		author = "THM: Intro-to-AV-Room"
		description = "Look at how the Yara rule works with ClamAV"
	strings:
		$a = "C:\\Users\\thm\\source\\repos\\AV-Check\\AV-Check\\obj\\Debug\\AV-Check.pdb"
	condition:
		$a
}

Expliquemos un poco más esta regla de Yara.

  • La regla comienza con la regla thm_demo_rule , que es el nombre de nuestra regla. ClamAV utiliza este nombre si una regla coincide.

  • La sección de metadatos, que es información general, contiene el autor y la descripción, que el usuario puede completar.

  • La sección de cadenas contiene las cadenas o código de bytes que estamos buscando. En este caso, estamos utilizando la ruta de la base de datos del programa C#. Observe que agregamos un \ adicional en esa ruta para escapar del carácter especial, de modo que no infrinja la regla.

  • En la sección de condición, especificamos si la cadena definida se encuentra en la sección de cadena y luego marcamos el archivo.

Tenga en cuenta que las reglas de Yara deben almacenarse en un archivo de extensión .yara para que ClamAV las maneje. Volvamos a escanear la carpeta c:\Users\thm\Desktop\Samples usando la regla Yara que creamos. Puede encontrar una copia de la regla Yara en el escritorio en c:\Users\thm\Desktop\Files\thm-demo-1.yara .

Escaneo usando la regla de Yara

C:\Users\thm>"c:\Program Files\ClamAV\clamscan.exe" -d Desktop\Files\thm-demo-1.yara Desktop\Samples
Loading:     0s, ETA:   0s [========================>]        1/1 sigs
Compiling:   0s, ETA:   0s [========================>]       40/40 tasks

C:\Users\thm\Desktop\Samples\AV-Check.exe: YARA.thm_demo_rule.UNOFFICIAL FOUND
C:\Users\thm\Desktop\Samples\backdoor1.exe: OK
C:\Users\thm\Desktop\Samples\backdoor2.exe: OK
C:\Users\thm\Desktop\Samples\eicar.com: OK
C:\Users\thm\Desktop\Samples\notes.txt: YARA.thm_demo_rule.UNOFFICIAL FOUND

Como resultado, ClamAV puede detectar el binario AV-Check.exe como malicioso según la regla de Yara que proporcionamos. Sin embargo, ClamAV dio un resultado falso positivo al marcar el archivo notes.txt como malicioso. Si abrimos el archivo notes.txt , podemos ver que el texto contiene la misma ruta que especificamos en la regla.

Sabiendo que esto ayudará a mejorar la detección, incluyamos esto en nuestra regla de Yara para marcar solo los archivos .exe que contienen nuestra cadena de firma como maliciosos. La siguiente es la regla Yara mejorada:

rule thm_demo_rule {
	meta:
		author = "THM: Intro-to-AV-Room"
		description = "Look at how the Yara rule works with ClamAV"
	strings:
		$a = "C:\\Users\\thm\\source\\repos\\AV-Check\\AV-Check\\obj\\Debug\\AV-Check.pdb"
		$b = "MZ"
	condition:
		$b at 0 and $a
}

En la nueva regla de Yara, definimos una cadena única ($b) igual a MZ como identificador para el tipo de archivo .exe. También actualizamos la sección de condiciones, que ahora incluye las siguientes condiciones:

  1. Si la cadena "MZ" se encuentra en la ubicación 0, el comienzo del archivo.

  2. Si la cadena única (la ruta) aparece dentro del binario.

  3. En la sección de condiciones, utilizamos el operador AND para encontrar ambas definiciones en 1 y 2, entonces tenemos una coincidencia.

Puede encontrar la regla actualizada en Desktop\Files\thm-demo-2.yara . Ahora que tenemos nuestra regla Yara actualizada, intentémosla nuevamente.

Escaneo usando la regla de Yara

C:\Users\thm>"c:\Program Files\ClamAV\clamscan.exe" -d Desktop\Files\thm-demo-2.yara Desktop\Samples
Loading:     0s, ETA:   0s [========================>]        1/1 sigs
Compiling:   0s, ETA:   0s [========================>]       40/40 tasks

C:\Users\thm\Desktop\Samples\AV-Check.exe: YARA.thm_demo_rule.UNOFFICIAL FOUND
C:\Users\thm\Desktop\Samples\backdoor1.exe: OK
C:\Users\thm\Desktop\Samples\backdoor2.exe: OK
C:\Users\thm\Desktop\Samples\eicar.com: OK
C:\Users\thm\Desktop\Samples\notes.txt: OK

El resultado muestra que mejoramos nuestra regla de Yara para reducir los resultados falsos positivos. Ese fue un ejemplo simple de cómo funciona el software AV . Por lo tanto, los proveedores de software antivirus trabajan arduamente para luchar contra el malware y mejorar sus productos y bases de datos para mejorar el rendimiento y la precisión de los resultados.

El inconveniente de la detección basada en firmas es que los archivos tendrán un valor hash diferente si se modifica el binario. Por lo tanto, es fácil para alguien eludir las técnicas de detección basadas en firmas si sabe qué busca el software AV y cómo analizar archivos binarios, como se muestra en salas posteriores.

Other Detection Techniques

Detección dinámica

El enfoque de detección dinámica es avanzado y más complicado que la detección estática. La detección dinámica se centra más en comprobar archivos en tiempo de ejecución utilizando diferentes métodos. El siguiente diagrama muestra el flujo de escaneo de detección dinámica:

Otro método de detección dinámica es Sandboxing. Un sandbox es un entorno virtualizado que se utiliza para ejecutar archivos maliciosos separados de la computadora host. Esto suele realizarse en un entorno aislado y el objetivo principal es analizar cómo actúa el software malicioso en el sistema. Una vez que se confirma el software malicioso, se creará una firma y una regla únicas basadas en las características del binario. Finalmente, se enviará una nueva actualización a la base de datos de la nube para uso futuro.

Este tipo de detección también tiene inconvenientes porque requiere ejecutar el software malicioso durante un tiempo limitado en el entorno virtual para proteger los recursos del sistema. Al igual que con otras técnicas de detección, se puede omitir la detección dinámica. Los desarrolladores de malware implementan su software para que no funcione dentro del entorno virtual o simulado para evitar el análisis dinámico. Por ejemplo, verifican si el sistema genera un proceso real de ejecución del software antes de ejecutar actividades maliciosas o dejan que el software espere un tiempo antes de ejecutarse.

Detección heurística y conductual

La detección heurística y conductual se ha vuelto esencial en los productos AV modernos de hoy . El software antivirus moderno se basa en este tipo de detección para detectar software malicioso. El análisis heurístico utiliza diversas técnicas, incluidos métodos heurísticos estáticos y dinámicos:

  1. El análisis heurístico estático es un proceso de descompilación (si es posible) y extracción del código fuente del software malicioso. Luego, el código fuente extraído se compara con otros códigos fuente de virus conocidos. Estos códigos fuente son previamente conocidos y predefinidos en una base de datos heurística. Si una coincidencia alcanza o supera un porcentaje umbral, el código se marca como malicioso.

  2. El análisis heurístico dinámico se basa en reglas de comportamiento predefinidas. Los investigadores de seguridad analizaron software sospechoso en entornos aislados y seguros. Según sus hallazgos, marcaron el software como malicioso. Luego, se crean reglas de comportamiento para que coincidan con las actividades maliciosas del software dentro de una máquina de destino.

Los siguientes son ejemplos de reglas de comportamiento:

  • Si un proceso intenta interactuar con el proceso LSASS.exe que contiene hashes NTLM, tickets Kerberos y más de los usuarios

  • Si un proceso abre un puerto de escucha y espera recibir comandos de un servidor de comando y control (C2)

El siguiente diagrama muestra el flujo de escaneo de detección heurística y de comportamiento:

Resumiendo los métodos de detección.

Resumamos cómo el software AV moderno funciona como una sola unidad, incluidos todos los componentes, y combina varias características y técnicas de detección para implementar su motor AV. El siguiente es un ejemplo de los componentes de un motor antivirus:

En el diagrama, puede ver que un archivo Foobar.zip sospechoso se pasa al software AV para escanearlo. El software AV reconoce que es un archivo comprimido (.zip). Dado que el software admite archivos .zip, aplica una función de desarchivador para extraer los archivos ( Foobar.exe ). A continuación, identifica el tipo de archivo para saber con qué módulo trabajar y luego realiza una operación de análisis PE para extraer la información del binario y otras características. A continuación, comprueba si el archivo está empaquetado; si es así, descomprime el código. Finalmente, pasa la información recopilada y el binario al motor AV , donde intenta detectar si es malicioso y nos da el resultado.

AV Testing and Fingerprinting

Proveedores de AV

Muchos proveedores de AV en el mercado se centran principalmente en implementar un producto de seguridad para usuarios domésticos o empresariales. El software antivirus moderno ha mejorado y ahora combina capacidades antivirus con otras funciones de seguridad como firewall, cifrado, antispam, EDR, escaneo de vulnerabilidades, VPN, etc.

Entorno de pruebas audiovisuales

Los entornos de prueba antivirus son un excelente lugar para comprobar archivos sospechosos o maliciosos. Puede cargar archivos para escanearlos con varios proveedores de software AV. Además, plataformas como VirusTotal utilizan diversas técnicas y proporcionan resultados en segundos. Como red teamer o pentester, debemos probar una carga útil con las aplicaciones AV más conocidas para comprobar la eficacia de la técnica de derivación.

VirusTotal

Alternativas a VirusTotal

Nota importante: VirusTotal es una práctica plataforma de escaneo con excelentes funciones, pero tiene una política de uso compartido. Todos los resultados escaneados se transmitirán y compartirán con proveedores de antivirus para mejorar sus productos y actualizar sus bases de datos en busca de malware conocido. Como miembro del equipo rojo, esto quemará un cuentagotas o una carga útil que utilices en los enfrentamientos. Por lo tanto, hay soluciones alternativas disponibles para probar con varios proveedores de productos de seguridad y la ventaja más importante es que no tienen una política de uso compartido. Sin embargo, existen otras limitaciones. Tendrá una cantidad limitada de archivos para escanear por día; de lo contrario, se necesita una suscripción para realizar pruebas ilimitadas. Por esos motivos, le recomendamos que solo pruebe su malware en sitios que no comparten información, como por ejemplo:

Software AV de huellas dactilares

Como miembro del equipo rojo, no sabemos qué software AV está implementado una vez que obtenemos acceso inicial a una máquina de destino. Por lo tanto, es importante encontrar e identificar qué productos de seguridad basados ​​en host están instalados, incluido el software antivirus. La toma de huellas digitales AV es un proceso esencial para determinar qué proveedor de AV está presente. Saber qué software AV está instalado también es muy útil para crear el mismo entorno para probar técnicas de derivación.

Esta sección presenta diferentes formas de ver e identificar software antivirus en función de artefactos estáticos, incluidos nombres de servicios, nombres de procesos, nombres de dominio, claves de registro y sistemas de archivos.

La siguiente tabla contiene software AV conocido y comúnmente utilizado .

Nombre del antivirus

Nombre del Servicio

Nombre del proceso

Microsoft defensor

ganar defensa

MSMPEng.exe

Tendencia Micro

TMBMSRV

TMBMSRV.exe

Avira

AntivirService, Avira.ServiceHost

avguard.exe, Avira.ServiceHost.exe

Bitdefender

VSSERV

bdagent.exe, vsserv.exe

Kaspersky

AVP<Versión #>

avp.exe, ksde.exe

AVG

Antivirus AVG

AVGSvc.exe

norton

Seguridad Norton

NortonSecurity.exe

McAfee

McAPExe, Mfemms

MCAPExe.exe, mfemms.exe

Panda

PavPrSvr

PavPrSvr.exe

avast

Antivirus Avast

afwServ.exe, AvastSvc.exe

SharpEDRChecker

Una vez compilado, podemos encontrar la ruta de la versión compilada en la sección de salida, como se resalta en el paso 3. También agregamos una copia de la versión compilada en el directorio C:\Users\thm\Desktop\Files . Ahora intentemos ejecutarlo y veamos el resultado de la siguiente manera:

Símbolo del sistema! c<br>C:\> SharpEDRChecker.exe<br><br><br><br><br><br><br><br><br><br><br>

➜

Resumen de SharpEDRChecker c<br>[!] Directory Summary:<br> [-] C:\Program Files\Windows Defender : defender<br> [-] C:\Program Files\Windows Defender Advanced Threat Protection : defender, threat<br> [-] C:\Program Files (x86)\Windows Defender : defender<br><br>[!] Service Summary:<br> [-] PsShutdownSvc : sysinternal<br> [-] Sense : defender, threat<br> [-] WdNisSvc : defender, nissrv<br> [-] WinDefend : antimalware, defender, malware, msmpeng<br> [-] wscsvc : antivirus<br>

Como resultado, Windows Defender se encuentra en función de carpetas y servicios. Tenga en cuenta que el software antivirus puede marcar este programa como malicioso, ya que realiza varias comprobaciones y llamadas a API.

C# comprobaciones de huellas dactilares

Otra forma de enumerar el software AV es codificando nuestro propio programa. Hemos preparado un programa C# en la máquina virtual Windows 10 Pro proporcionada , para que podamos realizar algunos experimentos prácticos. Puede encontrar el ícono del proyecto en el escritorio (AV-Check) y hacer doble clic en él para abrirlo usando Microsoft Visual Studio 2022.

El siguiente código C# es sencillo y su objetivo principal es determinar si el software AV está instalado en función de una lista predefinida de aplicaciones AV conocidas.

using System;
using System.Management;

internal class Program
{
    static void Main(string[] args)
    {
        var status = false;
        Console.WriteLine("[+] Antivirus check is running .. ");
        string[] AV_Check = { 
            "MsMpEng.exe", "AdAwareService.exe", "afwServ.exe", "avguard.exe", "AVGSvc.exe", 
            "bdagent.exe", "BullGuardCore.exe", "ekrn.exe", "fshoster32.exe", "GDScan.exe", 
            "avp.exe", "K7CrvSvc.exe", "McAPExe.exe", "NortonSecurity.exe", "PavFnSvr.exe", 
            "SavService.exe", "EnterpriseService.exe", "WRSA.exe", "ZAPrivacyService.exe" 
        };
        var searcher = new ManagementObjectSearcher("select * from win32_process");
        var processList = searcher.Get();
        int i = 0;
        foreach (var process in processList)
        {
            int _index = Array.IndexOf(AV_Check, process["Name"].ToString());
            if (_index > -1)
            {
                Console.WriteLine("--AV Found: {0}", process["Name"].ToString());
                status = true;
            }
            i++;
        }
        if (!status) { Console.WriteLine("--AV software is not found!");  }
    }
}

Expliquemos el código un poco más. Hemos predefinido una lista de aplicaciones AV conocidas en la matriz AV_Check dentro de nuestro código, que se tomó de la sección anterior, donde analizamos el software AV de toma de huellas digitales (tabla anterior). Luego, utilizamos la consulta de línea de comandos del Instrumental de administración de Windows (WMIC) ( seleccione * de win32_process ) para enumerar todos los procesos actualmente en ejecución en la máquina de destino y almacenarlos en la variable ProcessList . A continuación, revisamos los procesos actualmente en ejecución y comparamos si existen en la matriz predefinida . Si se encuentra una coincidencia, entonces tenemos instalado el software AV .

El programa C# utiliza un objeto WMIC para enumerar los procesos en ejecución actuales, que pueden ser monitoreados por software AV . Si el software AV está mal implementado para monitorear las consultas WMIC o las API de Windows, puede causar resultados falsos positivos al escanear nuestro programa C#.

Compilemos una versión x86 del programa C#, subámosla al sitio web de VirusTotal y verifiquemos los resultados. Para compilar el programa C# en Microsoft Visual Studio 2022, seleccione Construir en el menú de la barra y elija la opción Construir solución . Luego, si cumplió correctamente, puede encontrar la ruta de la versión compilada en la sección de salida, como se resalta en el paso 3 en la captura de pantalla a continuación.

Nota: si intenta enviar un archivo al sitio web de VirusTotal, es posible que obtenga un resultado diferente. Tenga en cuenta que VirusTotal comparte informes de envío con los proveedores de antivirus para mejorar sus motores de detección de AV , incluidos los resultados falsos positivos.

Los productos antivirus modernos se implementan para integrar las funciones antivirus tradicionales y otras funcionalidades avanzadas (similares a las funcionalidades EDR ) en un solo producto para brindar una protección integral contra amenazas digitales. Para obtener más información sobre las soluciones de seguridad basadas en Host, sugerimos visitar la sala THM : .

EICAR es un archivo de prueba que contiene cadenas ASCII que se utilizan para probar la efectividad del software AV en lugar de malware real que podría dañar su máquina. Para obtener más información, puede visitar el sitio web oficial de EICAR, .

Una de las herramientas que ayuda en la detección de estática es . Yara es una herramienta que permite a los ingenieros de malware clasificar y detectar malware. Yara utiliza detección basada en reglas, por lo que para detectar nuevo malware, debemos crear una nueva regla. ClamAV también puede utilizar las reglas de Yara para detectar archivos maliciosos. La regla será la misma que en nuestra base de datos en el apartado anterior.

Usaremos la ruta en la salida del comando anterior como nuestro ejemplo de cadena único en la regla de Yara que crearemos. La firma podría ser otra cosa del mundo real, como claves de registro, comandos, etc. Si no está familiarizado con Yara, le sugerimos que consulte la . La siguiente es la regla de Yara que usaremos en nuestra detección :

Mejoremos nuestra regla de Yara para reducir el resultado falso positivo. Especificaremos el tipo de archivo en nuestra regla. A menudo, los tipos de un archivo se pueden identificar mediante números mágicos, que son los dos primeros bytes del binario. Por ejemplo, (.exe) siempre comienzan con el valor ASCII "MZ" o "4D 5A" en hexadecimal.

Para confirmar esto, usemos la aplicación , que es un editor hexadecimal gratuito, para examinar el binario AV-Check.exe y ver los dos primeros bytes. Tenga en cuenta que HxD ya está disponible en la VM proporcionada .

Flujo de detección dinámica

El primer método consiste en monitorear las API de Windows . El motor de detección inspecciona las llamadas a aplicaciones de Windows y monitorea las llamadas a la API de Windows mediante Windows .

Para obtener más información sobre la evasión del sandbox, sugerimos consultar la sala THM .

Flujo de detección heurística y conductual
Resumen de métodos de detección

Es importante tener en cuenta que es difícil recomendar qué software AV es el mejor. Todo se reduce a las preferencias y la experiencia del usuario. Hoy en día, los proveedores de AV se centran en la seguridad empresarial además de la seguridad del usuario final. Le sugerimos consultar el para obtener más detalles sobre los proveedores de AV empresariales .

VirusTotal es una conocida plataforma de escaneo basada en web para verificar archivos sospechosos. Permite a los usuarios cargar archivos para escanearlos con más de 70 motores de detección de antivirus. VirusTotal pasa los archivos cargados a los motores antivirus para que los revisen, devuelve el resultado e informa si es malicioso o no. Se aplican muchos puntos de control, incluida la verificación de URL o servicios en la lista negra, firmas, análisis binario, análisis de comportamiento y verificación de llamadas API . Además, el binario se ejecutará y comprobará en un entorno simulado y aislado para obtener mejores resultados. Para obtener más información y comprobar otras funciones, puede visitar el sitio web .

(6 escaneos gratuitos al día)

Una forma de tomar huellas dactilares de AV es mediante el uso de herramientas públicas como . Está escrito en C# y realiza varias comprobaciones en una máquina de destino, incluidas comprobaciones de software antivirus , como procesos en ejecución, metadatos de archivos, archivos DLL cargados, claves de registro, servicios, directorios y archivos.

Hemos descargado previamente SharpEDRChecker del para poder usarlo en la máquina virtual adjunta . Ahora necesitamos compilar el proyecto y ya hemos creado un acceso directo al proyecto en el escritorio (SharpEDRChecker). Para hacerlo, haga doble clic en él para abrirlo en Microsoft Visual Studio 2022. Ahora que tenemos nuestro proyecto listo, debemos compilarlo, como se muestra en la siguiente captura de pantalla:

Compilando el proyecto C#

Si subimos el programa AV-Check al y comprobamos el resultado, sorprendentemente, VirusTotal mostró que dos proveedores de AV (MaxSecure y SecureAge APEX) marcaron nuestro programa como malicioso. Por lo tanto, se trata de un resultado falso positivo que identifica incorrectamente un archivo como malicioso cuando no lo es. Una de las posibles razones es que el software de estos proveedores de antivirus utiliza un clasificador de aprendizaje automático o un método de detección basado en reglas que está mal implementado. Para obtener más detalles sobre el informe de envío real, consulte . Hay cuatro secciones principales: Detección, Detalles, Comportamiento y Comunidad. Si marcamos la sección Comportamiento, podemos ver todas las llamadas de las API de Windows, claves de Registro, módulos y la consulta WMIC.

Control total de virus

En la sección Detección, hay reglas de Sigma que, si un evento del sistema durante la ejecución coincide (en el entorno sandbox), consideran el archivo malicioso. Es probable que este resultado se base en las reglas; VirusTotal marcó nuestro programa debido a la , como se muestra en la siguiente captura de pantalla.

Control total de virus

Ahora volvamos a compilar el programa C# usando una CPU x64 y verifiquemos si los motores de verificación actúan de manera diferente. En nuestro intento de envío esta vez, el software de tres proveedores de AV (Cyren AV se agrega a la lista) marcaron el archivo como malicioso. Para obtener más detalles sobre el informe de envío real, consulte .

Control total de virus
virus informáticos
The Lay of the Land
aquí
Yara
sala Yara THM
los archivos ejecutables
HxD
Hooks
: Sandbox Evasion
sitio web de comparaciones de AV
de VirusTotal
AntiscanMe
Exploración de virus Exploración de malware de Jotti
SharpEDRChecker
repositorio de GitHub
sitio web de VirusTotal
aquí
técnica Process Ghosting
aquí
20231024002736.png
20231024003408.png