Атака срСщу GitHub ДСйствия Π·Π° ΠΊΠΎΠΏΠ°Π΅Π½Π΅ Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡƒΡ‚Π° Π½Π° GitHub ΡΡŠΡ€Π²ΡŠΡ€ΠΈ

GitHub разслСдва ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ Π½Π°ΠΏΠ°Π΄Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ са успСли Π΄Π° копаят ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡƒΡ‚Π° Π² ΠΎΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° инфраструктура Π½Π° GitHub, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° GitHub Actions, Π·Π° Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ своя ΠΊΠΎΠ΄. ΠŸΡŠΡ€Π²ΠΈΡ‚Π΅ ΠΎΠΏΠΈΡ‚ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° GitHub Actions Π·Π° ΠΊΠΎΠΏΠ°Π΅Π½Π΅ Π΄Π°Ρ‚ΠΈΡ€Π°Ρ‚ ΠΎΡ‚ Π½ΠΎΠ΅ΠΌΠ²Ρ€ΠΈ ΠΌΠΈΠ½Π°Π»Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π°.

GitHub Actions позволява Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π΄Π° ΠΏΡ€ΠΈΠΊΠ°Ρ‡Π²Π°Ρ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² GitHub. НапримСр, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ GitHub Actions, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ тСстовС ΠΏΡ€ΠΈ Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π΅ ΠΈΠ»ΠΈ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π—Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ‚ ΠΊΠΎΠΏΠ°Π΅Π½Π΅, Π°Ρ‚Π°ΠΊΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Ρ€Π°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° GitHub Actions, добавят Π½ΠΎΠ²ΠΈ GitHub Actions към своСто ΠΊΠΎΠΏΠΈΠ΅ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ заявка Π·Π° изтСглянС към ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΠΉΠΊΠΈ Π΄Π° сС замСнят ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° GitHub Actions с Π½ΠΎΠ²ΠΈΡ‚Π΅ β€ž.github/workflows /ci.yml” ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€.

Π—Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π°Ρ‚Π° заявка Π·Π° изтСглянС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° мноТСство ΠΎΠΏΠΈΡ‚ΠΈ Π·Π° стартиранС Π½Π° посочСния ΠΎΡ‚ атакуващия ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ Π½Π° GitHub Actions, ΠΊΠΎΠΉΡ‚ΠΎ слСд 72 часа сС ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π° ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅, проваля сС ΠΈ слСд Ρ‚ΠΎΠ²Π° сС изпълнява ΠΎΡ‚Π½ΠΎΠ²ΠΎ. Π—Π° Π΄Π° Π°Ρ‚Π°ΠΊΡƒΠ²Π°, атакуващият трябва само Π΄Π° създадС заявка Π·Π° изтСглянС - ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ сС изпълнява Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ участиС ΠΎΡ‚ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈΡ‚Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ само Π΄Π° замСнят ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»Π½Π° активност ΠΈ Π΄Π° спрат Π²Π΅Ρ‡Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Π½ΠΈΡ‚Π΅ GitHub Actions.

Π’ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π° ci.yml, Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΎΡ‚ Π°Ρ‚Π°ΠΊΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ β€žrunβ€œ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° обфусциран ΠΊΠΎΠ΄ (eval β€ž$(echo 'YXB0IHVwZGF0ZSAt…' | base64 -dβ€œ), ΠΊΠΎΠΉΡ‚ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС изпълни, сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈ ΠΈ стартира ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° ΠΊΠΎΠΏΠ°Π΅Π½Π΅. Π’ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° npm.exe, бСшС ΠΊΠ°Ρ‡Π΅Π½Π° Π² GitHub ΠΈ GitLab ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π° Π² изпълним ELF Ρ„Π°ΠΉΠ» Π·Π° Alpine Linux (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Docker изобраТСния.) По-Π½ΠΎΠ²ΠΈ Ρ„ΠΎΡ€ΠΌΠΈ Π½Π° Π°Ρ‚Π°ΠΊΠ° изтСглят ΠΊΠΎΠ΄Π° Π½Π° ΠΎΠ±Ρ‰ XMRig ΠΌΠΈΠ½ΡŒΠΎΡ€ ΠΎΡ‚ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° сС ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π° с ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ» Π·Π° замСстванС Π½Π° адрСси ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€