Tornar al Blog

El programari que només usa el teu sector és la porta que ningú audita

El programari que només usa el teu sector és la porta que ningú audita

L'abril del 2026 algú va entrar en un despatx d'advocats, i no ho va fer pel correu ni per la VPN. Va entrar pel programa amb què aquell despatx apunta les hores que factura. El motiu: la clau amb què aquell programa signa el que rep venia escrita al codi, igual per a totes les instal·lacions. Ho explica CrowdStrike en un informe publicat ahir, i el que ho fa nou no és la fallada: és que, segons l'informe, va ser «the first observed targeting of legal sector-specific software». La primera vegada que s'observa algú anant a buscar el programari propi d'un gremi. I no porta CVE: l'hem buscat i no hi ha fitxa pública.

Els advocats són l'anècdota. El que descriu l'informe és una categoria, i tu en tens una: el programari que només usa el teu sector. El programa de gestió de la clínica, el de l'assessoria, el que porta les rutes de la flota, el que controla el laboratori, el que emet els albarans de la cooperativa. Fa quinze anys que és en producció, el manté una empresa petita, ningú l'ha posat mai dins l'abast d'una auditoria i acostuma a córrer al servidor on hi ha tota la resta.

Què és una clau de màquina, en trenta segons

Les aplicacions web clàssiques de Windows guarden part del seu estat al navegador mateix de l'usuari i el reenvien al servidor a cada clic. Perquè ningú manipuli aquell paquet pel camí, el servidor el signa amb una clau —la machineKey— i comprova la signatura quan el rep. Microsoft ho explica sense embuts en un avís del febrer del 2025: amb la clau a la mà, un atacant pot «craft a malicious ViewState using the stolen keys and send it to the website via a POST request», i aleshores el servidor el desxifra, comprova la signatura, la dona per bona i «the malicious code is then loaded into the worker process memory and executed».

No és una contrasenya que et roben: és el segell amb què el teu servidor reconeix el que ve del seu propi costat. I en els quatre casos que vénen després aquella clau no estava amagada en cap binari, estava en text pla al web.config que instal·la el producte. El tenen tots els clients, i qualsevol que hagi enganxat el seu fitxer de configuració en un fòrum demanant ajuda. El mateix avís de Microsoft diu que van identificar més de 3.000 claus divulgades públicament utilitzables per a aquest tipus d'atac. No cal endevinar res: cal buscar.

El mateix error, quatre productes, sis anys

Aquesta taula l'hem feta buscant «hardcoded machineKey» a la base de vulnerabilitats del NIST. No són fallades semblants: és la mateixa, repetida. Els dos primers són del mateix fabricant, així que parlem de tres cases diferents i quatre productes.

