GNU/Linux >> Tutoriales Linux >  >> Linux

Investigar un servidor Windows comprometido

Este artículo lo ayuda a comprender e identificar las indicaciones de un servidor Windows® comprometido. Este es un documento de muy alto nivel, que puede usar como recurso para rastrear un problema potencial en lugar de resolver un servidor comprometido.

Tipos de compromiso

Este artículo se ocupa de dos tipos de compromiso:nivel de aplicación y sistema o nivel de raíz. Estos son bastante graves y, a menudo, requieren un sólido plan de recuperación ante desastres para mitigarlos.

Compromiso a nivel de aplicación

Un compromiso a nivel de aplicación ocurre cuando un servicio o usuario de bajo nivel se ve comprometido. Los compromisos típicos en este grupo incluyen los siguientes problemas:

  • Desfiguración del sitio
  • Etiquetado FTP
  • Manipulación de archivos FTP
  • Inyección SQL

Este tipo de compromiso podría alterar los datos en el servidor. Sin embargo, nunca logran acceso administrativo o de nivel raíz en el servidor. En estos casos, es posible que pueda identificar y proteger la vulnerabilidad. Proteger la vulnerabilidad a nivel de aplicación podría implicar eliminar el acceso de escritura de un usuario web anónimo, eliminar virus de un servidor o proteger una aplicación a través de parches disponibles. Para reparar cualquier archivo alterado, debe restaurar desde la copia de seguridad.

Compromiso administrativo, de sistema o de nivel raíz

Este tipo de compromiso tiene lugar cuando un atacante obtiene acceso administrativo al sistema y puede incluir los siguientes problemas:

  • Servicio comprometido ejecutándose como un System , LocalService o Administrative usuario
  • Cuenta de usuario comprometida que tiene derechos administrativos
  • Acceso a través de un usuario no administrativo a una ubicación restringida a usuarios administrativos (como directorios del sistema, etc.)
  • Virus encontrado en el sistema o en el directorio administrativo
  • Actividad de red saliente visiblemente maliciosa
  • Inyección SQL (incluye ejecución de comandos)

Importante: Cuando un atacante obtiene este nivel de acceso, no puede determinar ninguna modificación que haya ocurrido durante el curso del compromiso.

Herramientas de Windows que puede usar para buscar un compromiso

  • Lista de tareas: Herramienta de línea de comandos que brinda detalles sobre procesos y servicios en el sistema
  • Administrador de tareas: Herramienta gráfica que proporciona detalles sobre procesos, estadísticas de recursos y actividad de red en el sistema
  • Administrador de recursos: Herramienta gráfica similar a Taskmanager pero proporcionando más detalles sobre el uso de recursos

Explore un servidor comprometido

Para explorar una posible situación de compromiso, realice las siguientes tareas, descritas en esta sección:

  • Identificar el compromiso
  • Revisar los procesos
  • Revisar los servicios
  • Revisar a los usuarios

Identificar el compromiso

La utilización inesperada y sostenida del ancho de banda es a menudo un síntoma común. Debido a que los atacantes generalmente comprometen los sistemas con la intención de ejecutar un servicio de red en ellos, es posible que haya un servicio ejecutándose en el sistema, por lo que escuchar un puerto extraño podría indicar un servidor comprometido.

  • Para revisar las conexiones de red para TCP, ejecute el siguiente comando:

    NetStat -naop 'TCP'
    
  • Para revisar las conexiones de red para UDP, ejecute el siguiente comando:

    NetStat** -naop 'UDP'
    
  • Para contar conexiones específicas, ejecute uno de los siguientes comandos:

    NetStat** -naop 'TCP'
    
    find /c ":<port>"
    

Nota: El TCP Sysinternal view ofrece herramientas gráficas alternativas para esta revisión.

Revisar los procesos

Identifique cualquier proceso sospechoso. Es probable que un servidor comprometido tenga uno o más procesos maliciosos en ejecución. A veces puede identificarlos porque contienen errores tipográficos, gramaticales o una descripción sospechosa.

  • Para enumerar los procesos que se ejecutan en el sistema, ejecute el siguiente comando:

    Tasklist /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running" 
    
  • Para obtener una lista de los procesos definidos como un servicio, ejecute el siguiente comando:

    Tasklist /svc 
    
  • Para mostrar una instantánea del proceso que se está ejecutando actualmente con el mismo resultado que la lista de procesos del administrador de tareas, ejecute el siguiente comando:

    Get-Process
    
  • Para enumerar los procesos y con qué usuario se están ejecutando, ejecute uno de los siguientes comandos:

    gwmi win32_process
    
    select Name, @{l="User name";e={$_.getowner().user}}
    

Revisar los servicios

Busque errores tipográficos, gramaticales o descripciones sospechosas. Si un servicio parece cuestionable, examine las propiedades y dependencias. Además, determine si el archivo es ejecutable. Utilice la GUI de servicios para ver los servicios en ejecución.

  • Para enumerar los servicios en ejecución, ejecute el siguiente comando:

    get-service | where-object {$_.Status -eq "Running"}
    

Revisar a los usuarios

Para saber si un servidor está comprometido e identificar rápidamente una mala configuración, revise las cuentas de usuario básicas.

  • Para identificar cuentas de usuario desconocidas o con nombres inusuales enumerando usuarios configurados, ejecute el siguiente comando:

    net user
    
  • Para identificar a los usuarios desconocidos en el grupo de administradores locales enumerando los administradores configurados, ejecute el siguiente comando:

    net localgroup Administrators
    
  • Para ver si una cuenta de invitado está habilitada y en el grupo Administradores, ejecute el siguiente comando:

    net user guest
    

Herramientas disponibles de Microsoft Sysinternals

Para obtener más información, consulte las siguientes fuentes:

  • Documentación para Sysinternals
  • Enlace en vivo a las herramientas internas del sistema
  • Sophos AntiRootkit

Use la pestaña Comentarios para hacer cualquier comentario o hacer preguntas. También puede iniciar una conversación con nosotros.


Linux
  1. Alojamiento de Windows DotNetPanel

  2. Agregar una IP a un servidor de Windows

  3. Habilitación de TLS 1.2 en un servidor de Windows

  4. Instalar IIS en Windows 2012

  5. Investigando el Compromiso de Malware de Criptomonedas en un Servidor Windows

Instalar certificados SSL en un servidor Windows

El usuario está bloqueado en Windows

Actualización del sistema del servidor Plesk

Servidor de monitoreo Graylog en Ubuntu Linux para servidores/servicios de monitoreo

Instalar FTP en Windows Server 2012 (R2)

¿Debo elegir un servidor Linux o Windows?