AMLConsensus · curso
Programa · Lección 11.9
Sección 11 · Lección 11.9 · caso real

Un ataque de envenenamiento de direcciones de $68M: anatomía de una sola transacción

A veces robar fondos no requiere ninguna brecha en un exchange ni ningún front end falsificado. Basta con la costumbre humana de copiar una dirección sin mirarla. En mayo de 2024 una sola transacción se llevó alrededor de $68 millones — y todo lo que hizo falta fue una dirección parecida que coincidía con la real al principio y al final. Desmontemos este ataque carácter a carácter.

Qué es el «envenenamiento de direcciones»

Una dirección cripto es una larga cadena de decenas de caracteres. Nadie la memoriza, y casi nadie la comprueba entera. En la práctica la gente hace una de dos cosas: o copia la dirección de su propio historial de transacciones, o echa un vistazo rápido al «principio y el final» y se salta el medio. El ataque de envenenamiento de direcciones se construye precisamente sobre esta costumbre.

La idea es simple e insidiosa. El atacante genera de antemano una dirección parecida, una cuyos primeros y últimos caracteres coincidan con la dirección que la víctima usa realmente. Después el atacante «planta» este gemelo en el historial de transacciones de la víctima — por ejemplo, mediante una transferencia diminuta o de valor cero, de modo que la dirección señuelo aparezca en la lista de operaciones. La apuesta es que la próxima vez la víctima copie la dirección del destinatario no de una fuente fiable, sino de su propio historial «envenenado» — y envíe el dinero al gemelo.

Cómo funciona el envenenamiento de direcciones

Anatomía del golpe: una transacción, $68M

En mayo de 2024 este esquema dio sus frutos a una escala especialmente grande. En la transacción 0x87c6e5…bf73 la víctima envió alrededor de $68 millones — pero no a la dirección prevista, sino a una parecida preparada por el atacante. El gemelo se eligió de modo que empezara por 0xd9A1 y terminara en 853a91: una comprobación rápida de «primeros caracteres bien, últimos caracteres bien» creó la falsa impresión de que todo estaba en orden.

Todo el medio de la dirección, mientras tanto, pertenecía a otra persona. Pero el medio es justo lo que la gente no comprueba. Un solo movimiento — copiar la dirección «conocida» del historial, pegar, confirmar — y decenas de millones fueron a parar al delincuente. Ninguna cartera hackeada, ninguna clave robada, ningún código malicioso: pura psicología y falta de atención hicieron el trabajo.

Por qué funcionó: desglose paso a paso

Descompongamos el ataque en sus partes para ver exactamente dónde ceden las defensas de un usuario corriente.

  1. Generar el gemelo. Por fuerza bruta, el atacante encuentra una dirección cuyos caracteres iniciales y finales coincidan con los de la dirección de la víctima. Es costoso en términos de cómputo, pero con decenas de millones en juego compensa.
  2. Envenenar el historial. Se hace que el gemelo aparezca en las transacciones de la víctima mediante una micro-transferencia o una transferencia técnica, para que caiga en su lista de operaciones y parezca «conocido».
  3. Esperar. El atacante espera a que la víctima quiera enviar de nuevo fondos «al mismo sitio».
  4. El error de copiar y pegar. La víctima toma la dirección no de una fuente fiable, sino del historial envenenado — y, guiándose por los extremos coincidentes, confunde el gemelo con la dirección real.
  5. Irreversibilidad. La transacción se confirma en la blockchain. No se puede deshacer: la transferencia salió firmada legítimamente, solo que al lugar equivocado.

El truco psicológico clave es explotar la heurística del «principio y el final». Nuestro cerebro busca atajos: si los primeros cuatro caracteres coinciden y los últimos seis coinciden, completa la conclusión «esta es la dirección correcta». Un ataque de envenenamiento es, en esencia, un ataque no al código, sino a este atajo cognitivo.

"Not your keys, not your coins."

— Andreas Antonopoulos; en el contexto del envenenamiento: incluso con pleno control de tus claves, pierdes tus monedas si tú mismo firmas una transferencia a la dirección equivocada

