Atak na GitHub Działania mające na celu wydobywanie kryptowalut na serwerach GitHub

GitHub bada serię ataków, podczas których atakującym udało się wydobyć kryptowalutę w infrastrukturze chmury GitHub przy użyciu mechanizmu GitHub Actions w celu uruchomienia kodu. Pierwsze próby wykorzystania GitHub Actions do eksploracji miały miejsce w listopadzie ubiegłego roku.

GitHub Actions umożliwia deweloperom kodu dołączanie programów obsługi w celu automatyzacji różnych operacji w GitHub. Na przykład, korzystając z GitHub Actions, możesz przeprowadzać określone kontrole i testy podczas zatwierdzania lub automatyzować przetwarzanie nowych problemów. Aby rozpocząć eksplorację, osoby atakujące tworzą rozwidlenie repozytorium korzystające z akcji GitHub, dodają nowe akcje GitHub do swojej kopii i wysyłają żądanie ściągnięcia do oryginalnego repozytorium, proponując zastąpienie istniejących procedur obsługi akcji GitHub nowymi plikami „.github/workflows Procedura obsługi /ci.yml”.

Złośliwe żądanie ściągnięcia generuje wiele prób uruchomienia określonej przez osobę atakującą procedury obsługi GitHub Actions, która po 72 godzinach zostaje przerwana z powodu przekroczenia limitu czasu, kończy się niepowodzeniem i następnie uruchamia się ponownie. Aby zaatakować, osoba atakująca musi jedynie utworzyć żądanie ściągnięcia — moduł obsługi działa automatycznie bez żadnego potwierdzenia ani udziału opiekunów oryginalnego repozytorium, którzy mogą jedynie zastąpić podejrzane działanie i zatrzymać już uruchamiane akcje GitHub.

W procedurze obsługi ci.yml dodanej przez atakujących parametr „run” zawiera zaciemniony kod (eval „$(echo 'YXB0IHVwZGF0ZSAt…' | base64 -d”), który po uruchomieniu próbuje pobrać i uruchomić program eksplorujący. W pierwszych wariantach ataku z różnych repozytoriów program o nazwie npm.exe został wrzucony do GitHuba i GitLaba i skompilowany do pliku wykonywalnego ELF dla Alpine Linux (wykorzystywany w obrazach Dockera). Nowsze formy ataku pobierają kod generycznego XMRiga miner z oficjalnego repozytorium projektu, które następnie jest budowane z portfelem zastępowania adresów i serwerami do wysyłania danych.

Źródło: opennet.ru

Dodaj komentarz