{"id":457,"date":"2026-04-05T06:27:42","date_gmt":"2026-04-05T06:27:42","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/04\/05\/36-paquetes-npm-maliciosos-explotaron-redis-y-postgresql-para-implementar-implantes-persistentes-cyberdefensa-mx\/"},"modified":"2026-04-05T06:27:42","modified_gmt":"2026-04-05T06:27:42","slug":"36-paquetes-npm-maliciosos-explotaron-redis-y-postgresql-para-implementar-implantes-persistentes-cyberdefensa-mx","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/04\/05\/36-paquetes-npm-maliciosos-explotaron-redis-y-postgresql-para-implementar-implantes-persistentes-cyberdefensa-mx\/","title":{"rendered":"36 paquetes npm maliciosos explotaron Redis y PostgreSQL para implementar implantes persistentes \u2013 CYBERDEFENSA.MX"},"content":{"rendered":"<div id=\"articlebody\">\n<p>Los investigadores de ciberseguridad han descubierto 36 paquetes maliciosos en el registro npm que est\u00e1n disfrazados de complementos de Strapi CMS pero vienen con diferentes cargas \u00fatiles para facilitar la explotaci\u00f3n de Redis y PostgreSQL, implementar shells inversos, recopilar credenciales y colocar un implante persistente.<\/p>\n<p>\u00abCada paquete contiene tres archivos (paquete.json, index.js, postinstall.js), no tiene descripci\u00f3n, repositorio ni p\u00e1gina de inicio, y utiliza la versi\u00f3n 3.6.8 para aparecer como un complemento comunitario maduro de Strapi v3\u00bb, SafeDep <a href=\"https:\/\/safedep.io\/malicious-npm-strapi-plugin-events-c2-agent\/\">dicho<\/a>.<\/p>\n<p>Todos los paquetes npm identificados siguen la misma convenci\u00f3n de nomenclatura, comenzando con \u00abstrapi-plugin-\u00bb y luego frases como \u00abcron\u00bb, \u00abbase de datos\u00bb o \u00abservidor\u00bb para enga\u00f1ar a los desarrolladores desprevenidos para que los descarguen. Vale la pena se\u00f1alar que los complementos oficiales de Strapi tienen su alcance en \u00ab@strapi\/\u00bb.<\/p>\n<p>Los paquetes, subidos por cuatro cuentas de t\u00edteres de calcetines \u00abumarbek1233\u00bb, \u00abkekylf12\u00bb, \u00abtikeqemif26\u00bb y \u00abumar_bektembiev1\u00bb durante un per\u00edodo de 13 horas, se enumeran a continuaci\u00f3n:<\/p>\n<ul>\n<li>strapi-plugin-cron<\/li>\n<li>strapi-plugin-config<\/li>\n<li>servidor-plugin-strapi<\/li>\n<li>base de datos-plugin-strapi<\/li>\n<li>strapi-plugin-n\u00facleo<\/li>\n<li>ganchos-plugin-strapi<\/li>\n<li>monitor-plugin-strapi<\/li>\n<li>eventos-plugin-strapi<\/li>\n<li>registrador-plugin-strapi<\/li>\n<li>strapi-plugin-salud<\/li>\n<li>sincronizaci\u00f3n-plugin-strapi<\/li>\n<li>semilla-plugin-strapi<\/li>\n<li>correa-plugin-locale<\/li>\n<li>formulario-plugin-strapi<\/li>\n<li>strapi-plugin-notificar<\/li>\n<li>strapi-plugin-api<\/li>\n<li>strapi-plugin-sitemap-gen<\/li>\n<li>complemento-strapi-herramientas-nordicas<\/li>\n<li>strapi-plugin-nordica-sync<\/li>\n<li>strapi-plugin-nordica-cms<\/li>\n<li>complemento-strapi-nordica-api<\/li>\n<li>complemento-strapi-nordica-recon<\/li>\n<li>strapi-plugin-nordica-stage<\/li>\n<li>complemento-strapi-nordica-vhost<\/li>\n<li>complemento-strapi-nordica-deep<\/li>\n<li>complemento-strapi-nordica-lite<\/li>\n<li>complemento-strapi-nordica<\/li>\n<li>complemento-strapi-finseven<\/li>\n<li>strapi-plugin-hextest<\/li>\n<li>complemento-strapi-cms-herramientas<\/li>\n<li>strapi-plugin-sincronizaci\u00f3n-de-contenido<\/li>\n<li>herramientas-depuraci\u00f3n-plugin-strapi<\/li>\n<li>control-de-estado-del-plugin-strapi<\/li>\n<li>strapi-plugin-guardarian-ext<\/li>\n<li>complemento-strapi-uuid-avanzado<\/li>\n<li>complemento-strapi-blurhash <\/li>\n<\/ul>\n<p>Un an\u00e1lisis de los paquetes revela que el c\u00f3digo malicioso est\u00e1 incrustado en el enlace del script postinstalaci\u00f3n, que se ejecuta en \u00abnpm install\u00bb sin requerir ninguna interacci\u00f3n por parte del usuario. Se ejecuta con los mismos privilegios que los del usuario instalador, lo que significa que abusa del acceso ra\u00edz dentro de entornos CI\/CD y contenedores Docker.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/vpn-risk-report-inside-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgWajeG0cdaapf1GKTZRUZUB7BzuYGegyw5k0eAorJXlmkFdYCCeLXXhXYJuXU9lWD33rV6rRnIyly3czoNfYifpxk1eGA5slItPmim3HkubXoQMgC4J7hdQPywxGbWq7Eqeff_o6s2Fq-WmSFd5guwdLn7IqpveMqULqtVnd-ndnljWYGj45EkMFB7m0qm\/s728-e100\/z-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>La evoluci\u00f3n de las cargas \u00fatiles distribuidas como parte de la campa\u00f1a es la siguiente:<\/p>\n<ul>\n<li>Utilice una instancia de Redis accesible localmente para la ejecuci\u00f3n remota de c\u00f3digo inyectando una entrada crontab (tambi\u00e9n conocida como tabla cron) para descargar y ejecutar un script de shell desde un servidor remoto cada minuto. El script de shell escribe un shell web PHP y un shell inverso de Node.js a trav\u00e9s de SSH en el directorio de cargas p\u00fablicas de Strapi. Tambi\u00e9n intenta escanear el disco en busca de secretos (por ejemplo, Elasticsearch y frases iniciales de billeteras de criptomonedas) y extraer un m\u00f3dulo API Guardarian.<\/li>\n<li>Combine la explotaci\u00f3n de Redis con el escape del contenedor Docker para escribir cargas \u00fatiles del shell en el host fuera del contenedor. Tambi\u00e9n inicia un shell inverso directo de Python en el puerto 4444 y escribe un activador de shell inverso en el directorio node_modules de la aplicaci\u00f3n a trav\u00e9s de Redis.<\/li>\n<li>Implemente un shell inverso, escriba un descargador de shell a trav\u00e9s de Redis y ejecute el archivo resultante.<\/li>\n<li>Escanee el sistema en busca de variables de entorno y cadenas de conexi\u00f3n de bases de datos PostgreSQL.<\/li>\n<li>Un recolector de credenciales ampliado y una carga \u00fatil de reconocimiento para recopilar volcados de entorno, configuraciones de Strapi, extracci\u00f3n de bases de datos de Redis mediante la ejecuci\u00f3n de los comandos INFO, DBSIZE y KEYS, mapeo de topolog\u00eda de red y secretos de Docker\/Kubernetes, claves criptogr\u00e1ficas y archivos de billetera de criptomonedas.<\/li>\n<li>Lleve a cabo la explotaci\u00f3n de la base de datos PostgreSQL conect\u00e1ndose a la base de datos PostgreSQL del objetivo utilizando credenciales codificadas y consultando tablas espec\u00edficas de Strapi en busca de secretos. Tambi\u00e9n descarta patrones coincidentes relacionados con criptomonedas (por ejemplo, billetera, transacci\u00f3n, dep\u00f3sito, retiro, activo, fr\u00edo y saldo) e intenta conectarse a seis bases de datos de Guardarian. Esto indica que el actor de la amenaza ya est\u00e1 en posesi\u00f3n de los datos, obtenidos ya sea mediante un compromiso previo o por alg\u00fan otro medio.<\/li>\n<li>Implementar un implante persistente dise\u00f1ado para mantener el acceso remoto a un nombre de host espec\u00edfico (\u00abprod-strapi\u00bb).<\/li>\n<li>Facilite el robo de credenciales escaneando rutas codificadas y generando un shell inverso persistente.<\/li>\n<\/ul>\n<p>\u00abLas ocho cargas \u00fatiles muestran una narrativa clara: el atacante comenz\u00f3 agresivamente (Redis RCE, Docker escape), descubri\u00f3 que esos enfoques no funcionaban, gir\u00f3 hacia el reconocimiento y la recopilaci\u00f3n de datos, utiliz\u00f3 credenciales codificadas para el acceso directo a la base de datos y finalmente se decidi\u00f3 por el acceso persistente con robo de credenciales dirigido\u00bb, dijo SafeDep.<\/p>\n<p>La naturaleza de las cargas \u00fatiles, combinada con el enfoque en los activos digitales y el uso de credenciales de bases de datos y nombres de host codificados, plantea la posibilidad de que la campa\u00f1a fuera un ataque dirigido contra una plataforma de criptomonedas. Se recomienda a los usuarios que hayan instalado cualquiera de los paquetes antes mencionados que asuman un compromiso y roten todas las credenciales.<\/p>\n<p>El descubrimiento coincide con el descubrimiento de varios ataques a la cadena de suministro dirigidos al ecosistema de c\u00f3digo abierto.<\/p>\n<ul>\n<li>Una cuenta de GitHub llamada \u00ab<a href=\"https:\/\/safedep.io\/prt-scan-github-actions-exfiltration-campaign\/\">ezmtebo<\/a>\u00bb ha enviado m\u00e1s de 256 solicitudes de extracci\u00f3n en varios repositorios de c\u00f3digo abierto que contienen una carga \u00fatil de exfiltraci\u00f3n de credenciales. \u00abRoba secretos a trav\u00e9s de registros de CI y comentarios de relaciones p\u00fablicas, inyecta flujos de trabajo temporales para volcar valores secretos, aplica autom\u00e1ticamente etiquetas para evitar las puertas pull_request_target y ejecuta un esc\u00e1ner de fondo\/procesamiento durante 10 minutos despu\u00e9s de que sale el script principal\u00bb, dijo SafeDep.<\/li>\n<li>Un secuestro de \u00ab<a href=\"https:\/\/www.stepsecurity.io\/blog\/malicious-polymarket-bot-hides-in-hijacked-dev-protocol-github-org-and-steals-wallet-keys\">protocolo de desarrollo<\/a>,\u00bb una organizaci\u00f3n verificada de GitHub, para distribuir robots comerciales maliciosos de Polymarket con dependencias npm con errores tipogr\u00e1ficos (\u00abts-bign\u00bb y \u00ablevex-refa\u00bb o \u00abbig-nunber\u00bb y \u00ablint-builder\u00bb) que roban claves privadas de billetera, filtran archivos confidenciales y abren una puerta trasera SSH en la m\u00e1quina de la v\u00edctima. Mientras que \u00ablevex-refa\u00bb funciona como un ladr\u00f3n de credenciales, \u00ablint-builder\u00bb instala el SSH backdoor. Tanto \u00abts-bign\u00bb como \u00abbig-nunber\u00bb est\u00e1n dise\u00f1ados para entregar \u00ablevex-refa\u00bb y \u00ablint-builder\u00bb, respectivamente, como una dependencia transitiva.<\/li>\n<li>Un compromiso del popular paquete Emacs \u00ab.<a href=\"https:\/\/www.stepsecurity.io\/blog\/kubernetes-el-compromised-how-a-pwn-request-exploited-a-popular-emacs-package\">kubernetes-el\/kubernetes-el<\/a>,\u00bb que explot\u00f3 la vulnerabilidad Pwn Request en su flujo de trabajo de GitHub Actions usando el disparador pull_request_target para robar el GITHUB_TOKEN del repositorio, filtrar secretos de CI\/CD, desfigurar el repositorio e inyectar c\u00f3digo destructivo para eliminar casi todos los archivos del repositorio.<\/li>\n<li>Un compromiso de lo leg\u00edtimo \u00ab<a href=\"https:\/\/www.stepsecurity.io\/blog\/xygeni-action-compromised-c2-reverse-shell-backdoor-injected-via-tag-poisoning\">xygeni\/xygeni-acci\u00f3n<\/a>\u00bb Flujo de trabajo de GitHub Actions que utiliza credenciales de mantenedor robadas para colocar una puerta trasera de shell inverso. Desde entonces, Xygeni ha <a href=\"https:\/\/xygeni.io\/blog\/security-incident-report-xygeni-action-github-action-compromise\/\">implementaron nuevos controles de seguridad<\/a> para abordar el incidente.<\/li>\n<li>Un compromiso del paquete npm leg\u00edtimo \u00ab.<a href=\"https:\/\/safedep.io\/malicious-npm-mgc-compromised-rat\/\">mgc<\/a>,\u00bb mediante una apropiaci\u00f3n de cuenta para impulsar cuatro versiones maliciosas (1.2.1 a 1.2.4) que contienen un script dropper que detecta el sistema operativo y recupera una carga \u00fatil espec\u00edfica de la plataforma (un troyano Python para Linux y una variante de PowerShell para Windows llamada WAVESHAPER.V2) de un Gist de GitHub. El ataque se superpone directamente con el reciente ataque a la cadena de suministro dirigido a Axios, que se ha atribuido a un grupo de amenazas de Corea del Norte rastreado como UNC1069.<\/li>\n<li>Un paquete npm malicioso llamado \u00ab<a href=\"https:\/\/safedep.io\/malicious-npm-package-express-session-js\/\">sesi\u00f3n-expr\u00e9s-js<\/a>\u00bb que escribe \u00abexpress-session\u00bb y contiene un cuentagotas que recupera un troyano de acceso remoto (RAT) de siguiente etapa de JSON Keeper para realizar el robo de datos y el acceso persistente conect\u00e1ndose a \u00ab216.126.237[.]71\u00bb usando la biblioteca Socket.IO.<\/li>\n<li>Un compromiso del paquete PyPI leg\u00edtimo \u00ab.<a href=\"https:\/\/www.stepsecurity.io\/blog\/bittensor-wallet-4-0-2-compromised-on-pypi---backdoor-exfiltrates-private-keys\">billetera-bittensor<\/a>\u00bb (versi\u00f3n 4.0.2), para implementar una puerta trasera que se activa durante una operaci\u00f3n de descifrado de billetera para exfiltrar claves de billetera usando HTTPS, t\u00fanel DNS y TLS sin formato como canales de exfiltraci\u00f3n a un dominio codificado o uno creado usando un algoritmo de generaci\u00f3n de dominio (DGA) que se rota diariamente.<\/li>\n<li>Un paquete PyPI malicioso llamado \u00ab<a href=\"https:\/\/www.endorlabs.com\/learn\/malicious-pyronut-package-backdoors-telegram-bots-with-remote-code-execution\">pironut<\/a>\u00bb que escribe \u00abpyrogram\u00bb, un popular marco API de Python Telegram, para incorporar una puerta trasera sigilosa que se activa cada vez que un cliente de Telegram inicia y toma el control de la sesi\u00f3n de Telegram y el sistema host subyacente. \u00abLa puerta trasera registra controladores de mensajes ocultos de Telegram que permiten que dos cuentas controladas por atacantes codificadas ejecuten c\u00f3digo Python arbitrario (a trav\u00e9s del comando \/e y la biblioteca meval) y comandos de shell arbitrarios (a trav\u00e9s del comando y subproceso \/shell) en el servidor de la v\u00edctima. m\u00e1quina\u00bb, afirm\u00f3 Endor Labs.<\/li>\n<li>Un conjunto de tres extensiones maliciosas de Microsoft Visual Studio Code (VS Code) publicadas por \u00ab<a href=\"https:\/\/www.stepsecurity.io\/blog\/malicious-iolitelabs-vscode-extensions-target-solidity-developers-on-windows-macos-and-linux-with-backdoor\">IolitaLabs<\/a>\u00bb \u2013 \u00absolidity-macos\u00bb, \u00absolidity-windows\u00bb y \u00absolidity-linux\u00bb \u2013 que originalmente estaban inactivos desde 2018, pero se actualizaron el 25 de marzo de 2026 para lanzar una puerta trasera de varias etapas dirigida a los sistemas Windows y macOS al iniciar la aplicaci\u00f3n para establecer la persistencia. En conjunto, las extensiones ten\u00edan 27,500 instalaciones antes de ser eliminadas.<\/li>\n<li>M\u00faltiples versiones del \u00ab<a href=\"https:\/\/www.aikido.dev\/blog\/fast-draft-open-vsx-bloktrooper\">KhangNghiem\/borrador r\u00e1pido<\/a>\u00bb Extensi\u00f3n VS Code en Open VSX (0.10.89, 0.10.105, 0.10.106 y 0.10.112) que ejecuta un descargador alojado en GitHub para implementar un Socket.IO RAT de segunda etapa, un ladr\u00f3n de informaci\u00f3n, un m\u00f3dulo de exfiltraci\u00f3n de archivos y un monitor de portapapeles desde un repositorio de GitHub. Curiosamente, las versiones 0.10.88, 0.10.111 y 0.10.129-135 se han encontrado limpios. \u00abEse no es el patr\u00f3n de lanzamiento que se espera de una sola compilaci\u00f3n comprometida o de un mantenedor que ha cambiado por completo a un comportamiento malicioso\u00bb, dijo Aikido. \u00abParece m\u00e1s bien dos flujos de lanzamiento competitivos que comparten la misma identidad de editor\u00bb.<\/li>\n<\/ul>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/fast-response-not-fast-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjgi9mu68zRUz1nCLLKmkAA2aBtNfP_JOTXulZoB6yImso1Onk7oM_LI0kdROu8fq5S5oDyMtd1j50W44Ye_8Sl3zQZiE8A9tmFr6kejGKjGh74uoxluF-RyBq_unDQlzjXZHCqQeuYXBoogda5zf0w-zXd6v0rIM7fEw6TcFf_QGWBu5Mop-djkEaOUa5A\/s728-e100\/tl-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>En un informe publicado en febrero de 2026, Group-IB revel\u00f3 que los ataques a la cadena de suministro de software se han convertido en \u00abla fuerza dominante que est\u00e1 remodelando el panorama global de amenazas cibern\u00e9ticas\u00bb, y agreg\u00f3 que los actores de amenazas persiguen a proveedores confiables, software de c\u00f3digo abierto, plataformas SaaS, extensiones de navegador y proveedores de servicios administrados para obtener acceso heredado a cientos de organizaciones posteriores.<\/p>\n<p>La amenaza a la cadena de suministro puede escalar r\u00e1pidamente de una sola intrusi\u00f3n localizada a algo que tiene un impacto transfronterizo a gran escala, con atacantes industrializando los compromisos de la cadena de suministro y convirti\u00e9ndola en un ecosistema \u00abauto-reforzado\u00bb, ya que ofrece alcance, velocidad y sigilo.<\/p>\n<p>\u00abLos repositorios de paquetes como npm y PyPI se han convertido en objetivos principales, credenciales de mantenimiento robadas y gusanos de malware automatizados para comprometer bibliotecas ampliamente utilizadas, convirtiendo los canales de desarrollo en canales de distribuci\u00f3n a gran escala de c\u00f3digo malicioso\u00bb, Group-IB <a href=\"https:\/\/www.group-ib.com\/media-center\/press-releases\/htct-2026-supply-chain\/\">dicho<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Los investigadores de ciberseguridad han descubierto 36 paquetes maliciosos en el registro npm que est\u00e1n disfrazados de complementos de Strapi CMS pero vienen con diferentes cargas \u00fatiles para facilitar la explotaci\u00f3n de Redis y PostgreSQL, implementar shells inversos, recopilar credenciales y colocar un implante persistente. \u00abCada paquete contiene tres archivos (paquete.json, index.js, postinstall.js), no tiene [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":422,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[24,1564,570,530,267,277,276,36,1567,1566,1565],"class_list":["post-457","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-cyberdefensa-mx","tag-explotaron","tag-implantes","tag-implementar","tag-maliciosos","tag-npm","tag-paquetes","tag-para","tag-persistentes","tag-postgresql","tag-redis"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/457","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=457"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/457\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/422"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}