{"id":1274,"date":"2026-06-23T10:24:26","date_gmt":"2026-06-23T10:24:26","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/06\/23\/los-paquetes-npm-maliciosos-se-hacen-pasar-por-herramientas-postcss-para-entregar-windows-rat-cyberdefensa-mx\/"},"modified":"2026-06-23T10:24:26","modified_gmt":"2026-06-23T10:24:26","slug":"los-paquetes-npm-maliciosos-se-hacen-pasar-por-herramientas-postcss-para-entregar-windows-rat-cyberdefensa-mx","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/06\/23\/los-paquetes-npm-maliciosos-se-hacen-pasar-por-herramientas-postcss-para-entregar-windows-rat-cyberdefensa-mx\/","title":{"rendered":"Los paquetes npm maliciosos se hacen pasar por herramientas PostCSS para entregar Windows RAT \u2013 CYBERDEFENSA.MX"},"content":{"rendered":"<div id=\"articlebody\">\n<p>Investigadores de ciberseguridad han descubierto un conjunto de paquetes npm maliciosos que est\u00e1n dise\u00f1ados para entregar un troyano de acceso remoto (RAT) basado en Windows.<\/p>\n<p>La lista de paquetes identificados se encuentra a continuaci\u00f3n:<\/p>\n<ul>\n<li>aes-decode-runner-pro (145 descargas)<\/li>\n<li>postcss-minify-selector (256 descargas)<\/li>\n<li>postcss-minify-selector-parser (615 descargas)<\/li>\n<\/ul>\n<p>Todos los paquetes fueron publicados durante el mes pasado por un usuario de npm llamado \u00ab<a href=\"https:\/\/www.npmjs.com\/~abdrizak\">abdrizak<\/a>\u00bb y seguir\u00e1 estando disponible para descargar desde npm al momento de escribir este art\u00edculo. <\/p>\n<p>\u00abAes-decode-runner-pro y postcss-minify-selector-parser se presentan como paquetes AES\/c\u00f3dec personalizado en capas y dependen del postcss-selector-parser leg\u00edtimo\u00bb, JFrog <a href=\"https:\/\/research.jfrog.com\/post\/from-postcss-typosquat-to-windows-rat\/\">dicho<\/a> en un an\u00e1lisis. \u00abPostcss-minify-selector se presenta como un minificador de selector PostCSS y depende de postcss-minify-selector-parser\u00bb.<\/p>\n<p>En cuanto a \u00abpostcss-minify-selector-parser\u00bb, el nombre es una referencia a \u00ab<a href=\"https:\/\/www.npmjs.com\/package\/postcss-selector-parser\">analizador-selector-postcss<\/a>,\u00bb una biblioteca npm ampliamente utilizada con m\u00e1s de 127 millones de descargas semanales. Independientemente del paquete descargado, la cadena de ataque conduce a la implementaci\u00f3n del mismo malware de Windows.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-cant-stop-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjPEV6-530TOlxG6PjrmdlY623wpBwduZ7t1HV6flcmO5R4q4AmfixDUzW0CrhlvMVNWbhvOIso-UDNTka4W_W9Chrdj_dglwBZwi7DuePM2IMIl-hfUYVIqBXgfpr_2619K8Gptb4LzwJ6gUbi7lWl2M8AFQJsHEaw63Q7tZ6708YGruiHrr0Y2W9YYxLQ\/s728-e100\/ThreatLocker-d.png\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Los paquetes vienen integrados con un cuentagotas de JavaScript que escribe un script de PowerShell (\u00absettings.ps1\u00bb) en el disco y lo ejecuta. Luego, el script de PowerShell act\u00faa como un descargador de una carga \u00fatil de la siguiente etapa recuperada de un servidor externo (\u00abnvidiadriver[.]net\u00bb) usando \u00abcurl.exe\u00bb.<\/p>\n<p>La carga \u00fatil recuperada es un archivo ZIP, del cual se extrae un archivo Visual Basic Script (\u00abupdate.vbs\u00bb) y se ejecuta usando \u00abwscript.exe\u00bb. Tambi\u00e9n se incluye en el archivo ZIP descargado un tiempo de ejecuci\u00f3n de Python, un cargador de Python (\u00abloader.py\u00bb) y varios m\u00f3dulos de extensi\u00f3n de Python (*.pyd) compilados usando <a href=\"https:\/\/nuitka.net\/\">Nuitka<\/a>.<\/p>\n<p>Visual Basic es responsable de configurar el entorno Python en el host comprometido y de iniciar el script \u00abloader.py\u00bb, que luego activa la l\u00f3gica central del malware. El RAT est\u00e1 equipado para recopilar informaci\u00f3n del host, desviar credenciales de Google Chrome, recopilar datos de extensiones de Chrome, ejecutar comandos de shell y descargar\/cargar archivos hacia y desde un servidor de comando y control (C2) (\u00ab95.216.92[.]207:8080\u00bb).<\/p>\n<p>Estas caracter\u00edsticas se implementan a trav\u00e9s de un conjunto de m\u00f3dulos de extensi\u00f3n nativos de Python:<\/p>\n<ul>\n<li>config.pyd, que contiene constantes, ID de comando, URL C2 y nombres de claves de registro<\/li>\n<li>api.pyd, que maneja el intercambio de paquetes HTTP C2<\/li>\n<li>audiodriver.pyd, que maneja el bucle de orquestaci\u00f3n principal de RAT<\/li>\n<li>command.pyd, que perfila el host, ejecuta comprobaciones de m\u00e1quinas virtuales (VM), transferencia de archivos y ejecuci\u00f3n de shell<\/li>\n<li>auto.pyd, que realiza el robo de extensiones y credenciales de Chrome, evitando las protecciones de cifrado vinculado a aplicaciones (ABE)<\/li>\n<li>util.pyd, que act\u00faa como ayudante de archivo tar\/gzip<\/li>\n<\/ul>\n<p>\u00abEste caso muestra c\u00f3mo un peque\u00f1o paquete similar a un analizador puede ocultar una carga \u00fatil de Windows de varias etapas mientras parece estar relacionado con herramientas de compilaci\u00f3n leg\u00edtimas con un uso semanal masivo\u00bb, dijo JFrog. \u00abPara los defensores, la lecci\u00f3n importante es tratar las dependencias de construcci\u00f3n similares como posibles mecanismos de entrega, no simplemente como un ruido de nombres inofensivo\u00bb.<\/p>\n<p>El descubrimiento coincide con otras tres campa\u00f1as dirigidas al ecosistema npm y TypeScript:<\/p>\n<ul>\n<li>Un paquete malicioso llamado \u00ab<a href=\"https:\/\/safedep.io\/malicious-apintergrationpost-npm-myra-rat\/\">apintergrationpost<\/a>\u00bb que ofrece un RAT Linux con todas las funciones denominado MYRA, al tiempo que afirma ser un cliente de integraci\u00f3n Node.js para ejercicios autorizados del equipo rojo. \u00abCompila un rootkit C nativo durante la instalaci\u00f3n, establece tres mecanismos de persistencia independientes, se hace pasar por un servicio systemd, admite la ejecuci\u00f3n sin archivos y proporciona acceso interactivo al shell con transmisi\u00f3n de pantalla en vivo\u00bb, dijo SafeDep.<\/li>\n<li>Un paquete malicioso llamado \u00ab<a href=\"https:\/\/safedep.io\/withgoogle-stitch-sdk-scope-squat-credential-harvester\/\">@withgoogle\/stitch-sdk<\/a>\u00bb que se hace pasar por la herramienta de dise\u00f1o Stitch AI de Google, pero viene con capacidades para robar credenciales de desarrollador de ocho fuentes (Claude Code, git config, ~\/.git-credentials, claves p\u00fablicas SSH, GitHub CLI, npm config, ~\/.npmrc y ~\/.docker\/config.json) y las exfiltra a un dominio controlado por un atacante (\u00abstitch-production[.]org\/api\/v1\u00bb).<\/li>\n<li>un grupo de <a href=\"https:\/\/safedep.io\/procwire-npm-windows-dropper-campaign\/\">cinco paquetes<\/a> (\u00abprocwire\u00bb, \u00abroutecraft\u00bb, \u00abendpointmap\u00bb, \u00abbytecraft\u00bb y \u00abstaticlayer\u00bb) que entrega un binario dropper en hosts de Windows desde un servidor externo y lo ejecuta durante la instalaci\u00f3n de npm. El paquete \u00abroutecraft\u00bb enumera \u00abprocwire\u00bb como dependencia, mientras que este \u00faltimo enumera \u00abendpointmap\u00bb y \u00abbytecraft\u00bb como dependencias. El \u00faltimo paquete, \u00abstaticlayer\u00bb, est\u00e1 dise\u00f1ado para ejecutarse en el lado del servidor y entregar archivos a un cliente que presenta el User-Agent exacto del dropper.<\/li>\n<\/ul>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/vpn-threat-report-m\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhFlTC7RrRZGiFAgASS0noWSL0qsQGFVp8-Hvuw9yp3X3VKRuTcb5SsPX09wJzrdIM6pu1_5lS4EeZp7Sx4iYBpNJkrGnpr08yyaS1HQ5_5TxaCsP6O0OtHNuOkesn6CbNjao1GPulCJk-uljYMSfMZfBYNrngpe669t7jlRn1FqiEnXhsFD1WVkpaYIVgh\/s728-e100\/ai-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Se recomienda a los usuarios que hayan instalado cualquiera de los paquetes anteriores que los eliminen con efecto inmediato, eliminen cualquier artefacto creado por ellos y roten las credenciales de las m\u00e1quinas de desarrollo afectadas.<\/p>\n<p>Los hallazgos tambi\u00e9n coinciden con una <a href=\"https:\/\/safedep.io\/astro-config-blockchain-c2-supply-chain\/\">ataque a la cadena de suministro<\/a> apuntando al \u00ab<a href=\"https:\/\/github.com\/Egonex-AI\/Understand-Anything\">gonex-AI\/Entender-cualquier cosa<\/a>\u00bb herramienta de gr\u00e1fico de conocimiento para impulsar una carga \u00fatil maliciosa que \u00abse\u00f1ala uno de los tres servidores C2 codificados, extrae un marcador de campa\u00f1a, descifra XOR y eval\u00faa un cliente bot descargado, luego resuelve de forma independiente un comando de segunda etapa desde una direcci\u00f3n de blockchain de Tron cuya \u00faltima transacci\u00f3n codifica un hash de transacci\u00f3n BSC que lleva la carga \u00fatil activa\u00bb.<\/p>\n<p>La actividad se superpone con una operaci\u00f3n de la cadena de suministro de Corea del Norte denominada PolinRider, que ha sido <a href=\"https:\/\/opensourcemalware.com\/blog\/polinrider-rides-again-north-korean-attack-expands-across-github\">observado<\/a> inyectar JavaScript ofuscado en archivos de configuraci\u00f3n de desarrolladores leg\u00edtimos en casi 2000 repositorios de GitHub comprometidos para ofrecer un conocido descargador y ladr\u00f3n de malware denominado BeaverTail, que luego allana el camino para la puerta trasera InvisibleFerret.<\/p>\n<p>\u00abEste ataque combina tres cosas que individualmente son familiares pero que juntas abren una brecha de detecci\u00f3n: una descripci\u00f3n de relaciones p\u00fablicas falsa elaborada con evidencia de prueba fabricada, una diferencia que oculta su carga \u00fatil en un espacio en blanco horizontal y un C2 de dos etapas donde la segunda etapa utiliza la infraestructura p\u00fablica de blockchain como un rel\u00e9 de escritura \u00fanica y lectura en cualquier lugar\u00bb, dijo SafeDep.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Investigadores de ciberseguridad han descubierto un conjunto de paquetes npm maliciosos que est\u00e1n dise\u00f1ados para entregar un troyano de acceso remoto (RAT) basado en Windows. La lista de paquetes identificados se encuentra a continuaci\u00f3n: aes-decode-runner-pro (145 descargas) postcss-minify-selector (256 descargas) postcss-minify-selector-parser (615 descargas) Todos los paquetes fueron publicados durante el mes pasado por un usuario [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":752,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[24,1274,2200,205,52,267,277,276,36,655,127,3261,209,421],"class_list":["post-1274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-cyberdefensa-mx","tag-entregar","tag-hacen","tag-herramientas","tag-los","tag-maliciosos","tag-npm","tag-paquetes","tag-para","tag-pasar","tag-por","tag-postcss","tag-rat","tag-windows"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/comments?post=1274"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1274\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/752"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=1274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=1274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=1274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}