这由于内容比较多,所以,废话还是不多说,直接切入正题。
==================================================================================================================
古老的方式:
A:ring3下的键盘钩子
这个只要懂的都知道,tx的密码那里早就从底层拦截了,你hook到的信息是他私自处理的,所以不行
B:ring0级的键盘轮寻
这个可以,但是怎么说呢,信息肯定比较凌乱,只要是键盘钩子,都会这样,尽量不用吧
C:内存式的ReadProcessMerry
这个如果找qq号的话能找到,但是密码肯定是找不到的,更何况版本很多,基址肯定很多不一样,也不行
D:句柄式的SendMessage
这个想都别想了,因为肯定不行,取回来的密码是空的,号呢,如果是数字就变了,字母还能取到
更不用说09版,连句柄都没有
E:封包式
这个没研究过,也不敢乱说!
==================================================================================================================
==================================================================================================================
QQ密码BUG分析:
A:通过研究表明,qq密码在成功登陆过后,会有一个令牌存在,存在这个令牌的目的就是为了在
用qq打开别的软件的时候,譬如说打开qq邮件,qq游戏等的时候避免重复登陆!有了这个意识
之后,我们试想,既然是这样的话,那么用qq打开qq游戏的时候,是不是qq就会传递qq号和qq密码
给qq游戏呢?经过验证,答.案是肯定的!既:qq传递qq号和qq密码的HASH值传递给qq游戏,也就是
平时所说的命令行!
B:那么是不是只要别人通过qq登陆游戏,就能获取到?这当然是十分肯定!那么问题又来了,如果别人
安装了游戏还好说,要没安装肯定就不会传递,而且就算安装了,别人也不会马上登陆游戏啊!等别人
登陆游戏的时候黄花菜都凉了,呵呵,说的很对,是这个道理
我们现在想想,既然通过qq打开qq游戏,并调用成功,到底是为什么呢?为什么能调用成功呢?
现在我来换位考虑:如果让我来开发的话,我肯定会qq在打开qq游戏的时候去查看注册表的值,如果存在这个值
代表安装了,当然这个值我会保存qq游戏的路径,最后调用游戏的时候传递命令行过去,
如果注册表不存在这个值,那么我就提示安装游戏!那么,我能不能来修改注册表的这个值,替换成我自己
的软件呢?替换成了之后qq会传递命令行过来吗?而且替换了之后qq会识别出来吗?
这一切疑问最后经过验证的结果是:绝对是这样!汗。。。。。既然这样,那一切就不在话下了
我只要两个小软件配合使用,软件a负责模拟点击qq游戏,软件b就冒充qq游戏。
C:到这里,我相信懂的肯定已经懂了,当然不懂的肯定还是不懂!最后一个问题
传递过来的参数是qq号的明文和qq密码的HASH值,这样有用吗?当然有用,有了qq号和hash值登陆qq
我相信网上这样的简单教程还是很多的吧!其实这个hash值是密码经过md5加密之后,再一次经过了base64加密
base64的可以还原出来,但是md5不可逆,虽然04年山东大学王小云教授成功破解md5,能产生 碰撞!但是
实际还是基本不可能的!
D:bug基本讲述完毕,总结一下就是qq把功力全部放在了qq密码那里,说实话,qq密码那里的技术确实是牛!
************************************************************************************************
但是却没有想到,自己打开自己的时候却露馅了,说句不太好听的话,就是搬石头把自己脚砸了一下,原先
************************************************************************************************
存在这个令牌目的是为了避免重复登陆,缓解服务器压力,但是却没有想到暴露了自己的qq号和密码!
************************************************************************************************
====================================================================================================================
====================================================================================================================
软件演示:
A:配置 Rundll32.exe主要的演示文件,CommandQQ.asp收信文件,HASH版QQ登陆器.exe
B:上传asp文件到服务器
C:运行演示软件rundll32.exe,这里运行后大概在30秒之内消失,消失之后就可以直接去看信了!!!我们注意看!
好了,消失了吧,我们看信!
Pass:QNbM1LmAoMrLFNaJgMIMxLdK6MYJqC5MNKaM9KoDUIXMvEAL
这里的密码是什么东西呢?我们继续看,哈哈这里直接还原出了明文,但是实际情况上有很多时候是还原不出明文
因为md5的不可逆,但是难道没有明文就登陆不了了吗?当然不是!看我操作!看到了吧,直接利用qq和hash强制登陆!
D:HASH强制登陆器
====================================================================================================================