Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo...

37
Give me Your Coins Quienes Somos? Albert Puigsech @apuigsech apuigsech Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. Creador de la publicación 7a69ezine. Albert Sellarès @whatsbcn whats Manager de sistemas corporativos y middlewares de SCM Spain. Miembro del grupo int3pids. Fundador de Catux. http://codelearn.cat

Transcript of Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo...

Page 1: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Give me Your Coins Quienes Somos?

Albert Puigsech

@apuigsech apuigsech

Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. Creador de la publicación 7a69ezine.

Albert Sellarès

@whatsbcn whats

Manager de sistemas corporat ivos y middlewares de SCM Spain. Miembro del grupo int3pids. Fundador de Catux.

http://codelearn.cat

Page 2: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Que es el Bitcoin?

•  Cryptomoneda digital basada en tecnología P2P.

•  Opensource.

•  Creada el 03/01/2009.

•  Precio actual de 1BTC = $ 341,19 (máximo de $ 1.124,76).

•  Capitalización de $ 4.587.813.644.

•  Uso cada vez más común…

Page 3: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Que es el Bitcoin?

Page 4: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Objetivos del protocolo

Dirección Cantidad 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY 12,5 132g9WnereWcX9WWERKN5EitbrQ882XhyF 324 1HVSj4rJeyDf7qPrdT1NUUMY2E7eAMqrU6 21 14VBbPB51ZoR1g4rr61HJqN96tGFPVasP5 93,2 1N4yHtPoEve5JDqRCwyTmYbRBhNB9RsrwM 1,34 1DBouUjWTmxCv7rR5ZSBGNHSyyyqw3kFJf 1.002,32 39k5aPEfL9bFxS5kH3ND9SeU6YwXx5LyVs 234,2 1K3gP1zoxkfBMu28sK71ik3nkqgSA9JAHY 31,3 1AiygjiYr2jnyDaE1hF4dYV21gavxa7HyY 23,01 1PqTsyCsLcb2Wf63bXNjVQaxrLuLZQvAbd 43,11 1GqkohjQZgSsyb3AxaPJWNLLGx7Vh8sXM2 11,221

... …

•  Mantener un estado de cuentas común para toda la red bitcoin. •  No depender de ninguna entidad central.

Page 5: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Problema complejo

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

Page 6: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

Problema complejo

Page 7: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

1KFHE7w8BhaEN 0

132g9WnereWcX9 100

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 0

132g9WnereWcX9 100

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

1KFHE7w8BhaEN 0

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 21

14VBbPB51ZoR1g 105,7

1KFHE7w8BhaEN 0

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 100

1KFHE7w8BhaEN 100

132g9WnereWcX9 0

1HVSj4rJeyDf7qPr 0

14VBbPB51ZoR1g 0

Tx

Tx

Problema complejo

Page 8: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

Block1

Block2

Block3

Block4

•  Lista ordenada de bloques

•  Contenido de los bloques

Magic no: 0xd9b4bef9 Blocksize: 731 kb Block header: {

Version: 2 hashPrevBlock: 00000000000000001980ab5a00a4f0dd39f5b42c0290c56fdbd979ae hashMerkleRoot: 1718dd4673a12e44755a28a7136a7f174d287d0e34aca5e0c402b1dc Time: 2014-10-30 20:32:36 Bits: 404655552 Nonce: 3565647076

} Transactions list: [ Coinbase TX, TX1, TX2, … ]

Page 9: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

Block1

Block2

Block3

Block4

•  Lista ordenada de bloques

•  Contenido de los bloques

Magic no: 0xd9b4bef9 Blocksize: 731 kb Block header: {

Version: 2 hashPrevBlock: 00000000000000001980ab5a00a4f0dd39f5b42c0290c56fdbd979ae hashMerkleRoot: 1718dd4673a12e44755a28a7136a7f174d287d0e34aca5e0c402b1dc Time: 2014-10-30 20:32:36 Bits: 404655552 Nonce: 3565647076

} Transactions list: [ Coinbase TX, TX1, TX2, … ]

Page 10: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

Block1

Block2

Block3

Block4

•  Lista ordenada de bloques

•  Contenido de los bloques

Magic no: 0xd9b4bef9 Blocksize: 731 kb Block header: {

Version: 2 hashPrevBlock: 00000000000000001980ab5a00a4f0dd39f5b42c0290c56fdbd979ae hashMerkleRoot: 1718dd4673a12e44755a28a7136a7f174d287d0e34aca5e0c402b1dc Time: 2014-10-30 20:32:36 Bits: 404655552 Nonce: 3565647076

} Transactions list: [ Coinbase TX, TX1, TX2, … ]

