El proveedor de billeteras de computación multipartita (MPC) Liminal publicó un informe post-mortem el 19 de julio sobre el hackeo de WazirX del 18 de julio, afirmando que su interfaz de usuario no fue responsable del ataque. Según el informe, el hackeo ocurrió porque tres dispositivos de WazirX fueron comprometidos.
Liminal también afirmó que su billetera multisignature estaba configurada para proporcionar una cuarta firma si WazirX proporcionaba las otras tres. Esto significaba que el atacante solo necesitaba comprometer tres dispositivos para llevar a cabo el ataque. La billetera se configuró de esta manera a petición de WazirX, según afirmó el proveedor de la billetera.
En una publicación en redes sociales del 18 de julio, WazirX afirmó que sus claves privadas estaban aseguradas con billeteras hardware. WazirX dijo que el ataque “se originó a partir de una discrepancia entre los datos mostrados en la interfaz de Liminal y el contenido real de la transacción.”
Según el informe de Liminal, uno de los dispositivos de WazirX inició una transacción válida que involucraba el token Gala Games (GALA). En respuesta, el servidor de Liminal proporcionó un “safeTxHash,” verificando la validez de la transacción. Sin embargo, el atacante luego reemplazó este hash de transacción con uno inválido, causando que la transacción fallara.
Desde el punto de vista de Liminal, el hecho de que el atacante pudiera cambiar este hash implica que el dispositivo de WazirX ya había sido comprometido antes de que se intentara la transacción.
El atacante luego inició dos transacciones adicionales: una transferencia de GALA y una de USDT (USDT). En cada una de estas tres transacciones, el atacante utilizó una cuenta administrativa diferente de WazirX, para un total de tres cuentas utilizadas. Las tres transacciones fallaron.

Después de iniciar estas tres transacciones fallidas, el atacante extrajo firmas de las transacciones y las utilizó para iniciar una nueva, cuarta transacción. La cuarta transacción “fue elaborada de tal manera que los campos utilizados para verificar las políticas estaban usando detalles de transacción legítimos” y “utilizó el Nonce de la transacción fallida de USDT porque esa era la transacción más reciente.”
Debido a que usó estos “detalles de transacción legítimos,” el servidor de Liminal aprobó la transacción y proporcionó una cuarta firma. Como resultado, la transacción fue confirmada en la red Ethereum, resultando en una transferencia de fondos desde la billetera multisig conjunta hacia la cuenta de Ethereum del atacante.
Liminal negó que sus servidores causaran la visualización incorrecta de la información a través de la interfaz de Liminal. En cambio, afirmó que la información incorrecta fue proporcionada por el atacante, quien había comprometido las computadoras de WazirX. En respuesta a la pregunta planteada “¿Cómo mostró la interfaz un valor diferente al contenido real dentro de la transacción?” Liminal dijo:
“Según nuestros registros, dado que tres dispositivos de las transacciones compartidas de la víctima enviaron cargas maliciosas al servidor de Liminal, tenemos razones para creer que las máquinas locales estaban comprometidas, lo que dio al atacante acceso completo para modificar las cargas y mostrar detalles engañosos de las transacciones en la interfaz.”
Liminal también afirmó que sus servidores estaban programados para proporcionar automáticamente una cuarta firma si los administradores de WazirX proporcionaban las otras tres. “Liminal solo proporciona la firma final una vez que se recibe el número requerido de firmas válidas del lado del cliente,” declaró, agregando que en este caso, “la transacción fue autorizada y firmada por tres de los empleados de nuestro cliente.”
La billetera multisig “fue implementada por WazirX según su configuración mucho antes de integrarse con Liminal,” y fue “importada” a Liminal “a petición de WazirX.”
La publicación de WazirX afirmó que había implementado “características de seguridad robustas.” Por ejemplo, había requerido que todas las transacciones fueran confirmadas por cuatro de cinco tenedores de claves. Cuatro de estas claves pertenecían a empleados de WazirX y una al equipo de Liminal. Además, requería que tres de los tenedores de claves de WazirX usaran billeteras hardware. Todas las direcciones de destino debían ser añadidas a una lista blanca con antelación, declaró WazirX, que fue “designada y facilitada en la interfaz por Liminal.”
A pesar de tomar todas estas precauciones, el atacante “parece haber posiblemente violado tales características de seguridad, y el robo ocurrió.” WazirX calificó el ataque como un “evento de fuerza mayor fuera de [su] control.” Aun así, prometió que estaba “dejando ninguna piedra sin mover para localizar y recuperar los fondos.”
Se estiman USD 235 millones perdidos en el ataque a WazirX. Fue el hackeo de exchange centralizado más grande desde el exploit de DMM del 31 de mayo, que resultó en pérdidas aún mayores de USD 305 millones.
Aclaración: La información y/u opiniones emitidas en este artículo no representan necesariamente los puntos de vista o la línea editorial de Cointelegraph. La información aquí expuesta no debe ser tomada como consejo financiero o recomendación de inversión. Toda inversión y movimiento comercial implican riesgos y es responsabilidad de cada persona hacer su debida investigación antes de tomar una decisión de inversión.