Aquí esa máxima suena especialmente amarga. La víctima tenía la plena propiedad de sus claves y firmó la transacción voluntariamente. El robo no ocurrió porque alguien accediera a la cartera, sino porque el propio dueño dirigió personalmente los fondos al gemelo. Ninguna cartera de hardware ni ninguna contraseña fuerte protege contra esa clase de error — solo verificar la dirección lo hace.

Cómo protegerse: reglas prácticas

Qué significa esto para las verificaciones AML

El envenenamiento de direcciones importa también al revisor, no solo al dueño de los fondos. En primer lugar, las micro-transferencias de «dusting» desde direcciones parecidas son un patrón reconocible que conviene notar al revisar el historial de una cartera: su presencia te indica que la dirección ha sido objeto de un ataque (y, por tanto, puede tener también transferencias salientes erróneas). En segundo lugar, la dirección parecida que recibió los $68 millones robados se convierte ella misma en un nodo «sucio»: los fondos que hay en ella son producto de un robo, y cualquier exposición a una dirección así conlleva un riesgo máximo.

Por último, este caso es un recordatorio de que no toda gran pérdida de fondos está ligada a una brecha de infraestructura. A veces la «fuente» del dinero sucio resulta ser una dirección señuelo, y la víctima es un usuario perfectamente honesto que cometió un fatal error de copiar y pegar. Al revisar una transacción en disputa, es útil tener también presente este escenario.

Por qué el envenenamiento es más peligroso que un hackeo «normal»

Es tentador clasificar el envenenamiento de direcciones como un truco «menor» frente al telón de fondo de los hackeos multimillonarios de exchanges y puentes. Es un error. El envenenamiento tiene tres propiedades que lo hacen insidioso a su manera. En primer lugar, no requiere ninguna vulnerabilidad de código — lo que significa que las auditorías de smart contracts, las actualizaciones de las carteras y los dispositivos de hardware no ofrecen ninguna protección contra él. La vulnerabilidad está en la cabeza del usuario, y no se puede «parchear» con una nueva versión.

En segundo lugar, el ataque escala barato. Generar un gemelo y soltar «polvo» cuesta prácticamente nada, y puede hacerse para miles de víctimas potenciales a la vez, esperando pacientemente a ver cuál de ellas resbala. Un único golpe exitoso de decenas de millones paga millones de intentos fallidos. En tercer lugar, el ataque se disfraza de normalidad: en el historial envenenado el gemelo parece una operación pasada corriente, no algo sospechoso. La víctima no se siente bajo ataque — está convencida de que actúa como siempre y de forma segura.

Precisamente por eso la disciplina de verificar la dirección no es paranoia, sino higiene básica, comparable en importancia al almacenamiento de las claves. Las salvaguardas técnicas han desplazado el punto de ataque: como irrumpir directamente en una cartera es difícil, el atacante va en cambio a por el ritual de la transferencia. Y la única barrera en este camino es la costumbre humana de comprobar la dirección entera y tomarla solo de una fuente fiable.

Importante. Una transacción en la blockchain es irreversible. Si los fondos han ido a parar a una dirección parecida, no hay forma de «cancelar» la transferencia — lo único que queda es rastrear el movimiento de los fondos robados e intentar congelarlos en los puntos de retirada. Por eso la única protección real es no cometer el error antes de la confirmación.
Qué enseña este caso. La vulnerabilidad más cara no está en el código, sino en la costumbre. El envenenamiento de direcciones explota la heurística de «comprobé el principio y el final» y convierte una copia descuidada en la pérdida de decenas de millones, como en la transacción 0x87c6e5…bf73 por valor de ~$68M. La defensa es simple y disciplinaria: verifica la dirección entera, tómala solo de una fuente fiable, mantén una libreta de direcciones y haz una transferencia de prueba. Y para el especialista AML, el «polvo» de direcciones parecidas es una señal, mientras que la propia dirección señuelo, que contiene fondos robados, es un nodo sucio con riesgo máximo.

Los hechos se presentan a partir de fuentes abiertas. Este material tiene fines educativos.