Page 11: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

Block1

Block2

Block3

Block4

•  Lista ordenada de bloques

•  Contenido de los bloques

Magic no: 0xd9b4bef9 Blocksize: 731 kb Block header: {

Version: 2 hashPrevBlock: 00000000000000001980ab5a00a4f0dd39f5b42c0290c56fdbd979ae hashMerkleRoot: 1718dd4673a12e44755a28a7136a7f174d287d0e34aca5e0c402b1dc Time: 2014-10-30 20:32:36 Bits: 404655552 Nonce: 3565647076

} Transactions list: [ Coinbase TX, TX1, TX2, … ]

Page 12: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

Block1

Block2

Block3

Block4

•  Lista ordenada de bloques

•  Contenido de los bloques

Magic no: 0xd9b4bef9 Blocksize: 731 kb Block header: {

Version: 2 hashPrevBlock: 00000000000000001980ab5a00a4f0dd39f5b42c0290c56fdbd979ae hashMerkleRoot: 1718dd4673a12e44755a28a7136a7f174d287d0e34aca5e0c402b1dc Time: 2014-10-30 20:32:36 Bits: 404655552 Nonce: 3565647076

} Transactions list: [ Coinbase TX, TX1, TX2, … ]

Page 13: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

Block1

Block2

Block3

Block4

•  Lista ordenada de bloques

•  Contenido de los bloques

Magic no: 0xd9b4bef9 Blocksize: 731 kb Block header: {

Version: 2 hashPrevBlock: 00000000000000001980ab5a00a4f0dd39f5b42c0290c56fdbd979ae hashMerkleRoot: 1718dd4673a12e44755a28a7136a7f174d287d0e34aca5e0c402b1dc Time: 2014-10-30 20:32:36 Bits: 404655552 Nonce: 3565647076

} Transactions list: [ Coinbase TX, TX1, TX2, … ]

Page 14: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

•  Recompensa y comisiones

•  Problema bifurcación del blockchain

•  Transacción valida a los 6 bloques

Block11 Block12

Page 15: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

•  Recompensa y comisiones

•  Problema bifurcación del blockchain

•  Transacción valida a los 6 bloques

Block11 Block12

Block13

Block13’

Page 16: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

•  Recompensa y comisiones

•  Problema bifurcación del blockchain

•  Transacción valida a los 6 bloques

Block11 Block12

Block13 Block14

Block13’

Page 17: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

•  Recompensa y comisiones

•  Problema bifurcación del blockchain

•  Transacción valida a los 6 bloques

Block11 Block12

Block13 Block15 Block14

Block13’ Block14’

Page 18: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Blockchain

•  Recompensa y comisiones

•  Problema bifurcación del blockchain

•  Transacción valida a los 6 bloques

Block11 Block12

Block13 Block15 Block14

Block13’ Block14’

Page 19: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Transacciones

Version: 1, Lock_time: 0, In: {

Prev_out { Hash: a522dc2d250547c7bc478ba52d9a0be77b13400e1f70281171d71e72d98, N:1 } ScriptSig: 3044022003e0a21281b57572ab2f86bf...35006e9ca0d35d91cc9da91bd32

} Out: { Value: "10.00000000", ScriptPubKey: "OP_DUP OP_HASH160 19c9778c665bf9aadd978c2f62dc70a0127aa096 OP_EQUALVERIFY OP_CHECKSIG“ }, { Value: "5.41630000", ScriptPubKey: "OP_DUP OP_HASH160 5ae860b1f8298c8aafcfa420b6326a2bd1d64bdb OP_EQUALVERIFY OP_CHECKSIG“ } },

Page 20: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Transacciones

Version: 1, Lock_time: 0, In: {

Prev_out { Hash: a522dc2d250547c7bc478ba52d9a0be77b13400e1f70281171d71e72d98, N:1 } ScriptSig: 3044022003e0a21281b57572ab2f86bf...35006e9ca0d35d91cc9da91bd32

} Out: { Value: "10.00000000", ScriptPubKey: "OP_DUP OP_HASH160 19c9778c665bf9aadd978c2f62dc70a0127aa096 OP_EQUALVERIFY OP_CHECKSIG“ }, { Value: "5.41630000", ScriptPubKey: "OP_DUP OP_HASH160 5ae860b1f8298c8aafcfa420b6326a2bd1d64bdb OP_EQUALVERIFY OP_CHECKSIG“ } },

