Ataque a GitHub Acciones para minería de criptomonedas en servidores de GitHub

GitHub está investigando una serie de ataques en los que los atacantes lograron extraer criptomonedas en la infraestructura de la nube de GitHub utilizando el mecanismo GitHub Actions para ejecutar su código. Los primeros intentos de utilizar GitHub Actions para la minería se remontan a noviembre del año pasado.

GitHub Actions permite a los desarrolladores de código adjuntar controladores para automatizar diversas operaciones en GitHub. Por ejemplo, al usar GitHub Actions puedes realizar ciertas comprobaciones y pruebas al confirmar o automatizar el procesamiento de nuevos Issues. Para comenzar a minar, los atacantes crean una bifurcación del repositorio que usa GitHub Actions, agregan un nuevo GitHub Actions a su copia y envían una solicitud de extracción al repositorio original proponiendo reemplazar los controladores de GitHub Actions existentes con el nuevo ".github/workflows". /ci.yml” controlador.

La solicitud de extracción maliciosa genera múltiples intentos de ejecutar el controlador de GitHub Actions especificado por el atacante, que después de 72 horas se interrumpe debido a un tiempo de espera, falla y luego se ejecuta nuevamente. Para atacar, un atacante solo necesita crear una solicitud de extracción: el controlador se ejecuta automáticamente sin ninguna confirmación o participación de los mantenedores del repositorio original, quienes solo pueden reemplazar la actividad sospechosa y dejar de ejecutar GitHub Actions.

En el controlador ci.yml agregado por los atacantes, el parámetro "ejecutar" contiene código ofuscado (eval "$(echo 'YXB0IHVwZGF0ZSAt...' | base64 -d"), que, cuando se ejecuta, intenta descargar y ejecutar el programa de minería. En las primeras variantes del ataque desde diferentes repositorios, se cargó un programa llamado npm.exe en GitHub y GitLab y se compiló en un archivo ELF ejecutable para Alpine Linux (usado en imágenes de Docker). Las formas más nuevas de ataque descargan el código de un XMRig genérico. minero del repositorio oficial del proyecto, que luego se construye con una billetera de sustitución de direcciones y servidores para enviar datos.

Fuente: opennet.ru

Añadir un comentario