Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
drs-malware-scan — Realice un análisis de malware basado en archivos en sus servidores on-prem con AWS | Kitploit
Herramientas/GitHubGitHub/aws-samples/drs-malware-scan
Escáneres de VulnerabilidadesAnálisis de MalwareSeguridad en la NubeInteligencia de AmenazasRespuesta a Incidentes
GitHubaws-samples/drs-malware-scan

drs-malware-scan

Realice un análisis de malware basado en archivos en sus servidores on-prem con AWS

Ver Repositorio
142hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

Análisis de escaneo de malware en servidores on-premises utilizando servicios de AWS

Desafíos de la detección de malware en entornos on-premises

Para los equipos de seguridad, puede ser difícil monitorear continuamente todos los servidores on-premises debido a restricciones presupuestarias y de recursos. Un antivirus basado en firmas es insuficiente, ya que el malware moderno utiliza diversas técnicas de ofuscación. Los administradores de servidores pueden carecer de visibilidad histórica de eventos de seguridad en todos los servidores. Determinar sistemas comprometidos y copias de seguridad seguras para restaurar durante incidentes es un desafío sin una supervisión y alertas centralizadas. Configurar y mantener herramientas de seguridad adicionales para la detección avanzada de amenazas es una carga para los administradores. El tiempo medio rápido para detectar y remediar infecciones es crítico, pero difícil de lograr sin la solución automatizada adecuada.

Determinar qué imagen de respaldo es segura para restaurar durante incidentes sin inteligencia de amenazas integral es otro problema difícil. Incluso si hay copias de seguridad disponibles, sin saber cuándo exactamente un sistema fue comprometido, es arriesgado restaurar ciegamente desde ellas. Esto aumenta la posibilidad de restaurar malware y perder datos y sistemas aún más valiosos durante la respuesta a incidentes. Se necesita una solución automatizada que pueda identificar la línea de tiempo de la infiltración y recomendar copias de seguridad seguras para la restauración.

Cómo utilizar los servicios de AWS para abordar estos desafíos

La solución aprovecha AWS Elastic Disaster Recovery (AWS DRS), Amazon GuardDuty y AWS Security Hub para abordar los desafíos de la detección de malware en servidores on-premises.

Esta combinación de servicios proporciona una forma rentable de monitorear continuamente los servidores on-premises en busca de malware sin afectar el rendimiento. También ayuda a determinar puntos de restauración seguros en el tiempo para la recuperación a partir de copias de seguridad, identificando la línea de tiempo de los compromisos mediante análisis de amenazas centralizados.

  • AWS Elastic Disaster Recovery (AWS DRS) minimiza el tiempo de inactividad y la pérdida de datos con una recuperación rápida y confiable de aplicaciones on-premises y en la nube utilizando almacenamiento asequible, cómputo mínimo y recuperación a un punto en el tiempo.
  • Amazon GuardDuty es un servicio de detección de amenazas que monitorea continuamente sus cuentas y cargas de trabajo de AWS en busca de actividad maliciosa y entrega hallazgos de seguridad detallados para visibilidad y remediación.
  • AWS Security Hub es un servicio de gestión de postura de seguridad en la nube (CSPM) que realiza verificaciones de mejores prácticas de seguridad, agrega alertas y permite la remediación automatizada.

Arquitectura

sample

Descripción de la solución

