BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

¿Hay alguna forma de saber que parte de un programa identifica Microsoft Defender como propia de un virus?

P B Fierro

Es que me esta pasando cada vez más, que sencillos e inofensivos programas que hago en C# para entretenerme, los detecta como virus.

El ultimo es un pequeño monitor de sistema que utilizo bastante.

Después de varios días sin ningún problema, al mover el ejecutable al escritorio me salto una alerta, curiosamente de momento me deja ejecutarlo sin problema. (Parece que Defender no esta nada fino…)

Me gustaría si es posible cambiar la parte del programa que hace que se detecte.

falso positivo defender
Comparte
PezDeRedes
4

Hmmm. Viendo la detección que muestras, lo detecta por heurística/comportamiento ("behavior"). Probablemente hagas ciertas llamadas al sistema para obtener los datos que muestras que sean sospechosas, lo cual, unido a que no es software bien conocido -de hecho, es nada conocido, pues lo has desarrollado tú mismo para ti-, hace el resto. Es mi hipótesis.

Si me lo pasas lo pruebo en mi PC con Bitdefender, a ver qué ocurre, de ti me fío :)

🗨️ 3
P B Fierro
1

Muchas gracias @PezDeRedes. Como este solo lo voy a usar yo, no es necesario.

Pero no deja de ser raro, solo modifica una clave del registro para iniciarse o no con el sistema. Por lo demás uso solo PerformanceCounter que creo que se usa muy habitualmente para estos menesteres, por eso me parece muy raro que lo detecte.

sergioam
1

Por ahí van los tiros, se queja de que el programa hace cosas que son raras, sospechosas, malas prácticas, etc, típicas de malware. Por ejemplo ese "Autoinicio". Prueba a desactivarlo o quitarlo del todo y si se sigue quejando.

Te pasará también si intentas escribir en el registro, seguramente.

Doy por hecho que la opción de firmar el ejecutable queda descartada, no sé si hay opciones gratuitas.

Lo que nos queda que añadas una excepción/exclusión al Defender para tu programa. Puesto que solo lo usas tu, esto es lo más cómodo para ti.

🗨️ 1
P B Fierro
1

Voy a dejar esa parte fuera de juego marcandola como comentarios y a ver que pasa.

Nixie
2

Lo de 'Persistence' y 'Autoinicio' puede que dé una pista. Un programa desconocido que se pone en arranque automático es sospechoso.

🗨️ 1
P B Fierro

No se, tengo otros que también tienen la opcion de arrancar al iniciar Windows y nunca los detecto.

Aunque ahora que lo pienso, hace tiempo que no los abro. Tengo que probar a ver cuando este con el ordenador…

Aokromes
2

si no es muy grande, prueba a trocearlo a ver que parte te da la lata.

🗨️ 1
P B Fierro

Buena idea, gracias!

zurst
3

¿Has pensado en subirlo a virustotal por curiosear que tal la heurística de la batería de antivirus?, el no estar firmado digitalmente imagino que lo penaliza mucho

🗨️ 2
P B Fierro

No lo había pensado, mañana cuando este con el ordenador lo hare, junto con otras cosas que me han sugerido.

Gracias a todos

legible
1

Venía justo a decir lo de la firma.

P B Fierro

Bueno… Pues al intentar replicar la alerta de Defender, la alerta ya no salta.

Me había saltado al copiar el programa al escritorio, ahora lo copie a otra carpeta y nada, al escritorio y nada.

Igual tiene algo que ver con la actualización de definiciones, el 26 se instalo una y hoy por la mañana otra y es posible que corrigiese algún fallo con las detecciones.

Gracias a todos por vuestros aportes.

PezDeRedes
1

Buenos días.

Acabo de recordar una herramienta que he usado en ocasiones -incluso cuando tenía la asignatura de seguridad en la UNI- y que posiblemente te dé pistas de qué andan detectando los antivirus. Se llama Hybrid Analysis, échale un ojo, si quieres.

🗨️ 3
P B Fierro

2 opciones no lo detectaron como positivo y el Falcon Sandbox si. Pero detecta un monton de cosas que el programa no hace…