Page 21: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Transacciones

Version: 1, Lock_time: 0, In: {

Prev_out { Hash: a522dc2d250547c7bc478ba52d9a0be77b13400e1f70281171d71e72d98, N:1 } ScriptSig: 3044022003e0a21281b57572ab2f86bf...35006e9ca0d35d91cc9da91bd32

} Out: { Value: "10.00000000", ScriptPubKey: "OP_DUP OP_HASH160 19c9778c665bf9aadd978c2f62dc70a0127aa096 OP_EQUALVERIFY OP_CHECKSIG“ }, { Value: "5.41630000", ScriptPubKey: "OP_DUP OP_HASH160 5ae860b1f8298c8aafcfa420b6326a2bd1d64bdb OP_EQUALVERIFY OP_CHECKSIG“ } },

Page 22: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Transacciones

Version: 1, Lock_time: 0, In: {

Prev_out { Hash: a522dc2d250547c7bc478ba52d9a0be77b13400e1f70281171d71e72d98, N:1 } ScriptSig: 3044022003e0a21281b57572ab2f86bf...35006e9ca0d35d91cc9da91bd32

} Out: { Value: "10.00000000", ScriptPubKey: "OP_DUP OP_HASH160 19c9778c665bf9aadd978c2f62dc70a0127aa096 OP_EQUALVERIFY OP_CHECKSIG“ }, { Value: "5.41630000", ScriptPubKey: "OP_DUP OP_HASH160 5ae860b1f8298c8aafcfa420b6326a2bd1d64bdb OP_EQUALVERIFY OP_CHECKSIG“ } },

Page 23: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Transacciones

Version: 1, Lock_time: 0, In: {

Prev_out { Hash: a522dc2d250547c7bc478ba52d9a0be77b13400e1f70281171d71e72d98, N:1 } ScriptSig: 3044022003e0a21281b57572ab2f86bf...35006e9ca0d35d91cc9da91bd32

} Out: { Value: "10.00000000", ScriptPubKey: "OP_DUP OP_HASH160 19c9778c665bf9aadd978c2f62dc70a0127aa096 OP_EQUALVERIFY OP_CHECKSIG“ }, { Value: "5.41630000", ScriptPubKey: "OP_DUP OP_HASH160 5ae860b1f8298c8aafcfa420b6326a2bd1d64bdb OP_EQUALVERIFY OP_CHECKSIG“ } },

Page 24: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

Transacciones

Version: 1, Lock_time: 0, In: {

Prev_out { Hash: a522dc2d250547c7bc478ba52d9a0be77b13400e1f70281171d71e72d98, N:1 } ScriptSig: 3044022003e0a21281b57572ab2f86bf...35006e9ca0d35d91cc9da91bd32

} Out: { Value: "10.00000000", ScriptPubKey: "OP_DUP OP_HASH160 19c9778c665bf9aadd978c2f62dc70a0127aa096 OP_EQUALVERIFY OP_CHECKSIG“ }, { Value: "5.41630000", ScriptPubKey: "OP_DUP OP_HASH160 5ae860b1f8298c8aafcfa420b6326a2bd1d64bdb OP_EQUALVERIFY OP_CHECKSIG“ } },

Page 25: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI

Vectores de Ataque: •  Monedero / Cliente

•  Procesos

•  Criptografía

•  Comunicaciones

•  Pools

•  Exchangers / Bancos

•  Auto-traders

•  Personas

Ataques

Page 26: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI

Ataques al Monedero / Cliente:

•  Robo de un monedero no cifrado El monedero contiene la clave privada necesaria para realizar las transacciones.

•  Fuerza bruta a la clave del monedero En caso de robo de un monedero cifrado, se puede realizar un ataque de fuerza bruta offline.

•  Generación débil de par de claves La generación de claves predecibles, permitiría a un atacante conocer la clave privada necesaria para realizar transacciones. Ejemplo: IV predecible.

Ataques

Page 27: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI

Ataques a los Procesos :

•  Validar un bloque con transacciones eliminadas El atacante omite algunas transacciones al validar un bloque. No es un problema real, ya que estas serán incluidas en bloques posteriores.

•  Doble gasto El atacante pretende hacer un doble uso de una cantidad de bitcoins. Este ataque no puede realizarse de forma autónoma, pero sí con otros factores:

