Tratando de mantener la guardia alta: Ataques de ransomware centrados en Python
Publicado: 2022-01-04A principios de este año, los científicos de Sophos determinaron una nueva y amplia gama de ransomware que se compuso en el lenguaje de programación Python. El ataque tuvo como objetivo el equipo virtual (VM) alojado en VMware ESXi, encriptando los discos digitales y dejándolos todos fuera de línea.
Aparentemente, el ransomware encontrado tiene un rendimiento inusualmente rápido y tiene la capacidad de cifrar los datos del usuario en solo unas pocas horas. De hecho, en la situación descubierta por los científicos de Sophos, el ataque duró solo tres horas.
En un informe sobre el descubrimiento, un investigador principal de Sophos observó que Python es un lenguaje de codificación que no se usa con frecuencia para el ransomware. De acuerdo con un informe reciente de la división de análisis e inteligencia de BlackBerry, el malware suele funcionar con lenguajes como Go, DLang, Nim y Rust. Dicho esto, por lo general depende en gran medida del sistema en el que se esté enfocando un atacante.
El lenguaje de programación Python
En primer lugar, es importante contextualizar la importancia del uso de Python en el ransomware. Python es un lenguaje de secuencias de comandos robusto, completo y de recursos abiertos. En términos de sus usos como administrador de procedimientos, es capaz de utilizar módulos para habilitar trabajos que se realizan continuamente.
Como señalaron los investigadores de BlackBerry, los atacantes generalmente prefieren lenguajes que son más jóvenes en su existencia y bastante desconocidos y no analizados. Python, por otro lado, es uno de los lenguajes de programación más populares empleados en la actualidad y se lanzó hace 30 años, en 1991. Su aceptación se debe a su utilidad como software para cualquier administrador de sistemas. Entre otras cosas, Python puede ser de gran ayuda con la ejecución de servidores, el registro y la detección de aplicaciones web.
¿Cómo fue factible este ataque?
Finalmente, el error humano fue la causa de este asalto. Comenzó cuando los atacantes lograron acceder a una cuenta de TeamViewer perteneciente al negocio de la víctima. La persona experimentó la entrada de administrador y no tenía habilitada la autenticación multifactor (MFA).
A partir de entonces, el asalto incluyó la explotación de una interfaz administrativa de VMware Hypervisor. Los servidores ESXi tienen un soporte SSH incorporado denominado ESXi Shell que los administradores pueden ayudar y deshabilitar cuando sea necesario. Este ataque ocurrió porque la asistencia de shell de ESXi estaba habilitada y luego seguía ejecutándose.
En el informe, los investigadores declaran que atacar el sistema expuso un proveedor de shell en ejecución que debería haberse desactivado inmediatamente después de su uso. En esencia, las puertas de todos y cada uno de los programas operativos de la víctima estaban abiertas.
Los empleados de TI de la organización víctima aplicaron regularmente ESXi Shell para manejar el servidor y habilitaron y deshabilitaron el shell varias veces en los meses previos al ataque. Por otro lado, la última vez que habilitaron el shell, no pudieron deshabilitarlo más tarde. Los delincuentes se aprovecharon de esto y pudieron acceder y, por lo tanto, cifrar todos los discos virtuales de la víctima.
Si se hubieran seguido las sugerencias de estabilidad del procedimiento de VMware, el procedimiento habría sido seguro o, al menos, habría sido más complicado para los atacantes dividirse y, en algún momento, cifrar el proceso completo.
¿Por qué se aplicó Python?
Python se está volviendo cada vez más conocido, no solo como un lenguaje de programación de propósito general, sino también para la administración de sistemas de TI. Python se utilizó durante este ataque porque no tuvo problemas.

Como Python está preinstalado en muchas unidades de trabajo centradas en Linux, como ESXi, el uso de Python en este caso tiene más sentido.
Esencialmente, los atacantes hicieron uso de las aplicaciones que ya existen en la composición del objetivo del ataque. Los atacantes utilizaron las secuencias de comandos exactas que el objetivo ya estaba empleando para sus tareas administrativas diarias.
El punto de que Python se utilizó como una herramienta integral del sistema explica cómo se implementó el malware en solo 10 minutos. Esto también aclara por qué los científicos lo etiquetaron como 'inusualmente rápido', todos los recursos importantes estaban esperando a los atacantes en el sitio web.
Orientación a servidores ESXi y dispositivos virtuales
Los servidores ESXi son un objetivo atractivo para los delincuentes de ransomware, ya que pueden atacar muchas máquinas digitales a la vez y cada uno de los dispositivos digitales puede estar ejecutando varias aplicaciones importantes para la empresa o servicios de expertos.
Para que un asalto sea productivo, los actores de amenazas deberán acceder al conocimiento crítico del negocio. En este escenario, el concentrado en la corporación experimentado anteriormente lo agrupó todo menos que un paraguas antes de la llegada de los atacantes. Por lo tanto, la oportunidad de retorno de la inversión financiera del ataque se maximiza y los servidores ESXi son el objetivo perfecto.
Entendiendo clases preciosas
VMware no recomienda dejar el shell de ESXi ejecutándose sin que sea monitoreado y también puede hacer recomendaciones sobre privilegios de proceso que no se cumplieron en este caso. Imponer métodos de estabilidad muy simples podría detener ataques como estos o, al menos, hacerlos más difíciles.
Como regla básica de seguridad en la administración de sistemas de TI: cuanto menos expone el sistema, menos hay que proteger. La configuración de la técnica original y la configuración predeterminada no son adecuadas para la seguridad del programa de creación.
Si ESXi Shell se hubiera deshabilitado justo después de que los administradores hubieran completado su trabajo, no habría sido tan fácil. Los administradores estaban acostumbrados a usar ESXi Shell como una puerta de enlace respetable para controlar los dispositivos digitales de los clientes y, por lo tanto, actuaron de manera descuidada y no cerraron la puerta al salir.
Una parte más de esta situación en la que pensar desde un punto de vista administrativo es la visibilidad de los dispositivos de archivo mundial. Todas las particiones de datos de la víctima estaban disponibles solo en su sistema de archivos interno. Sabemos que el cifrado se completó archivo por archivo. Los delincuentes adjuntaron el cifrado esencial a cada archivo individual y sobrescribieron el contenido del archivo principal. Un administrador de procedimientos mucho más cuidadoso podría dividir el área de detalles de las aplicaciones y dividirla entre su almacenamiento de datos y el resto del programa.
Agregar Autorización de múltiples problemas para cuentas con una etapa más alta de privilegio también evitaría a los atacantes de oportunidades, pero los directores generalmente no aceptan MFA para uso frecuente y diario.
Simplemente no se puede subestimar que tener los tratamientos adecuados en el lugar permitirá desalentar los ataques a largo plazo. Total, esto tiene mucho más que ver con la seguridad y administración de métodos que con Python. En este escenario, Python era la herramienta más conveniente para usar, y les dio a los atacantes un acceso amplio a todas las máquinas digitales.
Piotr Landowski, supervisor de servicios de envío, STX Próximamente