为了顺应当前形势和更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 安全攻防 查看内容

非主流入侵之会话劫持winnt/2k HASH

2004-9-29 20:05| 投稿: security

摘要: 声明:本文只是在技术上分析如何来通过sniffer来劫持winnt/2k的hash,对此文可能造成的危害不负任何责任。引言:近来SMB会话劫持的讨论占据了个大技术论坛不少的位置,吸引了不少人的目光,同...
声明:本文只是在技术上分析如何来通过sniffer来劫持winnt/2k的hash,对此文可能造成的危害不负任何责任。引言:近来SMB会话劫持的讨论占据了个大技术论坛不少的位置,吸引了不少人的目光,同时绿盟月刊37期、Phrack杂志60期和安全焦点峰会也刊登出了相关的文章,使得SMB会话劫持成为一个热点。由于是window设计上的缺陷,这是一种无法察觉又非常可怕的攻击方法。本文试图从SMB数据包分析的角度来说明如何截获winnt/2k的hash,具体的实现就不公布了,请读者牢记前面的声明。说明:为了使文章有针对性,关于SMB协议以及SMB会话过程就不谈了,用到的时候会一带而过,感兴趣的朋友请自行查询附录中的参考文档。文中提到的数据包如果没有特别说明都是通过Sniffer pro截获到的,并且为了分析方便,去掉了物理帧头、IP头和TCP头,只留下NETB和SMB部分。正文:假设两台机器,一台为Client A,一台为SMBServer B。一、session的建立:设法让A去访问B的特定资源,产生一个NETBIOS会话。A发送Session request,其中包括经过编码的NETBIOS名字。B在139端口监听连接,收到A的request后,B发送Session confirm,其中没有任何内容。这样就建立了一个有效的session。其中Session request数据包的NETB Type为0x81,Session confirm数据包的NETB Type为0x82,可以在程序中通过判断这两个标志来确定是否产生一个有效的session,然后就可以想办法截获SMB包了。二、Challenge的获得:当有效的session建立后,就开始进行连接的确认工作了,从这一步中可以得到B发送给A的由B随机产生的Challenge。过程如下:A向B发送一个身份认证的请求,B随机产生一个8字节的Challenge发送给A,这个Challenge就包含在B发回给A的Server Response数据包中。用Sniffer pro截获这个包后,去掉物理帧头、IP头和TCP头,再去掉4个字节的NETB头,剩下的就是SMB包的内容,再去掉33个字节长的SMB Reponse header,然后向后做36个字节的偏移,下面的就是长度为8个字节的Challenge。这样就得到了我们需要的服务器随机产生的Challenge。(由于本文的目的在于散列截获的实现,所以数据包内个字节内容的具体含义不做任何解释,只说明位置,下文也遵循这个原则。想深入了解的朋友请参阅附录的参考文档)三、LM&NT HASH的获得:A得到B发回的用于加密口令的Challenge后,向B发送建立空连接的请求,B返回Server Response包,此时IPC空连接成功建立。A然后发送LM&NT HASH给B,请求访问特定的资源,等待B的允许。我们需要做的就是截获A发送的这个SMB包。下面来看怎么拆解出HASH,还是去掉物理帧头、IP头和TCP头,再去掉4个字节的NETB头,剩下的就是SMB包的内容,再去掉33个字节长的SMB Reponse header,然后向后做28个字节的偏移,下面的24个字节的内容就是LM HASH,紧接着的24个字节就是NT HASH。现在我们就获得了A主机的LM HASH和NT HASH。四、HASH的破解前面已经获得了Challenge、LM HASH和NT HASH,现在我们做成lc文件格式,下面就是导入lc4来暴力破解了。lc的文件格式如下:192.168.0.244 ADMINIST-7Z6A4E\Administrator:"":"":89E5E3F54A998398DC36E89DDD37334C801201CA39C9A5D3:8457623684F27A5EFA5FE7B647E87C36D78616F80594123C:E3A96FF4507B9EDF后面的三列数字分别为LM HASH、NT HASH、Challenge。五、总结本文旨在于讨论winnt/2k下SMB会话劫持的实现,相关问题请查阅参考文档。因为入侵方法复杂,并且需要一定的基础,所以,掌握的人并不多。我已经尽量写地简单,只要按照以上的步骤去做就能实现,具体的代码实现就不写了,有兴趣的朋友自己去研究吧。

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部