首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CryptoLocker主密钥

问CryptoLocker主密钥
EN

Security用户
提问于 2016-07-29 10:35:34
回答 1查看 1.3K关注 0票数 6

我很难理解如何使用TeslaCrypt ransomware解密使用他们的创造者提供的万能钥匙加密的文件。

据我所知,ransomware使用对称密码系统加密文件,然后使用非对称加密方案加密密钥。如何通过拥有主密钥来解密受影响的文件?

EN

回答 1

Security用户

回答已采纳

发布于 2016-07-30 15:53:59

在一个非常抽象的层次上:在每个受害者的机器上,除了加密的AES密钥外,还存储了解密这些文件所需的私钥的加密副本。此副本本身是用攻击者的公钥加密的,可以用攻击者的私钥(本文中称为“主密钥”)解密。

我将尝试用更详细的方式重新表述卡巴斯基的文章TeslaCrypt 2.0伪装成密码。

为了简单起见,我将跳过这样一个事实,即每个文件都可以使用不同的AES密钥进行编码。另外,实际实现可能有所不同(特别是可以向攻击者发送更多的数据,并在攻击者的一侧执行一些步骤)。无论如何,答案旨在解释主密码方案是如何工作的:

起初,受害者只有attacker-public-key (嵌入恶意软件)。

攻击者拥有attacker-private-key。

  1. 恶意软件使用victim1-BTC-public-key (发送BTC)和BTC-private-key (撤回BTC)创建新的BTC地址。
  2. 恶意软件使用attacker-public-key和victim1-BTC-private-key作为ECDH的输入,ECDH生成encryption-key-1
  3. 恶意软件XOR victim1-BTC-private-key和encryption-key-1,将结果存储为encrypted-victim1-BTC-private-key,忘记encryption-key-1
  4. 恶意软件将victim1-BTC-private-key发送给攻击者并删除它。

受害者拥有:attacker-public-key,victim1-BTC-public-key,encrypted-victim1-BTC-private-key。

攻击者拥有:attacker-private-key,victim1-BTC-private-key。

接下来,恶意软件开始加密文件:

  1. 恶意软件生成密钥对并使用私钥作为AES加密密钥,因此该密钥对由victim1-AES-key (victim1-keypair-private-key)和victim1-keypair-public-key组成。
  2. 恶意软件使用victim1-BTC-public-key和victim1-AES-key作为ECDH的输入,ECDH生成encryption-key-2
  3. 恶意软件XORs AES-key与encryption-key-2,将结果存储为加密-AES-key,忘记加密-密钥-2。

受害者拥有:attacker-public-key,victim1-BTC-public-key,encrypted-victim1-BTC-private-key,victim1-keypair-public-key,encrypted-victim1-AES-key。

攻击者拥有:attacker-private-key,BTC-victim1-private-key。

现在受害者支付了赎金,攻击者释放了一个密钥来解密这些文件:

  1. 攻击者揭露BTC-victim1-private-key
  2. 恶意软件使用BTC-victim1-private-key和victim1-keypair-public-key作为ECDH的输入,ECDH计算encryption-key-2 (与上面相同)
  3. 恶意软件XOR encrypted-victim1-AES-key与提供victim1-AES-key的encryption-key-2
  4. 恶意软件用victim1-AES-key解密文件(S)

没有其他受害者可以使用BTC-victim1-private-key做任何事情。

攻击者决定释放主密钥:

  1. 攻击者泄露attacker-private-key
  2. 恶意软件使用attacker-private-key和victim1-BTC-public-key作为ECDH的输入,ECDH生成encryption-key-1 (与上面相同)
  3. 恶意软件XOR encrypted-victim1-BTC-private-key与encryption-key-1一起,将结果存储为victim1-BTC-private-key
  4. 恶意软件使用BTC-victim1-private-key和victim1-keypair-public-key作为计算encryption-key-2的ECDH的输入。
  5. 恶意软件XOR encrypted-victim1-AES-key与提供victim1-AES-key的encryption-key-2
  6. 恶意软件用victim1-AES-key解密文件(S)

在后一个场景中,任何受害者都可以首先使用attacker-private-key派生victim*-BTC-private-key,然后使用victim*-AES-key。

票数 6
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/131358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档