La solución de escaneo de malware asume que los servidores on-premises ya están siendo replicados con AWS DRS, y que Amazon GuardDuty y AWS Security Hub están habilitados. El stack cdk en este repositorio solo implementará los cuadros etiquetados como DRS Malware Scan en el diagrama de arquitectura.

  1. AWS DRS está replicando servidores fuente del entorno on-premises a AWS (o desde cualquier proveedor de nube, de hecho). Para más detalles sobre la configuración de AWS DRS, siga la Guía de inicio rápido.
  2. Amazon GuardDuty ya está habilitado.
  3. AWS Security Hub ya está habilitado.
  4. La solución de escaneo de malware se activa mediante una regla programada en Amazon EventBridge (con prefijo DrsMalwareScanStack-ScheduleScanRule). Puede ajustar la frecuencia de escaneo según sea necesario (por ejemplo, una vez al día, a la semana, etc.).
  5. La regla programada en Amazon EventBridge activa la función lambda Submit Orders (con prefijo DrsMalwareScanStack-SubmitOrders), que recopila los servidores fuente a escanear de la tabla DynamoDB Source Servers.
  6. Las órdenes se colocan en la cola SQS FIFO llamada Scan Orders (con prefijo DrsMalwareScanStack-ScanOrdersfifo). La cola se utiliza para serializar las solicitudes de escaneo asignadas a la misma instancia de DRS, evitando una condición de carrera.
  7. La función lambda Process Order toma una orden de escaneo de malware de la cola y la enriquece, preparando la próxima operación de escaneo de malware. Por ejemplo, inserta el ID de la instancia de DRS replicante asociada al servidor fuente de DRS proporcionado en la orden. La salida de Process Order son comandos de escaneo de malware que contienen toda la información necesaria para invocar el escaneo de malware de GuardDuty.
  8. Las operaciones de escaneo de malware se rastrean utilizando la tabla DRSVolumeAnnotationsDDBTable a nivel de volumen, proporcionando capacidades de generación de informes.
  9. Los comandos de escaneo de malware se insertan en la cola SQS FIFO Scan Commands (con prefijo DrsMalwareScanStack-ScanCommandsfifo) para aumentar la resiliencia.
  10. La función Process Commands envía comandos de escaneo en cola a una tasa máxima de 1 comando por segundo para evitar la limitación de la API. Activa la función de escaneo de malware bajo demanda proporcionada por Amazon GuardDuty.
  11. La ejecución del trabajo de malware de Amazon GuardDuty bajo demanda se puede monitorear desde el servicio Amazon GuardDuty.
  12. El resultado del trabajo de escaneo de malware se envía a Amazon CloudWatch Logs.
  13. La función lambda Subscription Filter recibe el resultado del escaneo y rastrea el resultado utilizando DynamoDB (paso #14).

Uso

Requisitos previos

  • Una cuenta de AWS.

  • Amazon Elastic Disaster Recovery (DRS) configurado, con al menos 1 servidor fuente en sincronización. Si no es así, consulte esta documentación. La Configuración de Replicación debe considerar el cifrado de EBS utilizando una Clave Administrada por el Cliente (CMK) de AWS Key Management Service (AWS KMS). Amazon GuardDuty Malware Protection no admite la clave administrada por defecto de AWS para EBS.

  • Privilegios IAM para implementar los componentes de esta solución.

  • Amazon GuardDuty habilitado. Si no es así, consulte esta documentación.

  • Amazon Security Hub habilitado. Si no es así, consulte esta documentación.

    Advertencia
    Actualmente, Amazon GuardDuty Malware scan no admite volúmenes EBS cifrados con claves administradas por EBS. Si desea utilizar esta solución para escanear sus servidores on-premises (o de otras nubes) replicados con DRS, debe configurar la replicación de DRS con su propia clave de cifrado en KMS. Si actualmente utiliza claves administradas por EBS con sus servidores replicantes, puede cambiar la configuración de cifrado para usar su propia clave de KMS en la consola de DRS.

Implementación

  1. Cree un entorno Cloud9 con imagen Ubuntu (al menos t3.small para mejor rendimiento) en su cuenta de AWS. Abra su entorno Cloud9 y clone el código de este repositorio. Nota: Amazon Linux 2 tiene node v16, que ya no tiene soporte desde el 2023-09-11.

    root@kitploit:~
    git clone https://github.com/aws-samples/drs-malware-scan
    
    root@kitploit:~
    cd drs-malware-scan
    
    root@kitploit:~
    sh check_loggroup.sh
    
  2. Implemente el stack CDK ejecutando el siguiente comando en el terminal de Cloud9 y confirme la implementación.

    root@kitploit:~
    npm install
    
    root@kitploit:~
    cdk bootstrap
    
    root@kitploit:~
    cdk deploy --all
    

    Nota
    La solución consta de 2 stacks:

    • DrsMalwareScanStack: implementa todos los recursos necesarios para la función de escaneo de malware. Este stack es obligatorio. Si desea implementar solo este stack, puede ejecutar cdk deploy DrsMalwareScanStack
    • ScanReportStack: implementa los recursos necesarios para la generación de informes (Amazon Lambda y Amazon S3). Este stack es opcional. Si desea implementar solo este stack, puede ejecutar cdk deploy ScanReportStack

    Si desea implementar ambos stacks, puede ejecutar cdk deploy --all

Configuración

  1. Asegúrese de que los servidores fuente de DRS se estén replicando continuamente y en un estado de replicación saludable. Esto es necesario debido a una limitación en la API de GuardDuty: al momento de redactar este documento, no hay una API pública de AWS para escanear instantáneas de DRS. La única forma de realizar un escaneo de malware sobre los datos de los servidores fuente de DRS es realizar un escaneo en los Servidores de Replicación (instancias de Amazon EC2) administrados por AWS DRS. Si la replicación no se está ejecutando en un estado saludable, su escaneo de malware de DRS puede no completarse con éxito. Debe confirmar ReadyforRecovery=Ready.

  2. Identifique los Servidores Fuente a escanear. De todos los servidores que se están replicando con AWS DRS, debe determinar la lista de servidores candidatos a escanear. Desde la consola de AWS DRS, copie los nombres de los servidores fuente que desea que la solución escanee y péguelos en un editor de texto. Esto se utilizará en el siguiente paso.

        sample

  1. Actualice la tabla DynamoDB. La lista de servidores a escanear se almacena en una tabla DynamoDB creada por el stack cdk (con prefijo DrsMalwareScanStack-SourceServersDDBTable). Debe crear elementos DynamoDB para cada Servidor Fuente que esté siendo replicado por AWS DRS. Para ello, vaya al servicio Amazon DynamoDB y siga estos pasos:

        sample

  1. Programe el trabajo de escaneo de malware. Puede ir al servicio Amazon EventBridge y modificar la regla existente creada por el stack. Edite la regla con prefijo DrsMalwareScanStack-ScheduleScanRule, configure la frecuencia de escaneo del análisis de malware. Además, esta regla está DESHABILITADA por defecto; por favor, HABILÍTELA.

        sample

  1. Verifique que Amazon GuardDuty haya activado una operación de escaneo de malware. Para confirmar que la solución funciona según lo esperado, puede consultar en Amazon GuardDuty -> Consola de Escaneos de Malware. Unos segundos después de la hora de programación, debería ver un trabajo con ScanStatus = Running. Si no es así, consulte la sección de Solución de problemas a continuación.

        sample

  1. Verifique AWS SecurityHub en busca de posibles hallazgos de malware en servidores on-premises. La integración de Amazon GuardDuty con Security Hub le permite enviar hallazgos de GuardDuty a Security Hub.
    • Security Hub solo muestra hallazgos; por lo tanto, aquellos trabajos de escaneo de malware con ScanResult=Clean no se mostrarán en la consola de Security Hub (solo aquellos con ScanResult=Infected).
    • Dentro de la consola de AWS Security Hub, puede ir a Hallazgos y aplicar un filtro por ProductName=GuardDuty (como se muestra en la animación a continuación).
    • La solución agrega anotaciones a la sección Notas del hallazgo, destacando el nombre de los servidores on-premises infectados.
    • Security Hub está integrado con Amazon EventBridge para automatizar fácilmente las actividades de respuesta y remediación, como enviar un correo electrónico a un SOC, informar el incidente en un canal de Slack, etc. Puede consultar este enlace para más detalles.

        sample

  1. Opcional: Verifique el archivo de informe de escaneo de malware en S3. En caso de que haya implementado el stack ScanReportStack, puede programar un informe para que se ejecute con la frecuencia que mejor se adapte a sus necesidades. El informe extraerá el contenido de la tabla DynamoDB DRSVolumeAnnotationsDDBTable y lo escribirá en el bucket de Amazon S3 creado por el stack (con prefijo scanreportstack-scanreportbucket). Este informe se sobrescribe (y es acumulativo) cada vez que se activa la regla.

    • Habilite la regla de Amazon EventBridge y configure la programación para ejecutar el informe: Edite la regla con prefijo ScanReportStack-ScanReportRule para establecer la frecuencia de escaneo del análisis de malware y la lista de servidores fuente de DRS a analizar. Además, esta regla está deshabilitada por defecto; por favor, habilítela.

           sample

    • Para verificar el informe, puede consultar el archivo csv en el bucket de Amazon S3 (con prefijo scanreportstack-scanreportbucket)

           sample

  2. Opcional: Para configuración de múltiples cuentas. En caso de que tenga una cuenta de seguridad designada para centralizar todos los hallazgos de seguridad como parte de una estrategia de múltiples cuentas, esta solución también funcionará. El equipo de seguridad puede realizar el mismo análisis en la cuenta de seguridad; los hallazgos de Security Hub y GuardDuty reportados en las cuentas vinculadas se copian automáticamente a la cuenta de seguridad centralizada.

Solución de problemas

Todas las funciones lambda enrutan registros a Amazon CloudWatch. Puede verificar la ejecución de cada función inspeccionando los grupos de registros de CloudWatch adecuados para cada función; busque el patrón /aws/lambda/DrsMalwareScanStack-*.

La duración de la operación de escaneo de malware dependerá de la cantidad de servidores/volúmenes a escanear (y su tamaño). Cuando Amazon GuardDuty encuentra malware, genera un hallazgo en SecurityHub: la solución intercepta este evento y ejecuta la lambda $StackName-SecurityHubAnnotations para aumentar el hallazgo de SecurityHub con una nota que contiene los nombres de los servidores fuente de DRS con malware.

Las colas SQS FIFO se pueden monitorear utilizando las métricas Messages available y Message in flight desde la consola de AWS SQS.

La tabla DynamoDB de Anotaciones de Volumen DRS realiza un seguimiento del estado de cada operación de escaneo de malware.

Amazon GuardDuty tiene razones documentadas para omitir operaciones de escaneo. Para obtener más información, consulte Razones para omitir un recurso durante el escaneo de malware.

Para analizar los registros de las operaciones de escaneo de malware de Amazon GuardDuty, puede consultar el grupo de registros de Amazon CloudWatch /aws/guardduty/malware-scan-events. El período de retención de registros predeterminado para este grupo de registros es de 90 días, después del cual los eventos de registro se eliminan automáticamente.

Limpieza

  1. Ejecute los siguientes comandos en su terminal:

    root@kitploit:~
    cdk destroy --all
    
  2. (Opcional) Elimine los grupos de registros de CloudWatch asociados con las funciones Lambda.

Análisis de Estimación de Costos de AWS

Para los fines de este análisis, hemos asumido un escenario ficticio como ejemplo. Las siguientes estimaciones de costos se basan en servicios ubicados en la región de Norte de Virginia (us-east-1).

Escenario estimado:

  • 2 Servidores Fuente para replicar (DR) (Almacenamiento total: 100 GB - 4 discos)
  • 3 TB Escaneados por malware/mes
  • 30 días de período de retención de instantáneas EBS
  • Escaneos de malware diarios
Costo MensualCosto Total por 12 Meses
171,22 USD2.054,74 USD

Desglose por servicio:

Nota Las cifras presentadas aquí son estimaciones basadas en los supuestos descritos anteriormente, derivadas de la Calculadora de Precios de AWS. Para más detalles, consulte esta calculadora de precios como referencia. Puede ajustar la configuración de los servicios en la calculadora referenciada para hacer su propia estimación. Esta estimación no incluye posibles impuestos o cargos adicionales que pudieran ser aplicables. Es crucial recordar que las tarifas reales pueden variar según el uso y cualquier servicio adicional no cubierto en este análisis. Para entornos críticos, se recomienda incluir el Plan de Soporte Empresarial (no considerado en la estimación)

Seguridad

Consulte CONTRIBUTING para obtener más información.

Autores

  • Rodrigo Monge
  • Thierry Francois
  • Diego Pérez Holguín
  • Leandro Santi

Licencia

Este código de muestra está licenciado bajo la Licencia MIT-0. Consulte el archivo LICENSE.

Descargar herramienta
  • La tabla DynamoDB DRS Instance Annotations rastrea el estado del trabajo de escaneo de malware a nivel de instancia.
  • El stack CDK llamado ScanReportStack implementa la función lambda Scan Report (con prefijo ScanReportStack-ScanReport) para poblar el bucket de Amazon S3 con prefijo scanreportstack-scanreportbucket.
  • AWS Security Hub agrega y correlaciona hallazgos de Amazon GuardDuty.
  • El evento de hallazgo de Security Hub es capturado por una Regla de EventBridge (con prefijo DrsMalwareScanStack-SecurityHubAnnotationsRule).
  • La función lambda Security Hub Annotations (con prefijo DrsMalwareScanStack-SecurityHubAnnotation) genera Notas (Anotaciones) adicionales al Hallazgo con información contextualizada sobre el servidor fuente afectado. Esta información adicional se puede ver en la sección Notas dentro del Hallazgo de Security Hub.
  • Las actividades de seguimiento dependerán del proceso de respuesta a incidentes que se esté adoptando. Por ejemplo, según la fecha de la infección, se puede utilizar AWS DRS para realizar una recuperación a un punto en el tiempo utilizando una instantánea anterior a la fecha de la infección de malware.
  • En un escenario de múltiples cuentas, esta solución se puede implementar directamente en la cuenta de AWS que aloja la solución AWS DRS. Los hallazgos de Amazon GuardDuty se enviarán automáticamente a la Cuenta de Seguridad centralizada.
  • Nombre del ServicioDescripciónCosto Mensual (USD)
    AWS Elastic Disaster Recovery2 Servidores Fuente / 1 Servidor de Replicación / 4 discos / 100 GB / 30 días de Período de Retención de Instantáneas EBS71,41
    Amazon GuardDuty3 TB Escaneados por malware/mes94,56
    Amazon DynamoDB100 MB / 1 Lectura/segundo / 1 Escritura/segundo3,65
    AWS Security Hub1 Cuenta / 100 Verificaciones de Seguridad / 1000 Hallazgos Ingresados0,10
    AWS EventBridge1M eventos personalizados1,00
    Amazon CloudWatch1 GB ingerido/mes0,50
    AWS Lambda5 Funciones Lambda ARM - 128 MB / 10 segundos0,00
    Amazon SQS2 SQS FIFO0,00
    Total171,22