VoIP · Capítulo 14
La fábrica de llamadas
Viene del capítulo 9 · El que quería que yo pagara sus llamadas
En el capítulo 9 alguien intentó que mi centralita pagara sus llamadas. Lo conté y cerré el incidente, con una pregunta colgando: ¿quién estaba al otro lado? Esta vez no me quedé mirando por la ventanilla. Le puse memoria al cebo, seguí el rastro del número y descubrí por qué eligen justo esos números.
El capítulo 9 fue una foto: dos horas, un puñado de máquinas intentando que mi centralita trampa cursara llamadas a números de reparto de ingresos. Un fraude en directo, contado tal cual llegó. Pero una foto no te dice quién está detrás de la cámara.
Una semana después la foto se había convertido en una película: la misma campaña seguía golpeando, más fuerte, todos los días. Así que esta vez hice algo distinto. Dejé de mirar cada ataque por separado y me puse a cartografiar la operación — sus turnos, sus piezas, hacia dónde se mueve el dinero y, sobre todo, por qué hace las cosas como las hace.
01Primero, memoria
El cebo, tal como lo tengo montado, tiene un problema para una investigación larga: olvida. Mi VPS no va sobrada de disco, así que dejo que los eventos duren alrededor de una semana y luego se borren; si no, el espacio se llena. Una campaña que dura meses no cabe en siete días. Así que lo primero fue construirle una memoria aparte — una base de datos que se queda con cada intento, para siempre: quién llamó, a qué número, con qué herramienta y cuándo.
ingesta → dedup por event_uuid (idempotente)
eventos totales : 71.467
IPs distintas : 154
núcleos de nº : 904
ventana : 22 ago → 28 ago(Ese «núcleo» es mi forma normalizada del número de destino: le quito los prefijos de marcación —00, 011, 900…— que el atacante prueba por delante, para agrupar todas las variantes que acaban en el mismo teléfono. El mismo destino le aparece marcado de cien formas; el núcleo es el de verdad.) visto
Con esto, cada semana puedo añadir una foto nueva sin perder las anteriores. No es un incidente: es una vigilancia. Y con seis días de datos ya cargados, empecé a tirar del hilo.
02La cadena de montaje
Lo primero que enseña el grafo de quién marca a qué número es que esto no es un enjambre torpe dando palos. Es una fábrica, con puestos de trabajo.
172.110.223.207 → 14.265 REGISTER // enumerador: prueba extensiones
172.110.223.49 → 16.560 INVITE a 1 número // bombeador: una diana
149.50.107.48 → 1.752 INVITE a 1 número
149.50.107.53 → ~1.600 INVITE a 1 númeroUnas máquinas solo hacen REGISTER: prueban extensiones a ciegas —las líneas internas de una centralita, la 200, la 201…—, buscando una puerta abierta (una sin contraseña). Otras solo hacen INVITE: cuando hay puerta, bombean llamadas. Y el detalle que lo delata como industria: un número, un nodo. La bombeadora 172.110.223.49 marcó el mismo número más de dieciséis mil quinientas veces. Y no es una impresión: de las máquinas que bombean, y agrupando sus destinos por núcleo normalizado, el 64% ataca un solo destino, el 85% uno o dos. Eso no es azar — es una línea de producción, con cada obrero en su puesto. Incluso dentro del mismo proveedor (ReliableSite, con las IPs geolocalizadas en Hong Kong) conviven un enumerador y un bombeador: división del trabajo bajo el mismo techo. visto
Y hay una capa más, que no se ve mirando quién llama a qué, sino midiendo cuándo. Cronometré el pulso de cada máquina —el hueco entre una llamada y la siguiente— y aparece un patrón que no esperaba:
149.50.107.43 una llamada cada 133 s regularidad 0.98
149.50.107.47 una llamada cada 114 s regularidad 0.97
149.50.107.48 una llamada cada 106 s regularidad 0.99
149.50.107.49 una llamada cada 118 s regularidad 0.99
149.50.107.53 una llamada cada 111 s regularidad 0.99Son cinco máquinas de la misma subred —direcciones casi consecutivas de un mismo proveedor polaco— y cada una dispara una llamada alrededor de cada dos minutos, como un metrónomo: casi todos sus intervalos son idénticos (esa regularidad ~0.98, en una escala de 0 a 1 donde 1 sería una cadencia perfectamente periódica). visto No marcan cuando les apetece; siguen un reloj. Cinco relojes en la misma estantería, y todos en el mismo compás. Cuesta mucho explicar cinco patrones así como algo independiente: parecen responder a una misma automatización —una subred alquilada corriendo el mismo guion—.
Y el compás se repite en máquinas de otros proveedores. En PebbleHost, una late cada 53 segundos; en LeaseWeb —otra empresa, otra red— otra late cada 57, las dos igual de metronómicas (regularidad 0.98). El mismo tipo de reloj en casas alquiladas distintas. visto
No puedo demostrar que sea el mismo operador — no tengo su factura ni su nombre. Pero dímelo tú: ¿de qué otra forma se explica que máquinas en redes y proveedores que no se conocen de nada latan cada una con un reloj tan exacto y en compases tan parejos? No parece un enjambre de atacantes sueltos: se parece más a una sola mano dándole cuerda a relojes en casas distintas. La fábrica no solo reparte el trabajo: apunta a tener un capataz que marca el ritmo. deducido
03El número tiene dueño
Los números destino parecían salir de un sombrero: Londres, York, Ontario, Milán, Bratislava… Pero no son anónimos. La numeración se asigna en bloques a los operadores, y en muchos países —el Reino Unido, entre ellos— ese registro es público: lo publican los propios reguladores. Solo hay que ir a buscarlo.
Me bajé el listado oficial de numeración británica (el codelist de Ofcom) y busqué a quién pertenece cada bloque. El mismo nombre salió una y otra vez:
020 3769 → DIDWW Ireland Limited
01904 911 → DIDWW Ireland Limited
01668 509 → DIDWW Ireland Limited
028 4024 → DIDWW Ireland Limited
… → DIDWW (6 de 6 bloques UK)DIDWW en los seis bloques británicos. visto Y al otro lado del Atlántico, tres nombres más — Fibernetics, Onvoy/Inteliquent, Iristel. Todos son la misma clase de empresa: mayoristas de numeración, proveedores que revenden números de teléfono al por mayor.
Esto no significa que DIDWW esté detrás del fraude. Significa algo más concreto: que los números utilizados por la campaña proceden de bloques cuya asignación regulatoria conduce repetidamente al mismo mayorista. Entre el titular del recurso y quien lo utiliza hay una cadena de intermediarios que todavía no he reconstruido.
Ahí está la mecánica del fraude moderno, al descubierto: no necesita inventar números; trabaja con numeración real. El modelo conocido es una cadena de reventa —mayorista → intermediario → usuario final— y, en la última punta, el defraudador la usa para cobrar por cada llamada que consiga bombear. leído Y hay un detalle que salta: aparecen en grupo — 020 3996 ·70 ·74 ·96, tres números del mismo bloque. Utilizados dentro de la misma campaña, difícilmente parecen una selección completamente aleatoria. Es compatible con que procedan de un lote asignado o comercializado conjuntamente. No puedo ver el contrato que hay detrás, pero merecería la pena.
Y el registro dice algo más: estos bloques no son de ayer. DIDWW los tiene desde 2014, 2016, 2019 y 2022 — ninguno figura entre las altas del último año. visto No es numeración recién acuñada para la estafa: es inventario legítimo y con solera de un mayorista. Cuándo saltó de ahí a la campaña, y por cuántas manos pasó, no lo dice ningún registro público.
04¿Por qué justo estos números?
Aquí está la pregunta que me tuvo dándole vueltas. El IRSF de manual llama a destinos exóticos y caros — islas del Pacífico, satélite, líneas de altísima tarifa. Pero mis atacantes marcaban… York. Milán. Un fijo de Ontario. Numeración occidental, aburrida, barata. ¿Por qué renunciar al número que más paga?
La respuesta le da la vuelta a la intuición. Una mitad la documenta la propia industria antifraude —el fraude ya no necesita números caros—; la otra, el porqué, es mía: los eligen por sigilo. deducido
Y eso explica mi muestra entera. No eligieron York al azar ni por torpeza: lo eligieron porque parece legítimo. Un fijo de York cursando llamadas no dispara ninguna alarma de «destino de riesgo»; un número de Tuvalu, sí. La sofisticación no está en el ataque — está en el camuflaje. Escogen el número que menos llama la atención para que la caja registradora siga sonando cuando la del vecino ruidoso ya se ha apagado.
La GSMA confirma la primera mitad de la intuición: el IRSF de hoy ya no necesita números obviamente fraudulentos — en 2023, el 90,99% de los ataques de su muestra iban contra numeración válida (y no es una moda reciente: en 2020 ya rondaba lo mismo, el 91,13%). leído Lo que sugieren mis datos es el paso siguiente, y esto ya es hipótesis mía: que entre esos destinos válidos, el defraudador busca precisamente los que menos sospechas levantan.
Y el sigilo se ve hasta en el ritmo. Midiendo cuánto sobrevive cada número en mi cebo, aparecen dos tempos: los que aguantan días se bombean a fuego lento —unas 40 llamadas por hora—, y los que arden en cuestión de horas se ordeñan a lo bruto —hasta 170 por hora—, hasta que alguien los corta. La misma lógica, ahora en la propia cadencia de las llamadas: el que va despacio, dura. visto
05La fábrica corre con herramientas gratis
Con la memoria llena, pude contar con qué golpean. Y esperaba encontrar algún kit privado, algo hecho a medida. Lo que hay es lo contrario: utilidades públicas que cualquiera se descarga.
dialer genérico "VOIP" 31.717 // 44%
SIPPTS (pplsip, de Pepelux) 17.713 // 25% · auditoría SIP en Python
UAs de operador rotados 6.656 // 9% · Cisco/Avaya/AT&T… falsos
SIPVicious (friendly-scanner) 94 // el clásico de 2007Cerca del 80% del tráfico llega con una etiqueta no maliciosa —un dialer genérico, una herramienta de auditoría o el nombre de un operador—, no como malware a medida. visto Pero hay que hilar fino, porque esa etiqueta se falsea — de hecho, un 9% son User-Agents de operador falsos. Ahora bien: falsear el nombre de un escáner no le da nada a nadie —solo te delata y te bloquean—, así que cuando aparece pplsip o friendly-scanner, la lectura más razonable es que correspondan a lo que anuncian: SIPPTS (una suite de auditoría SIP, por cierto de un investigador español) y SIPVicious con su configuración por defecto. Con nombre y con cierta confianza, eso es lo que puedo señalar: SIPPTS, una cuarta parte de todo. El 44% que se anuncia como «VOIP» a secas y el 9% falseado no son herramientas que pueda señalar. Confirmar cuál se ejecuta de verdad exige mirar el comportamiento, no la etiqueta — otro hilo del que tirar. Pero la foto de conjunto no cambia: no hace falta malware para explicar esto. Nada que abrir con Ghidra; se monta la operación con lo que un estudiante de seguridad usa en clase.
Y ahí aparece el contraste que define esta historia: la parte del dinero es de una sofisticación notable —mayoristas de numeración, cadenas de reventa, la estrategia del sigilo—, y la parte del ataque es de saldo. Lo listo no es el hackeo; es la cañería. El que monta esto no es un genio del código: es un gestor que ha entendido la fontanería del sistema telefónico mundial y le abre el grifo con herramientas gratis.
06De quién son las máquinas
¿Y las máquinas que hacen el trabajo sucio? Para el sistema operativo no me fío de una sola pista. Uso el TTL inicial de los paquetes que me mandaron —el valor con el que salieron, descontando los saltos de red del camino—, más el escaneo de servicios y sus versiones. Con eso, la flota apunta a una mezcla: unas 24 Windows, unas 13 Linux. Ese tercio de Linux cuenta algo. visto
Son VPS viejas y desatendidas — un OpenSSH de hace años, sin actualizar, escuchando en el puerto de siempre. No hace falta un exploit exótico para explicarlas: la hipótesis más sencilla es un compromiso por credenciales SSH débiles o reutilizadas, pero no puedo descartar otras vías. Lo que tengo permite hablar de una máquina probablemente comprometida, pero no reconstruir todavía cómo entraron. Son víctimas: servidores de alguien que no tiene ni idea de que su máquina lleva días llamando a York de madrugada.
Y las dos que más bombean esconden un segundo oficio. Tienen miles de puertos abiertos — 2.606 en una de ReliableSite, 708 en una de OVH. visto Eso no es una centralita: encaja con un nodo de salida proxy —un servidor de datacenter que revendería su conexión para que el tráfico de otros salga por ahí—, aunque los puertos abiertos, por sí solos, no lo demuestran. (No lo llamo proxyjacking: ese término es para máquinas ajenas secuestradas, y éstas parecen corresponder a infraestructura alquilada o preparada a propósito para esa función.) La misma máquina que bombea llamadas fraudulentas parece desempeñar a la vez esa segunda función. Un mismo servidor, dos negocios sucios montados encima. Sigues un hilo y aparecen tres.
07Indicadores (IOCs)
Para quien quiera bajar al detalle, el dossier técnico de la campaña — lo que anotaría cualquiera que quisiera reconocerla o cortarla:
| Tipo | Valor |
|---|---|
| Familia | SIP toll fraud · traffic pumping (campaña) |
| Bombeador #1 + proxy | 172.110.223.49 · ReliableSite (salida HK) · SIPPTS · 2.606 puertos |
| Enumerador (REGISTER) | 172.110.223.207 · ReliableSite · Linux/nginx |
| Bombeador + proxy | 51.75.106.116 · OVH · 708 puertos · Scamalytics High Risk leído |
| Subred de bombeadores | 149.50.107.0/24 · MEVSPACE (Polonia) · 5 IPs metronómicas (.43 .47 .48 .49 .53) · cadencia ~106–133s · regularidad ~0.98 |
| Firma temporal (gemelos) | mismo tipo de reloj en proveedores distintos: PebbleHost 194.213.3.117 (~53s) ~ LeaseWeb 203.23.128.196 (~57s) · ambos regularidad 0.98 |
| Herramientas (públicas) | SIPPTS (UA pplsip, 25%) · dialer VOIP (44%) · UAs de operador suplantados (9%) · SIPVicious (friendly-scanner, 0,1%) |
| Firma del ataque | fuzzing de prefijos de marcación (00/011/+/810/900…) sobre un destino normalizado; un nodo por número |
| Reclutamiento víctimas | mezcla Windows/Linux · en las Linux viejas, probable compromiso por SSH |
| Mayoristas de los destinos | DIDWW Ireland (×6 UK) · Fibernetics · Onvoy/Inteliquent · Iristel |
| Destinos (NO LLAMAR) | numeración geográfica/móvil legítima de bajo riesgo · elegida por sigilo · varios números del mismo bloque = probable lote |
08Lo que esto revela
¿Quién estaba al otro lado? Todavía no tengo un nombre —ni lo quiero: ese objetivo no me pertenece a mí—, pero sí un retrato: no un genio del código encapuchado, sino alguien que gestiona una fábrica; «obreros» que en buena parte son máquinas de terceros comprometidas; y una caja registradora que, al final del todo, cuelga de un mayorista de numeración muy concreto. Eso es lo que enseñan seis días de memoria:
- Los números no son aleatorios: tienen dueño, y el dueño está en un registro público. Rastrear numeración es tan «OSINT» como rastrear una IP — solo que casi nadie mira ahí.
- Eligen el número que menos llama la atención, no el que más paga. La sofisticación del fraude no está en el golpe, está en el camuflaje: numeración occidental limpia que sobrevive semanas porque nadie la vigila.
- La fábrica corre con herramientas gratis. Casi el 80% del tráfico se presenta con etiquetas no maliciosas —dialer, auditoría, operador—, no con malware a medida; y solo el 25% (SIPPTS) es una utilidad de auditoría que pueda nombrar con confianza. Lo caro y lo listo es la fontanería del dinero, no el código.
- Una misma infraestructura alquilada parece servir para varios fraudes a la vez. Los nodos que bombean llamadas apuntan a usarse también como salidas proxy. Sigues un hilo y aparecen tres.
- No es un enjambre, es una orquesta. Una subred entera late al mismo compás, y el patrón se repite en otros proveedores. No puedo probar que sea una sola mano — pero el patrón hace pensar que detrás de esas 154 IPs hay, probablemente, muchas menos infraestructuras de las que parece.
- El punto de corte no es la máquina, es el número. Puedes tirar cien VPS y alquilan cien más. Pero el número cuelga de un mayorista concreto, y ese mayorista puede suspender al revendedor. Ahí es donde duele.
Continuará — la máquina de seguimiento sigue encendida. Esto es la foto 1 de N: dentro de unas semanas sabré quién persiste, qué números se han quemado y cuáles siguen cobrando. No era un incidente. Es una vigilancia. 🍯
Comentarios