宽带连接用户名称和密码恢复原理.doc


文档分类:通信/电子 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10
文档列表 文档介绍
宽带连接用户名称和密码恢复原理 ADSL 密码忘记了,但幸好还保存在拨号连接里面,到网上找了些星号密码显示工具,可惜不起作用。后来找到一"获得宽带用户名称和密码"( http://download./detail/lzwbadboy/8182669 )的工具,不负重望把密码还原出来了。(获得宽带用户名称和密码工具界面如下,我的系统是 windows xp) 。该工具并非非普通的星号密码显示工具,那它的原理是什么呢?其实原理很简单,就是用 里面的一些函数来获取拨号连接的一些信息( ), 再用 ADVAPI32!LsaRetrievePrivateData 函数来获取密码,后来研究"LsaRetrievePrivateData" 返回的数据。其原理大致如下: 1)插入一线程到 进程 2)打开 LSA Policy database 3)从注册表"HKLM\SECURITY\Policy\Secrets" 中枚举子键 4)LsarOpenSecret 5)LsarQuerySecret 进一步研究后发现,其实 ADVAPI32!LsaRetrievePrivateDat a是通过 NdrClientCall 2发送 RPC调用到 e进程, 里面再调用 LsarOpenSecret 、 LsarQuerySecret 来完成获取拨号连接信息过程的。(注: LsarOpenSecret 里面有权限判断,非 ADMIN 组用户是没有权限来调用 ADVAPI32!LsaRetrievePrivateData 的)跟踪了一下 LsarQuerySecret ,发现它返回的数据其实是从注册表中读取。保存拨号连接信息的注册表键值为: HKLM\SECURITY\Policy\Secrets\RasDialParams!SID#0\CurrVal 。 SID 对应的是用户的 string SID 。(“ HKLM\SECURITY ”这个键只有 SYSTEM 有权限读写,连 admin 都没有权限) LsarQuerySecret 从注册表中读取出来数据后,接着调用 LsapCrDecryptValue 函数来解密,对于同一台机器来说,解密时用的 KEY 始终都是固定的,这个 KEY 在 里面变量名为"_LsapDbSecretCipherKey" 。在 windows 2003 里面,变量名不一样,对应的有两个,分别为"LsapDbSecretCipherKeyWrite" 和"LsapDbSecretCipherKeyRead" ,但这两个变量里面的数据是一样的。 LsapCrDecryptValue 用的似乎是标准 DES 算法,解密时主要流程如下: lsasrv!LsapCrDecryptValue |_ advapi32!SystemFunction005 |_ advapi32!DecryptDataLength |_ advapi32!SystemFunction002 |_ advapi32!DES_ECB_LM |_ advapi32!des 解密后,在"<<" 标示处还有一个判断: .text:785462F0 call _LsapCrDecryp

宽带连接用户名称和密码恢复原理 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小84 KB
  • 时间2017-01-11