看到这里聪明读者一定明白该如何通过抓包来破解QQ密码了,让我们来回顾一下:
当处于同一个局域网中的QQ客户端登录的时候,它会向服务器发送一个请求登录令牌包,服务器也会返回登录令牌包,但是这个对我们作用不大。然后它会发送登录包,里面包含了用密码密钥加密的16为密文,服务器接到登录包后验证用户密码正确与否,然后返回登陆成功或者失败的应答包。
我们只要抓到QQ客户端向服务端发送的登录包,先用初始密钥把它解开,就可以的到其密码密钥加密的16位密文,这样使用同样的解密算法就能发现哪个密码能够解开此密文。由于抓包后是在本地进行破解的,只要我们的CPU够快,内存够多,破解时间够长就一定能破出它的密码这比通常的通过网络进行破解的方法要快的多。
有了思路只要写出程序就可以实现QQ密码的破解了。首先是抓包,我使用了WinPcap来抓包。这样在HUB环境下可以抓到所有的QQ包。在交换环境中,我们可以使用一些ARP欺骗工具,同样能够抓到特定IP所发出的包。QQ的加密算法实现,参考网上的Perl-oicq和Lumaqq等代码也可以轻易实现。然后用字典或者暴力破解的方法对密文进行解密即可。解密的过程用伪代码表示如下: 结果=decrypt(密文,MD5(MD5(密码)))如果结果不为空的时候就是正确的密码。
当处于同一个局域网中的QQ客户端登录的时候,它会向服务器发送一个请求登录令牌包,服务器也会返回登录令牌包,但是这个对我们作用不大。然后它会发送登录包,里面包含了用密码密钥加密的16为密文,服务器接到登录包后验证用户密码正确与否,然后返回登陆成功或者失败的应答包。
我们只要抓到QQ客户端向服务端发送的登录包,先用初始密钥把它解开,就可以的到其密码密钥加密的16位密文,这样使用同样的解密算法就能发现哪个密码能够解开此密文。由于抓包后是在本地进行破解的,只要我们的CPU够快,内存够多,破解时间够长就一定能破出它的密码这比通常的通过网络进行破解的方法要快的多。
有了思路只要写出程序就可以实现QQ密码的破解了。首先是抓包,我使用了WinPcap来抓包。这样在HUB环境下可以抓到所有的QQ包。在交换环境中,我们可以使用一些ARP欺骗工具,同样能够抓到特定IP所发出的包。QQ的加密算法实现,参考网上的Perl-oicq和Lumaqq等代码也可以轻易实现。然后用字典或者暴力破解的方法对密文进行解密即可。解密的过程用伪代码表示如下: 结果=decrypt(密文,MD5(MD5(密码)))如果结果不为空的时候就是正确的密码。