•  Condición de carrera •  Finney Attack •  Ataques de >50% de calculo

Ataques

Page 28: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI

Ataques a las Comunicaciones:

•  Captura de tráfico Alguien con capacidad de capturar tráfico y saliente de un nodo puede ser capaz de ver que transacciones han sido generadas por ese mismo nodo y romper el anonimato.

Ataques

Page 29: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI

Ataques a la Criptografía:

•  Debilidades en SHA-256 o ECDSA Actualmente SHA-256 y ECDSA son considerados seguros, pero podrían aparecer debilidades en el futuro. Si esto sucediera bitcoin podría cambiar a algoritmos más seguros.

•  Generación de muchas direcciones

Las direcciones tienen actualmente 160bits, lo que supone la existencia de 2^160 direcciones distintas. Se trata de una cantidad enorme que debería impedir la existencia de colisiones.

Ataques

Page 30: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI

Ataques a los Pools:

•  Denegación de Servicio Los pools deben ir validando los bloques que envían sus colaboradores. Si alguien envía muchos bloques puede ocasionar problemas de denegación de servicio en el pool

•  Vulnerabilidades en Infraestructura, Servicios o Aplicaciones Una vulnerabilidad en alguno de los componentes del pool puede permitir diversos ataques (dependiendo de la vulnerabilidad):

•  Acceso al monedero del pool y realizar transacciones. •  Cambiar la cuenta de ‘reward’ de los usuarios. •  Secuestrar los bloques resueltos por el pool.

Ataques

Page 31: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI

Ataques a los Exchangers / Bancos:

•  Vulnerabilidades en Infraestructura, Servicios o Aplicaciones Una vulnerabilidad en un exchanger puede permitir diversos ataques (dependiendo de la vulnerabilidad):

•  Acceso al monedero del exchanger y real izar transacciones.

•  Cambiar la cuenta de wilthdrawal de los usuarios.

Ataques

Page 32: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI

Ataques a los Auto-traders:

•  Patrones predecibles y explotables Actualmente existen muchos sistemas que operan en mercados de bitcoins (y otras monedas) de forma autónoma usando algoritmos. Algunos de estos algoritmos pueden suponer patrones predecibles y explotables por otros traders.

Ataques

Page 33: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI

Ataques a las Personas

•  SCAM Internet esta plagado de estafadores que se escudan en el anonimato del bitcoin:

•  Cobro de servicios sin ofrecerlos •  Cobro de ventas sin enviar el producto •  Crowdfounding fraudulentos •  Malware con diversos fines

Ataques

Page 34: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

•  Actualmente el software más usado como front-end de pools. •  Open-source •  Vulnerabilidad no pública, pero ya parcheada L

•  Uso de templates Smarty editables per el administrador.

public function createToken($strType, $account_id=NULL) { $data = $account_id.$strType.microtime(); $strToken = hash('sha256', $data); if (!$iToken_id = $this->tokentype->getTypeId($strType)) { $this->setErrorMessage('Invalid token type: ' . $strType); return false; } $stmt = $this->mysqli->prepare(" INSERT INTO $this->table (token, type, account_id) VALUES (?, ?, ?) "); if ($stmt && $stmt->bind_param('sii', $strToken, $iToken_id, $account_id) && $stmt->execute()) return $strToken; return $this->sqlError(); }

Vulnerabilidad en MPOS

Page 35: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

•  Explotación: 1.  Hacer una petición HTTP con 3 solicitudes de cambio de

contraseña (para las que se genera el token). Usuario hacker Usuario admin Usuario hacker

2.  Obtener el tiempo (en segundos) de la respuesta HTTP. 3.  Obtener los dos tokens de reset para el usuario hacker. 4.  Hacer fuerza bruta off-line del microtime (basandose en

el time retornado por el servidor) 5.  Generar un diccionario de tokens. 6.  Resetear la cuenta de admin.

Vulnerabilidad en MPOS

Page 36: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

•  Explotacion: 7.  Creación de una plantilla smarty a través de la interfaz.

${system(‘…’)} 8.  Ejecutar el cliente y solicitar una transacción. 9.  Pegarse un bañito.

Vulnerabilidad en MPOS

Page 37: Give me Your Coins - noconname.org · Manager del Laboratorio de Seguridad de EY. Miembro del grupo int3pids. ... En caso de robo de un monedero cifrado, se puede realizar un ...

WhoamI Preguntas?