Producte CVE Publicat Nota (qui la posa)
myLittleAdmin 3.8 (gestió d'SQL Server per web) CVE-2020-13166 19-05-2020 9,8 (NVD)
myLittleBackup fins a 1.7 (còpies d'SQL Server) CVE-2021-39392 15-09-2021 9,8 (NVD)
Gladinet CentreStack (compartició de fitxers) CVE-2025-30406 03-04-2025 9,8 (NVD) / 9,0 (fabricant) — i explotat
KnowledgeDeliver (formació corporativa), desplegaments anteriors al 24-02-2026 CVE-2026-5426 16-04-2026 9,1 (qui el va publicar; el NIST encara no l'ha analitzat)

Cap no és de Microsoft, d'Oracle ni de SAP. Són productes que resolen un problema concret per a un públic concret, que algú va triar bé en el seu moment i que ningú ha tornat a mirar. El de Gladinet va acabar al catàleg de vulnerabilitats explotades de CISA cinc dies després de publicar-se, amb termini federal el 29 d'abril del 2025; la fitxa del NIST diu «as exploited in the wild in March 2025», és a dir que es va fer servir abans que hi hagués avís. Els altres tres no són en aquell catàleg, cosa que no significa que ningú els hagi fet servir: significa que ningú ho ha observat i explicat.

Una acotació honesta, perquè la taula convida a una conclusió més còmoda de la que aguanten les dades: l'error no és exclusiu del programari de nínxol. La mateixa família —deserialització amb injecció de codi— va arribar el 2025 a Sitecore Experience Manager i Experience Platform fins a la 9.0, i això no és un producte de gremi: és CVE-2025-53690, al catàleg d'explotats el 4 de setembre del 2025 amb termini el 25. Així que la tesi no és «el programari petit està pitjor fet». És una altra, i va a la secció següent: el que canvia entre un producte i un altre no és l'error, és quanta gent hi ha mirant.

Ningú trobarà aquella fallada per tu

Del cas de l'abril, CrowdStrike diu que el grup «exploited a hardcoded IIS machine key vulnerability in Intapp Time Server», programari de registre d'hores que fan servir gairebé en exclusiva els despatxos. Vam buscar el seu CVE abans d'escriure això, al NIST i al catàleg de CISA, i no el vam trobar. Sobre el que passa en aquella finestra ja vam escriure fa sis dies, quan sis fallades del nucli de Linux van sortir a la llum sense CVE i sense pedaç: el buit en què no hi ha identificador deixa cega tota la cadena d'eines que compta CVE. No ho repetim aquí.

El que sí que és diferent en el programari del teu sector és la causa d'aquella finestra, i és incòmoda: no hi ha ningú buscant. El programari que usa tothom se'l miren investigadors, equips de bug bounty i competidors, perquè publicar-hi una fallada dona nom. En un programa que usen uns centenars d'empreses d'un sol gremi, aquell incentiu no existeix. No és que la fallada tardi a sortir: és que, si ningú t'ataca, no surt mai, i el dia que algú t'ataca el primer a assabentar-se'n és l'atacant. Això és exactament el que acaba de passar a l'abril, i per això l'informe en parla com de la primera vegada observada.

I mentrestant, el soroll de fons

Hi ha a l'informe un número que pots anar a mirar avui a la teva consola d'identitat. En un sol despatx van registrar «nearly 500 distinct failed login attempts to as many accounts from approximately 300 distinct IP addresses in a 30-day period». Gairebé cinc-cents intents fallits contra gairebé cinc-centes comptes diferents, des d'unes tres-centes adreces, en un mes. Un compte, un intent: és el patró dissenyat per no disparar cap bloqueig per intents repetits.

Formava part de la campanya de prova massiva de contrasenyes que l'informe anomena ORB28 i que va afectar «more than 340 primarily U.S.-based entities across numerous sectors». A la teva consola d'identitat això és una línia grisa amb el comptador d'inicis fallits a un. No passa el llindar de ningú, i no el passa per disseny. Només es veu agrupant per adreça d'origen en lloc de per compte, que és una consulta que ningú fa fins que té un motiu.

L'altra porta continua sent el telèfon

Ho apuntem perquè val la pena no sortir d'aquí pensant que això és només cosa de programari vell. El grup que l'informe assenyala com a amenaça dominant al sector treballa «impersonating IT staff to establish remote access sessions and exfiltrate sensitive data within minutes»: es fa passar pel departament d'IT, obre una sessió d'assistència remota i treu dades en minuts. I el novembre del 2025, segons el mateix document, va arribar a contractar una persona per entrar físicament en un despatx fent-se passar per empleat intern d'IT. Sobre això ja vam escriure: qui verifica que ets tu quan truques al servei de suport és la pregunta que gairebé ningú té contestada per procediment. I el mateix raonament val per a l'agent que el teu proveïdor d'IT instal·la a totes les teves màquines.

No auditaràs el codi del teu proveïdor

No et direm que auditis el codi del teu proveïdor, perquè no ho faràs i nosaltres tampoc podem: aquell programari és tancat i el contracte no et dona dret a mirar-lo. Tampoc et direm que el canviïs. El programa que fa vint anys que encaixa amb com treballa el teu gremi no se substitueix per una notícia, i qui et digui el contrari no n'ha migrat mai cap. I no, no és un problema que es resolgui comprant una altra eina d'escaneig: l'escàner que tens no veu això perquè no hi ha res a veure, no perquè sigui dolent.

El que sí que es pot fer és més avorrit i funciona: tractar aquell programari com el que és, un component de confiança alta i manteniment aliè, i envoltar-lo. Preguntar per escrit al proveïdor, perquè qui no contesta ja t'ha contestat. I vigilar el comportament del servidor on viu, que és l'única cosa que queda quan no hi ha signatura per buscar: un procés d'IIS que llança cmd.exe no necessita CVE per ser una mala notícia.

I hi ha una cosa que pots mirar tu, avui, sense esperar ningú. Al servidor on corre aquella aplicació, obre el seu web.config i busca si hi ha un bloc <machineKey> amb els valors escrits allà, en text pla. Si hi és, aquella és la clau de què parla tot aquest post. La fitxa del NIST del cas de Gladinet arriba a dir-ho com a remei —«a CentreStack admin can manually delete the machineKey defined in portal\web.config»—, però no ho facis a cegues en producció: tocar aquella clau invalida les sessions i les galetes d'autenticació en marxa, i en algunes aplicacions és el proveïdor mateix qui l'ha de regenerar. Mirar no trenca res; canviar-la, sí, i cal avisar abans.

El correu que enviaríem aquest matí

Quatre preguntes, al proveïdor, per escrit. Per escrit importa: el que es diu per telèfon no serveix de res al desembre, quan cal decidir si es renova el contracte.

  • 1. «La clau de signatura de l'aplicació es genera a la meva instal·lació o ve a l'instal·lador?» Si la resposta és «no sé a què et refereixes», apunta la data de la conversa. Si és «ve configurada», ja tens la troballa del mes i una conversa concreta per tenir amb ells.
  • 2. «On publiqueu els avisos de seguretat, i demaneu CVE?» Un proveïdor petit pot fer-ho molt bé sense tenir un portal: n'hi ha prou amb una llista de correu i el compromís d'avisar. El que no val és «ho posem a les notes de la versió», perquè ningú llegeix les notes d'una versió que instal·la el proveïdor mateix.
  • 3. «Què registra, i on?» Si els registres de l'aplicació moren al disc del servidor mateix, la resposta a «què va fer l'atacant?» serà un arronsament d'espatlles. Que surtin on van els altres; no és un projecte, és una línia de configuració.
  • 4. «Si demà apareix una fallada greu, en quant de temps tinc pedaç i qui em truca?» No busquis un número en un contracte: busca si existeix una persona. En programari de nínxol, el temps de pedaç real depèn que hi hagi algú amb nom a l'altre costat, i això se sap preguntant abans i no durant.

I dues que no cal preguntar perquè les contestes tu, mirant. La primera: amb quin compte corre aquell servei i quins permisos té al domini. És la que decideix si una fallada en aquell programa significa «un servidor» o «el domini sencer», i la resposta històrica acostuma a ser un compte d'administrador de domini que algú va posar el 2014 perquè així funcionava a la primera. La segona: si de debò cal que estigui publicat a internet. Molts d'aquests programes es van publicar el 2020 perquè algú treballés des de casa i ningú ho va revisar després; si avui s'hi arriba per VPN, el formulari que accepta el paquet signat deixa d'estar a l'abast de qualsevol.

On encaixa això en el que fem

Una fallada sense CVE no es detecta per signatura: es detecta per conducta. Aquí és on serveix un EDR i MDR gestionat, i no pel fullet: al servidor on viu la teva aplicació sectorial no hi ha una llista de versions dolentes per comparar, hi ha un procés que de sobte fa una cosa que mai feia i algú de guàrdia que ho mira a les tres de la matinada. L'altra meitat és revisió de la postura, i és gairebé tot preguntes avorrides: amb quin compte corre cada cosa, què està publicat sense que calgui, què registra i on va. No ho resolem amb un qüestionari; ho resolem entrant a mirar la màquina. Si et serveix, en parlem: el que surt és una llista d'aplicacions que corren amb més permisos dels que necessiten i una altra de proveïdors que no tenen a qui trucar.

En curt

El mateix error —una clau de signatura igual per a tots els clients— ha sortit quatre vegades en sis anys, amb notes de 9,1 a 9,8, i el cas de l'abril ni tan sols té fitxa. La diferència entre el programari que usa tothom i el que usa només el teu gremi no és la qualitat del codi: és que en el primer hi ha gent buscant. En el segon, qui busca és qui entra. Obrir el web.config costa cinc minuts i enviar el correu, deu.

Fonts (verificades el 29 d'octubre del 2026): CrowdStrike, «Inside the CrowdStrike 2026 Legal Threat Landscape Report», 28-10-2026 — d'allà surten, citades literalment, el cas de l'abril del 2026 («exploited a hardcoded IIS machine key vulnerability in Intapp Time Server»), els gairebé 500 intents fallits contra tants altres comptes des d'unes 300 adreces en 30 dies, les «more than 340 primarily U.S.-based entities» de la campanya de prova massiva de contrasenyes ORB28, l'«impersonating IT staff… within minutes» i l'episodi del novembre del 2025 en què es va contractar una persona per accedir físicament a un despatx fent-se passar per empleat d'IT; l'informe també xifra en el 82 % l'activitat de motivació econòmica sobre el sector i en 455 les entitats legals anomenades en llocs de filtració, un 39 % més que l'any anterior. Mecànica de la clau de màquina: Microsoft Security Blog, «Code injection attacks using publicly disclosed ASP.NET machine keys», 06-02-2025, amb les dues cites sobre el ViewState fabricat i les «over 3,000 publicly disclosed keys». La taula dels quatre productes surt de consultes a la base de vulnerabilitats del NIST (CVE-2020-13166, 9,8, 19-05-2020, myLittleAdmin 3.8; CVE-2021-39392, 9,8, 15-09-2021, myLittleBackup ≤1.7; CVE-2025-30406, 9,8 a la fitxa primària del NIST i 9,0 a la del fabricant, 03-04-2025, amb la nota «as exploited in the wild in March 2025» i el remei manual «a CentreStack admin can manually delete the machineKey defined in portal\web.config», Gladinet CentreStack ≤16.1.10296.56315; CVE-2026-5426, 9,1 de qui el va publicar i pendent d'anàlisi al NIST, 16-04-2026, KnowledgeDeliver anterior al 24-02-2026; i, per a l'acotació que l'error no és exclusiu del nínxol, CVE-2025-53690 a Sitecore Experience Manager y Experience Platform hasta 9.0, al catàleg d'explotats el 04-09-2025 amb termini 25-09-2025) i del catàleg de vulnerabilitats explotades de CISA (versió 2026.10.28, 1.762 entrades, descarregada i llegida per nosaltres: CVE-2025-30406 hi figura amb alta el 08-04-2025 i termini 29-04-2025; els altres tres no hi figuren). L'absència de CVE públic per al cas d'Intapp Time Server és resultat de la nostra pròpia cerca en aquestes dues fonts el 29-10-2026 i pot canviar. La lectura sobre el programari sectorial, el procés basat en CVE i les sis preguntes és nostra.

Amb quin compte corre el programa del teu sector?

Si la resposta tarda més d'un minut, aquella és la tasca. Fem l'inventari de les teves aplicacions de nínxol: en quin servidor viuen, amb quins permisos, publicades o no, i què registren. En surt una llista curta de coses per arreglar, i et diem quines no mereixen que les toquis.

Parlar amb everyWAN

Etiquetes:

Compartir:

Subscriu-te al nostre butlletí

Per rebre històries del món IT, novetats d'everyWAN i ofertes exclusives per a subscriptors, dona't d'alta a la nostra llista de correu

everyWAN
everyWAN