linso 发表于 2017-3-8 11:09

旁路保护(II):利用激活访问敏感数据

本帖最后由 linso 于 2017-3-8 11:12 编辑

文章授权地址 https://zhuanlan.zhihu.com/p/25631037

http://www.52pojie.cn/thread-585671-1-1.html

0x00 前言   

在本文中,我们将讨论使用在线激活来验证许可证密钥并激活软件的应用程序。激活后,服务器允许用户使用其注册信息作为身份验证将其敏感数据上传到服务器。我们将探讨创建一个激活程序,它允许我们绕过在线激活并访问其他用户已上传的敏感数据。

0x00 正文
https://pic1.zhimg.com/v2-6b170ca15b7c7b4c9e3599f0cb3b1324_b.png

在ollydbg中启动该目标,并尝试使用随机名称和序列注册它。
这里我用的用户名是Adam Curylo 序列号是12345

6https://pic2.zhimg.com/v2-0a1c6d1ba6551edeab5d09b0a62e4ef1_b.png

出现后单击okay和nag,暂停ollydbg并跟踪调用堆栈返回应用程序代码。经过几个步骤之后,我们到达了这里

https://pic4.zhimg.com/v2-c5a791da002d7ea06bc0926c1a43cd33_b.png

看来这是验证程序。让我们在标记为“GenerujKluczProdukti ...”的函数上设置断点,并尝试再次注册。在断点之后,我们可以进入内部并看看其他情况。
在这个例程中,我们注意到有一个循环似乎用我名字中的字符替换大于> = $ 80的字符,它们的numerical/ordinal在&#ordinal; 中
https://pic4.zhimg.com/v2-38f2b08b6fd00cdce38712743267ebe3_b.png

然后我们在dephi中重建这个函数

https://pic1.zhimg.com/v2-87c6b59bc77124863a393148a85ce8f0_b.png

现在我们可以生成一个有效的序列,我们可以看看在线激活。在跳过nag例程之后,再开始准备URL以验证我们与服务器的密钥。
在这一点上,我建议断开互联网或在防火墙中阻止应用程序联网。向下滚动后,我们可以看到一个字符串:。下面是JLE。如果我们通过设置EAX = 0来绕过这个跳转,我们的应用程序便会认为服务器验证的序列是合法的。
https://pic4.zhimg.com/v2-998e77c843461528815a49b71bccf18f_b.png
让我们切换CMP EAX上的断点,-1,并允许程序尝试激活。一旦我们断开这里,立即设置EAX为0.现在,我们将开始存储我们修改后的信息在注册表中。
激活数据存储在HKEY_CURRENT_USER\Software\Classes\.pkcdoc2在下列字符串值o1= encrypted namek1= encrypted serialv1= encrypted versionwk= server result (0)

除外的每个wk(sever结果)都是使用以下算法加密

https://pic3.zhimg.com/v2-dc64f1ed27650888e266f9e8bec627ca_b.png

此例程加密名称,密钥和版本号的每个单个字符。然后将加密字符(
即WORD(16位无符号))转换为数字字符串(inttostr),并将其添加到由空格分隔的数字字符串。我们可以以这种方式重新创建例程:
https://pic3.zhimg.com/v2-40e5b47fece9bfbb292eb231fd828f56_b.png

然后将此例程的结果添加到注册表中。我们可以使用TRegistry单元在delphi中做到这一点。

https://pic1.zhimg.com/v2-34733fd5a52edc29e0e1d0783c75efb8_b.pnghttps://pic1.zhimg.com/v2-34733fd5a52edc29e0e1d0783c75efb8_b.png

现在,我们可以使用此激活程序激活应用程序与任何名称(user),无需在线验证。现在应用程序已注册到软件,我们现在可以访问他已经存储在服务器上的任何数据。
这是因为服务器通过使用用户名和许可证密钥来授权对存储在服务器上的信息的访问。
https://pic3.zhimg.com/v2-a9087b221cebcf63a5a9ee58b703ac62_b.png
由于每个许可用户只有一个可以使用的许可证密钥,并且每个用户的名称都与其结果一起发布,因此我们可以简单地使用其名称激活软件以访问其数据。

Tomatoman 发表于 2017-3-8 23:04

本帖最后由 Tomatoman 于 2017-3-8 23:06 编辑

看不到图啊!!!能再来一发嘛?让后辈学习下

××××××××××××××××××××××××××××××
原来可以到知乎上看啊!{:1_926:}

spv999 发表于 2017-3-8 11:49

不错不错!!!!!!!!!!

www.52pojie.cn 发表于 2017-3-8 12:27

很高端的样子

Hmily 发表于 2017-3-8 14:51

@linso 图片无法访问,你这个是原创吗?这么感觉像很老的文章。

daocao 发表于 2017-3-8 14:57

感谢分享,支持

落幕工作室 发表于 2017-3-8 15:11

吾爱的大神 发表于 2017-3-8 16:41

谢谢楼主

温柔你的兔子哥 发表于 2017-3-9 08:00

感谢楼主分享

1025170214 发表于 2017-3-9 12:23

图片是外链的 无法查看
页: [1] 2
查看完整版本: 旁路保护(II):利用激活访问敏感数据