Indicadores Maliciosos3
Conciencia Ambiental
Encontré una cuerda relacionada con el emulador de vino
Spyware/Recuperación de Información
Abre un mango de utilidad de dumping de credenciales
Seguridad del Sistema
Referencias servicios de windows relacionados con la seguridad
Indicadores Sospechosos47
Ingeniería Anti-Reversa
Crea regiones de memoria protegidas (truco anti-depuración para evitar el volcado de memoria)
Utiliza un .NET ofuscador para ocultar su código
Conciencia Ambiental
Intentos de detectar máquina virtual (acceso a archivos)
Llama a una API que normalmente se usa para consultar la hora local/del sistema como tiempo de archivo
Contiene capacidad para detectar el entorno virtual
Se encontró una referencia a una cadena de consulta WMI que se sabe que se utiliza para la detección de VM
Sistemas Externos
Muestra detectada por CrowdStrike Static Analysis y ML con confianza relativamente baja
General
Encontré una dirección de correo electrónico potencial en binario/memoria
Abrió el administrador de control de servicio
Archivo PE sin directorio de importación
Solicitar acceso a un servicio del sistema
Coincidencia de Patrones
YARA signature match – Anomalous PE file structure
Acceso Remoto Relacionado
Lee las claves relacionadas con el servicio de terminal (a menudo relacionadas con RDP)
Spyware/Recuperación de Información
Llama a una API típicamente utilizada para el registro de teclas
Llama a una API que normalmente se usa para enumerar el proceso encontrado en una instantánea del sistema
Encontré un dominio relacionado con la mensajería instantánea
Encontrado cadenas relacionadas con comandos del sistema
Lea el nombre del producto de Windows del registro
Destrucción del Sistema
Abre el archivo con los derechos de acceso de eliminación
Características Inusuales
La marca de tiempo en el encabezado PE es muy antigua o en el futuro
Ocultar 27 Indicadores Sospechosos
Todos los indicadores están disponibles solo en el servicio web privado o en la versión independiente
Informativo188
Anti-Detección/Riqueza
Llama a una API que normalmente se usa para encontrar un recurso en un módulo
Llama a una API que normalmente se usa para cargar un recurso en la memoria
Contiene capacidad para retrasar la ejecución esperando la señal/tiempo de espera (Cuerda API)
Contiene la capacidad de hacerse pasar por tokens de acceso (cadena API)
Contiene la capacidad de inyectar código en otro proceso (Cuerda API)
Contiene capacidad para cargar contenido desde el recurso
Contiene capacidad para cargar/libre biblioteca (Cuerda API)
Contiene la capacidad de modificar la clave/valor del registro (cadena API)
Contiene capacidad para realizar codificación/decodificación Base64
Contiene la capacidad de establecer el tiempo de archivo (cadena API)
Contiene capacidad para usar clases criptográficas
Encontró una unidad de disco virtual como cadenas
Cryptographic Relacionado
Contiene la capacidad de cifrar/codificar mensaje (Cuerda API)
Contiene capacidad para realizar descifrado (Cuerda API)
Contiene referencia a las DLL criptográficas
Contiene referencia a claves criptográficas
Muestra la capacidad de desobfuscar/decodificar archivos o información
Muestra la capacidad de ofuscar archivos o información
Muestra la capacidad de usar el algoritmo de cifrado asimétrico
Conciencia Ambiental
Capaz de acceder al dominio sensible del usuario
Capaz de identificar el entorno virtual mediante el uso de la cadena API
Capaz de identificar el entorno virtual mediante el uso de la actividad del usuario (Cuerda API)
Capaz de identificar el entorno virtual utilizando la actividad de registro de usuarios
Capaz de consultar la información de configuración regional del sistema (cadena API)
Capaz de recuperar el tipo de controlador del sistema
Capaz de visualizar y controlar los componentes enumerados (Cuerda API)
Intentos de llamar a API comúnmente asociados con técnicas antianálisis y evasión
Intentos de llamar a API para recopilar detalles del sistema y hardware
Intentos de invocar API comúnmente asociadas con el robo de credenciales y la funcionalidad de exfiltración de datos
Llama a una API posiblemente utilizada para recuperar un identificador en la ventana de primer plano
Llama a una API que normalmente se usa para determinar si el proceso se está ejecutando bajo WOW64
Llama a una API que normalmente se usa para obtener el título activo de Windows
Llama a una API que normalmente se usa para manejar la ventana actualmente activa
Llamadas a una API que normalmente se usa para obtener el tipo de producto
Llama a una API que normalmente se usa para obtener información de la versión del sistema
Llama a una API que normalmente se usa para recuperar información del SO
Llama a una API que normalmente se usa para recuperar el idioma local
Contiene capacidad para determinar si el proceso se está ejecutando bajo WOW64 (Cuerda API)
Contiene capacidad para enumerar volúmenes (Cuerda API)
Contiene capacidad para ejecutar consultas WMI (Dotnet)
Contiene capacidad para ejecutar una consulta WMI
Contiene la capacidad de realizar transferencia programada (cadena API)
Contiene la capacidad de consultar el volumen/tamaño de memoria (Cuerda API)
Contiene capacidad para leer políticas de software
Contiene la capacidad de recuperar el tiempo de archivo (cadena API)
Contiene capacidad para recuperar información sobre el sistema actual (Cuerda API)
Contiene capacidad para recuperar el tiempo de la máquina (Cuerda API)
Contiene la capacidad de recuperar la ruta en la que está instalado Windows (Cuerda API)
Contiene la capacidad de recuperar la información del SO (Cuerda API)
Contiene la capacidad de recuperar información de volumen (Cuerda API)
Consultas detalles de la interfaz TCP/IP
Consulta de información de volumen
Consulta la información de volumen de un disco duro completo
Lee el nombre activo de la computadora
Lee la máquina criptográfica GUID
Referencias a cadenas de consulta WMI utilizadas para el descubrimiento de procesos
General
Accede a la Configuración de Políticas de Software
Accede a la Configuración de Certificados del Sistema
Llama a una API que normalmente se usa para crear un directorio
Llama a una API que normalmente se usa para cargar bibliotecas
Llama a una API que normalmente se usa para recuperar direcciones de funciones
Contiene rutas PDB
Contiene consultas SQL
Contiene la capacidad de crear directorios (Cuerda API)
Contiene capacidad para crear/controlar controladores (Cuerda API)
Contiene capacidad para crear/cargar claves de registro (cadena API)
Contiene la capacidad de crear/abrir archivos (cadena API)
Contiene capacidad para deshabilitar/cerrar la clave de registro (cadena API)
Contiene capacidad para ejecutar API de Windows
Contiene la capacidad de ejecutar una aplicación (Cuerda API)
Contiene capacidad para encontrar y cargar recursos de módulos específicos (Cuerda API)
Contiene la capacidad de mover archivo o directorio (cadena API)
Contiene capacidad para recuperar la cadena de línea de comandos para el proceso actual (cadena API)
Contiene capacidad para recuperar/modificar el hilo de proceso (Cuerda API)
Contiene la capacidad de recuperar/abrir un proceso (Cuerda API)
Contiene la capacidad de establecer/obtener el código de último error para un hilo de llamada (cadena API)
Contiene la capacidad de mostrar una ventana gráfica (Cuerda API)
Contiene referencia a la biblioteca del sistema de mensajería (Cuerda API)
Contiene cadenas de ubicación del registro
Crea mutantes
El código Dotnet contiene la capacidad de modificar/eliminar el registro
El código Dotnet contiene la capacidad de consultar el registro
No carga módulos en tiempo de ejecución
El archivo contiene banderas dinámicas de base/NX
Encontró cadenas relacionadas con el agente de usuario
Dominios bien conocidos encontrados (cadena)
Carga módulos en tiempo de ejecución
Carga el .Entorno de tiempo de ejecución NET
Carga el módulo Bcrypt DLL
Carga el CLR Loader DLL
Carga el módulo DLL de RPC (Llamada de Procedimiento Remoto)
Busca procedimientos de módulos (excluyendo apphelp.dll, kernel32.dll, user32.dll, gdi32.dll, ole32.dll, comctl32.dll, uxtheme.dll, oleaut32.dll, version.dll, msctfime.ime)
Firma de Compilador/Packer coincidente (DIE)
Puede ejecutar consultas SQL
Descripción general de los CLSID únicos tocados en el registro
El archivo PE contiene el directorio de datos COM
El archivo PE contiene el directorio de datos de depuración
El archivo PE contiene secciones ejecutables
Instrucciones del punto de entrada del archivo PE
El archivo PE tiene una base de imagen alta
Posiblemente utiliza binarios del sistema (Windows LOLbins)
Proceso lanzado con entorno cambiado
Lee información sobre idiomas compatibles
Referencias Rutas de archivos de Windows para DLL (posibles archivos descartados)
Genera nuevos procesos
Genera nuevos procesos que no son procesos infantiles conocidos
Instalación/Persistencia
Contiene capacidad para cargar módulos (Cuerda API)
Crea un hilo en un autoproceso
Archivos caídos
Abre claves de registro
Consulta información básica del proceso especificado
Consultas claves de registro
Coloca una Llamada de Procedimiento Asíncrono (APC) en un proceso remoto (inyección)
Lee archivos
Referencias Claves de registro del entorno PATH
Muestra la capacidad de usar barandillas de ejecución
Toca archivos
Intenta acceder a archivos inexistentes (ejecutables)
Intenta acceder a archivos inexistentes (no ejecutables)
Escribe archivos
Escribe archivos de registro
Relacionado con la Red
Llama a una API que normalmente se usa para enviar la solicitud especificada al servidor HTTP
Contiene Tor Onion URL
Contiene capacidad para comunicarse con la red (Cadena API)
Contiene la capacidad de crear una nueva solicitud HTTP (cadena API)
Contiene capacidad para crear/conectar a una tubería con nombre (Cuerda API)
Contiene la capacidad de descargar un archivo desde una URL (Cuerda API)
Contiene capacidad para transferir datos usando curl
Contiene referencia a los servicios HTTP de Windows (Cuerda API)
Contiene referencia a los servicios de Internet de Windows (Cuerda API)
Se encontraron nombres de dominio relacionados con el correo
Se encontró una cadena similar a una tubería utilizada por malware
Se encontró una dirección IP potencial en binario/memoria
URL potencial encontrado en binario/memoria
Encontró URL potenciales en los volquetes de memoria
Cadena encontrada relacionada con encabezados HTTP
huella digital del cliente SSL JA3
Hace conexiones HTTPS utilizando la versión segura TLS/SSL
Muestra la capacidad de enviar datos cifrados a Internet
Utiliza cURL para comunicarse a través de HTTPS
Acceso Remoto Relacionado
Contiene capacidad para registrar la secuencia de protocolo RPC (cadena API)
Contiene referencias a cadenas de secuencia de protocolo RPC
Spyware/Recuperación de Información
Llamadas a una API posiblemente utilizada para tomar capturas de pantalla
Llama a una API que normalmente se usa para buscar archivos en un directorio
Llama a una API típicamente utilizada para tomar instantáneas de los procesos especificados
Llama a una API que normalmente se usa para recuperar el nombre de la computadora
Llama a una API que normalmente se usa para recuperar información sobre el sistema actual
Contiene cadenas relacionadas con CRYPTO
Contiene capacidad para capturar información de pantalla (Dotnet)
Contiene la capacidad de enumerar archivos en el disco (cadena API)
Contiene la capacidad de enumerar el proceso y/o su información (Cuerda API)
Contiene la capacidad de consultar la información del adaptador de red (Cuerda API)
Contiene la capacidad de consultar claves de registro (cadena API)
Contiene capacidad para leer archivos (Cadena API)
Contiene la capacidad de recuperar un identificador de módulo (cadena API)
Contiene la capacidad de recuperar la dirección de la función exportada desde una cadena DLL (API)
Contiene la capacidad de recuperar información de archivos y directorios (Cuerda API)
Contiene capacidad para recuperar archivos basados en patrones de búsqueda
Contiene la capacidad de recuperar información sobre el sistema operativo (Cuerda API)
Contiene la capacidad de recuperar el ID de proceso (cadena API)
Contiene la capacidad de recuperar el nombre NetBIOS de la computadora local (Cuerda API)
Contiene la capacidad de recuperar la ruta totalmente calificada del módulo (Cuerda API)
Contiene capacidad para recuperar la arquitectura del host (Cuerda API)
Contiene capacidad para recuperar el nombre local de un socket (Cuerda API)
Contiene capacidad para recuperar el tiempo transcurrido desde que se inició el sistema (Cuerda API)
Contiene capacidad para recuperar información de privilegios de token (cadena API)
Contiene la capacidad de recuperar nombres de usuario y/o información de usuario (Cuerda API)
Contiene una cadena como contraseña/secreto
Cadena de clave de registro encontrada para aplicaciones instaladas
Encontradas cuerdas relacionadas con keylogger
Referencias a cadenas de consulta WMI utilizadas para el descubrimiento de información
Seguridad del Sistema
Capaz de recuperar/abrir un proceso (Cuerda API)
Contiene capacidad para acceder a los controladores de dispositivos
Contiene la capacidad de omitir UAC utilizando objeto COM (cadena API)
Contiene capacidad para eliminar clave/valor del registro (cadena API)
Contiene capacidad para modificar privilegios de token de acceso (cadena API)
Contiene la capacidad de modificar atributos de archivo (cadena API)
Contiene la capacidad de obtener información especificada sobre la seguridad de un archivo o directorio (Cuerda API)
Contiene capacidad de apagado del sistema
Contiene la capacidad de terminar un proceso (Cuerda API)
Contiene la capacidad de escribir archivos (Cadena API)
Crea o modifica servicios de Windows
Consultas de servicios relacionados con claves de registro
Características Inusuales
Contiene capacidad para reiniciar/apagar el sistema operativo (Cuerda API)
Contiene referencia a la actividad relacionada con mutex (Cuerda API)
Artefacto de URL de banco conocido detectado
Suelta archivos dentro del directorio de appdata
Firma Compilador/Packer coincidente
🗨️ 2
PezDeRedes
1

El programa está hecho en .NET usando bibliotecas de terceros, supongo. Así que muchas de esas cosas que dice, pueden ser por eso.

🗨️ 1
P B Fierro

Todas las bibliotecas que usa son de Microsoft…