¿Cómo auditar la seguridad de tu servidor Windows? Uno de los puntos que más preocupan a los administradores de sistemas hoy en día es la seguridad de sus servidores e infraestructuras, sobre todo ante el creciente número de amenazas que acechan hoy en día. Las grandes empresas no son el único objetivo y la situación geopolítica global ha intensificado los ataques desde entes extranjeros a empresas de diversa índole con el fin de mermar la capacidad productiva de los países y extender la sensación de inseguridad.
La inquietud de la mayoría de los administradores de sistemas está más que justificada, ya que los números son claros, aumentan los ataques, aumentan los daños y por desgracia, no aumenta el presupuesto de los departamentos de TI.
Recordemos la publicación que desde Jotelulu hicimos hace unas semanas en LinkedIn donde comentábamos:
“El número de #cyberataques a #pymes españolas no hace más que crecer. Durante la pandemia fue un escándalo. ¡No mola nada! Sin duda, una prueba más de la importancia de invertir en seguridad y cubrirse las espaldas a nivel de #sistemas .”
Desde Jotelulu queremos echaros una mano para establecer una mejor seguridad en vuestras instalaciones, compartiendo con vosotros un listado de herramientas que os permitirán revisar la seguridad de vuestras máquinas y auditar la seguridad de tu servidor.
Pero antes de empezar, os vamos a recomendar que echéis un ojo a las guías de seguridad que comparte el CIS (Center for Internet Security). En su web (https://www.cisecurity.org/) comparte una serie de guías para asegurar sistemas GNU/Linux, comunicaciones, aplicativos, cloud públicas y sistemas Microsoft. Estas guías definen punto por punto, lo que debemos hacer para tener unos sistemas más seguros.
Y ahora vamos a lo que vamos…
Cuando tenemos que seleccionar una serie de herramientas para auditar nuestro sistema, siempre debemos tener un ojo puesto en el presupuesto, y como partimos de la premisa de que no tenemos mucho presupuesto, voy a proponer una serie de herramientas gratuitas para auditar los siguientes aspectos del sistema, dejando para el futuro otros aspectos del sistema:
- Análisis de logs del sistema y aplicaciones.
- Revisión de los inicios de sesión.
- Revisión de tareas programadas.
- Revisión de dispositivos.
- Revisión de enlaces.
Además, antes de empezar a tratar esas herramientas, hablaremos brevemente de PowerShell, lo que algunos describen como “la navaja suiza del administrador Windows”.
PowerShell:
PowerShell es la herramienta de línea de comandos por defecto de los sistemas Microsoft, tanto en sistemas cliente como en sistemas servidor, teniendo no solo integración con los sistemas operativos, ya que tiene comandos y librerías para todos los productos del gigante de Redmond y además tiene integración con varias distribuciones del sistema operativo GNU/Linux.
Como no podía ser de otra manera, también nos proporciona herramientas para la auditoría y el análisis forense. Existen cmdlets para auditar el registro del sistema, los sistemas de ficheros, el sector de arranque, la cache, la línea base y la línea de tiempos y modificaciones, y otros elementos.
El gran problema de utilizar esta herramienta es que tiene una curva de aprendizaje muy pronunciada, pero, por otro lado, tiene la ventaja de poderse utilizar para tareas administrativas y scripting en todos los productos de Microsoft e incluso algunos de GNU/Linux.
Queda pendiente, que escribamos una serie de artículos sobre como auditar distintos elementos de sistemas Microsoft con scripts o comandos de PowerShell, pero eso será dentro de algunas semanas. Tenemos pensado escribir sobre auditoría de sistemas de ficheros, auditoría de usuarios de Active Directory, auditoría de red, etc.
Para aprender más sobre PowerShell y los elementos de auditoría recomiendo revisar estas dos fuentes:
- Guía de introducción a PowerShell de Microsoft: Introducción a PowerShell – Learn | Microsoft Docs
- Herramientas forenses de PowerShell: PowerForensics
Análisis de logs:
Toda buena auditoría tiene que pasar por la revisión de los logs del sistema y de las aplicaciones. En este caso seleccionamos varias aplicaciones para poder cubrir distintos tipos de sistemas.
Para comenzar tenemos Logparser, la aplicación de revisión de logs que nos proporciona Microsoft. Logparser es un analizador de registros que proporciona acceso universal a datos en formato texto, como logs, XML o CSV, además de fuentes de datos clave en el sistema operativo Windows®, como el Registro de eventos, el Registro, el sistema de archivos y Active Directory, o sea una joya con la que podremos tratar bastante información.
La herramienta se puede descargar de la siguiente URL: https://www.microsoft.com/en-us/download/details.aspx?id=24659
Otra herramienta útil para la revisión de logs es “Event Log Explorer”, que permite ver los logs de manera bastante más cómoda de lo que nos lo permite el visor de eventos de Windows, cosa que, por otro lado, no es demasiado complicado. Se puede descargar desde esta otra dirección: Download Event Viewer replacement software – Event Log Explorer – FSPro Labs (eventlogxp.com)
Por último, como parte de SysInternals, tenemos “PSLogList” que nos permite hacer volcados de los registros de logs. Descargable desde: Sysinternals Utilities – Windows Sysinternals | Microsoft Docs
Revisión de inicios de sesión:
Otra herramienta interesante para ver inicios y cierres de sesión es por ejemplo WinLogOnView de NirSoft, que nos permite ver los inicios de sesión con datos de inicio, cierra, equipo en el que se ha validado, el usuario que ha utilizado o la dirección desde la que ha conectado.
Descargable desde: https://www.nirsoft.net/utils/windows_log_on_times_view.html
Dentro de SysInternals, la suite de Microsoft para la administración de sistemas Windows también tenemos dos herramientas interesantes; “LogonSessions” que enumera las sesiones de inicio en el sistema operativo y “PSLogggedOn” que muestra los usuarios logados en un sistema.
SysInternals, es descargable desde: Sysinternals Utilities – Windows Sysinternals | Microsoft Docs
Revisión de tareas programadas:
Como todos sabemos, tenemos la posibilidad de establecer tareas programadas dentro de nuestro sistema operativo, sea este cliente o servidor, pero en el caso de los servidores, esto toma gran importancia dada la cantidad de acciones que se deben hacer, tareas como copias de seguridad, rotación de logs, revisiones varias, etc. Todo esto se puede automatizar de múltiples maneras, y una de las más ampliamente usada es el Administrador de tareas (taskmgr.exe).
Es posible, que un atacante o un usuario con privilegios y con intenciones nada claras, o incluso un malware añada tareas para su ejecución en el sistema por lo que debemos tener un ojo puesto en esto y “TaskShedulerView” es la herramienta perfecta para revisar este topic, permitiendo además, tanto la ejecución en máquinas locales como en máquinas remotas.
“TaskShedulerView” se puede descargar desde la siguiente URL: https://www.nirsoft.net/utils/task_scheduler_view.html
También tenemos “Autoruns”, como parte integrante de SysInternals y que nos muestra los programas que están configurados para iniciarse automáticamente. Puede servir para ver elementos que no hemos configurado nosotros. Se puede obtener a través de la siguiente URL: Sysinternals Utilities – Windows Sysinternals | Microsoft Docs
Revisión de dispositivos:
En ocasiones, necesitaremos es una pequeña listar los dispositivos USB conectados en una máquina, y esto es algo que no es nada complicado de sacar, de hecho se puede ver directamente y sin mucho esfuerzo con las herramientas del sistema, pero también podemos necesitar listar los dispositivos USB que que se han conectado previamente al sistema, y esto nos lo permite USBDeview.
USBDeview nos muestra información sobre cada dispositivo USB conectado, incluyendo su nombre, descripción, tipo de dispositivo, número de serie, Id. de proveedor, Id. de producto, fecha y hora en la que se conectó, etc.
Esta herramienta nos permitirá desconectar dispositivos USB conectados en el momento actual, desinstalar dispositivos USB e incluso deshabilitar y habilitar dispositivos USB.
Se puede descargar desde: View any installed/connected USB device on your system (nirsoft.net)
Revisión de enlaces:
Otro punto interesante a la hora de revisar un sistema es ver los archivos que han sido borrados, modificados o incluso han sido derivados a dispositivos externos como por ejemplo memorias USB, recursos de red, etc. Todo archivo, aunque deje de estar disponible, deja cierta traza en el sistema, pero puede ser complicado extraerlas de manera manual.
Para realizar estas tareas, se puede utilizar LinkParser, una utilidad que nos ayudará con esta tarea y que proporcionará todo tipo de datos sobre este tipo de eventos, incluyendo la posibilidad de exportarlos a un formato CSV para una mayor facilidad en el análisis.
Esta herramienta se puede descargar de: Link Parser – 4Discovery
Aunque os recomiendo echar un ojo al nivel superior, donde encontrareis varias herramientas muy interesantes: Our Tools – 4Discovery
Algunas herramientas básicas:
Al margen de las aplicaciones descritas, que no son todas las que pondría, pero no quiero extenderme más de lo necesario, porque si no os acabo aburriendo más de lo necesario, os voy a recomendar algunas herramientas básicas que yo utilizo o he utilizado en los casos que he tenido que hacer auditorias.
- Un equipo aislado: Personalmente, tengo siempre una sobremesa preparado para hacer tareas de revisión de materiales sospechosos de contener virus o para hacer tareas de auditoría. Siempre es más que recomendable reinstalarlo tras cada uso.
- Un conjunto de llaveros USB: Para poder instalar o almacenar las herramientas. Yo suelo tener las de SysInternals en una USB, además de algunos USB con sistemas auto-arrancables para poder lanzar algunos comandos de recuperación o algunas pruebas con el disco montado en modo lectura.
- Un disco duro USB externo: Para almacenar muestras, copias que hemos obtenido, etc. Debería ser un disco que solo se utilizara para estas funciones. Personalmente, me gustan bastante los Toshiba, porque se pueden adquirir a un precio bastante asequible, aunque para mayor fiabilidad prefiero Seagate.
- Una clonadora de discos: Puede venirnos bien para muchas cosas, como, por ejemplo, para hacer un clon bit a bit (de esos que mantienen el HASH) o para poder hacer las pruebas sobre el disco clonado y así no afectar al disco de origen.
- Un adaptador de SATA a USB, para poder conectar los discos duros al ordenador de pruebas.
- Algunas bolsas y cajas de Faraday: Son bolsas o carcasas a prueba de perturbaciones electromagnéticas que vienen muy bien para guardar aislados los dispositivos. Son también muy recomendables para viajas y proteger nuestra cacharrería.
Y en función de lo que se quiera hacer y auditar, pueden incluirse muchas herramientas para testeo de cableado, de redes Wifi, etc.
Conclusión:
En un entorno tan inseguro como el actual, tener unas mínimas nociones de seguridad de sistemas, de auditoría e incluso de técnicas forenses digitales pueden salvarnos de más de un problema.
Existen muchas herramientas y técnicas que puedes usar para auditar la seguridad de tu servidor, y por eso damos aquí algunas herramientas que deberíamos conocer, y si no son estas, conocer otras que cumplan la misma función.
Por desgracia, este espacio es limitado y no podemos dar más que unas pocas pistas sobre herramientas, pero hay muchas más, y hay muchas pruebas que hacer antes de dominarlas.
En futuros artículos iremos viendo otras herramientas y hablando sobre su uso, con ejemplos para un mayor aprovechamiento del tiempo y una mayor aplicación de lo que se describe en estos artículos.
Mientras tanto, recordando Canción Triste de Hill Street…
“Tengan cuidado ahí fuera”.
¡Gracias por leernos!