绕过MD5强取

  很多大虾都是通过查看程序源代码的方式来发现漏洞的。由于我刚开始学ASP,所以还没有达到这种境界。说来蹊跷,尽管搜索漏洞不方便,但偏偏一些程序的漏洞就让我给挖了出来。本文旨在提醒一些网管和站长,应加强网络安全方面的意识。
  以前看过一个“动网upfile漏洞利用”的动画教程(大家有兴趣可以到Google里搜索),使我对抓包修改有了初步了解。当时就感觉用途不只是上传那么简单。于是爱死了Winsock Expert,经常有事没事拿着它分析数据包。不经意间,有很大的收获。最近利用它成功地绕过了MD5验证,入侵了某个站点。
管理员自掘坟墓
  图1是笔者入侵过的一个站点。该网站使用的是沸腾3AS流浪尘缘新闻系统(核心:尘缘雅境图文系统)V0.45 Access版build 1程序。这次我抱着帮它检测漏洞的心态,瞧瞧能不能再次入侵成功,并放个页面上去。


 

图1
  大家都知道尘缘雅境有个漏洞——Uploadfaceok.asp可以上传ASP木马。管理员似乎知道这里有问题,已经进行了处理。几经查找,默认数据库地址已经不在了。
  不过转来转去,感觉这个站点有点让人摸不着头脑,就好像有人故意在留后门一样。在浏览信息的时候,发现它用的是ReadNews1.asp 这个文件,并没有用原来的ReadNews.asp,随手输入一个“'”符号(引号不输入),居然存在注入漏洞。wwW.itCOMPuteR.CoM.Cn
  http://lovefree.org/wenzhang/wenzhang/ReadNews1.asp?NewsID=173是个注入点,但是将文件名改为readnews.asp?newsid=173却被过滤了。
  很显然,这是管理员修改过文件的什么地方。但肯定是由于不懂注入漏洞,所以看不出来源程序那段防止注入代码的含义,最后自以为是地把原来用来防止注入的部分给去掉了。如此的误操作,就造成了一个漏洞的存在。也就是说尘缘雅境系统本来不存在这个注入点,现在却被无意中制造了一个。
  注入之后得到的密码,即数据库中的密码值是MD5加密过的,这个“地球人都知道”。怎么办?MD5我破解不了。
用Winsock Expert查询关键值
  MD5破解不开,我就想到了Winsock Expert抓包修改,因为我记得尘缘雅境这个程序在后台管理员修改密码的时候,并没有要求输入原始密码,而默认密码框中的则是原始密码的MD5值。就是说,如果你修改密码,系统就会要求验证旧的密码的MD5值。现在既然拿到了MD5值,那么自然就可以修改密码了。
  有一点要注意,抓包的时候要看清楚包的内容,看看它除了要验证旧密码的MD5值以外,还会验证什么。
  我下载了这个版本的程序,准备看看后台有什么可以经过修改拿到WebShell。
  在本机上打开IIS服务,访问初始化程序的后台页面。后台有个管理员修改密码的地方,我猜想如果程序在修改后台密码的时候使用Cookie验证方式,那么我们就可以直接提交相应的数据包,如果包中内容符合程序要求,程序就会认为合法,则执行修改管理员密码的代码。
  图2是我在修改密码的时候抓的数据包。主要是想看看修改密码都需要什么信息,需要符合包中哪些内容(我在本机上的IIS服务器IP地址为192.168.32.21)。下面就是需要验证的Cookie内容 :


 

图2
  Cookie:ASPSESSIONIDQSTCRBQS=IGCLHDBBPLKKLEAAPKGHCLPH;reglev
  el=;fullname=%D0%A1%B7%D1; purview=99999;KEY=super;UserName=base;Passwd=279d34fa1dfd71aa
  这些是需要的信息。我们只要知道有username、Passwd、purview、KEY、fullname这几个值需要验证就行了,下面要想办法让他们符合要求。再看看数据库,它们都在Admin表下,也就是说,我们可以通过注入弄到它们。purview=99999和KEY=super这两个值是说明它们为超级管理员的,不需要变更,最重要的就是剩下的三个值。
欺 骗
  通过NBSI工具注入,得到了Username=admin, Passwd=24a2b13f36f9f99c, fullname=doudou三个值,我们就用这些来欺骗。
  现在包对应的值有了,包内容如果现在提交,就会出现修改成功,这样能把我在本机的初始尘缘雅境程序密码改掉。但要改的可是被入侵的系统,怎样做到呢?
  我们知道包内容里面有被修改程序的IP地址,当然也可以改,可是改了以后还要计算并修改包大小值,这样很麻烦。干脆这样,就先欺骗自己的机子,让它以为自己所架设的服务器IP地址就是域名lovefree.org;然后再抓包,让自己的机子认为lovefree.org又指向原来的地方,那么我们就不用再改动包的内容了。
  下面要做的是让我自己的电脑认为站点http://lovefree.org/wenzhang/wenzhang/在我的IP上,而且对应的路径就是我安装的尘缘雅境初始化程序地址。修改E:\WINDOWS\system32\drivers\etc\下的hosts文件,加一行内容:192.168.32.21 lovefree.org(图3)。


 

图3
  然后设置IIS服务器,加上个虚拟目录wenzhang/wenzhang,指向尘缘雅境在自己机子上的目录。好了,现在在浏览器上输入http://lovefree.org/wenzhang/wenzhang就是我机子上的初始尘缘雅境了。
  这样做的目的是抓到的包可以直接提交给真实的http://lovefree.org/wenzhang/wenzhang地址,为了保证包的大小一样,在我机子上的username=admin、fullname=doudou,也设置得和远程服务器一样(可以在后台改,fullname是管理员的全名)。
  一切就绪,现在开始再抓一次修改密码的包,为了方便起见,我已经把管理员信息改为username=admin,fullname=doudou了。剩下包里需要修改的信息,就是MD5的密码值,因为MD5加密后都是16位的,不影响包大小。
  POST /admin/saveedit.asp?id=1 HTTP/1.1
  Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint,
  application/msword, application/x-shockwave-flash, */*
  Referer: http://www.xijing.com.cn/admin/useredit.asp?id=1
  ……
  Content-Length: 110
  Connection: Keep-Alive
  Cache-Control: no-cache
  (下面是Cookie验证内容)
  Cookie:NB796459377Vote1=1;ASPSES
  SIONIDQSTCRBQS=MGCLHDBBGDELLJG
  JGJHGKBML;reglevel=; fullname=doudou; KEY=super; UserName=admin; purview=99999; Passwd=24a2b13f36f9f99c
  (下面是修改信息)
  username=admin&passwd=abend&pass
  wd2=abend&fullname=doudou&depid=10&oskey=super&shenhe=1&cmdok=+%D0%DE+%B8%C4+
  看到了吧,包和真的一样!简直就像从它的服务器上抓来的。这样我们要改的,就只有passwd的MD5值了,就是说,只要这个也匹配,真正的lovefree.org服务器就会认可。改为24a2b13f36f9f99c就是注入得到的密码MD5值。
  现在把host文件的内容改回来之后,再输入域名lovefree.org就能打开真实地址了。用NC命令提交(图4)。


 

图4
  哈哈!“恭喜您!您的资料已经修改成功! 2秒钟后返回上页!”
总 结
  现在密码就是abend。用它来登录后台,到网站属性“上传文件类型:”多加一个ASP,就可以上传ASP木马。
  其实还有很多程序都存在这样的问题,如果你拿到了某站管理员的MD5值,不妨用这种方法试一下,也许有很大收获!
小资料:什么是MD5
  MD5的全称是Message Digest Algorithm 5(信息摘要算法),在上世纪90年代初由Mit laboratory for computer science和Rsa data security inc及Ronald l. rivest开发出来,经MD2、MD3和MD4发展而来。
  1991年,在MD4的基础上增加了“安全-带子”(safety-belts)的概念。Rivest开发出技术上更为趋近成熟的MD5算法。虽然MD5比MD4稍微慢一些,但却更为安全。由于MD5算法的使用不需要支付任何版权费用,所以在一般的情况下(非绝密应用领域,但即便是应用在绝密领域内,MD5也不失为一种非常优秀的中间技术),MD5怎么都应该算得上是非常安全的了。
  MD5的典型应用是对一段信息(message)产生信息摘要(message digest),以防止被篡改。比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如下:
  md5 (tanajiya.tar.gz) = 0ca175b9c0f726
  a831d895e269332461
  这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。
  MD5还广泛用于加密和解密技术上。比如在UNIX系统中用户的密码就是以MD5(或其它类似的算法)经加密后存储在文件系统中。当用户登录的时候,系统把用户输入的密码计算成MD5值,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。
  正是因为这个原因,现在黑客破解MD5密码,使用最多的一种破译密码的方法就是一种被称为“跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。我们假设密码的最大长度为8位字节(8 bytes),同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是p(62,1)+p(62,2)….+p(62,8),那也已经是一个天文数字了,存储这个字典就需要TB级的磁盘阵列,而且采用这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。

 
如何绕过Vista登录验证

  Vista的一大卖点就是其可靠的安全性,UAC、内置防火墙等功能把Vista打造得如同铜墙铁壁。难道真的不可被攻破吗?其实利用输入法漏洞,无需输入密码,就可以直接以系统管理员的权限登录系统,执行任意操作。如此低级但严重的漏洞到底是如何在Vista上重演的呢?
  出现这样低级的漏洞其实也不能完全怪Vista,存在漏洞的《极点五笔输入法》才是罪魁祸首。问题出在其6.0版本(2007.2.26.0.98)中,当Vista系统安装上该版本的《极点五笔输入法》后,就像两种独立的化学物质,本身不会有反应,但当两者融合在一起的时候,就会产生剧烈的化学反应,低级的漏洞由此诞生。
漏洞触发条件
  这个漏洞的危害性很大,但是要触发这个漏洞,也是需要有一定条件的:
  条件1:6.0版本(2007.2.26.0.98)的《极点五笔输入法》输入法。这是必要前提,只有该版本的输入法存在此漏洞,最新的版本已经填补了漏洞。此外,Google输入法最初的1.0版本也存在此漏洞。
  条件2:系统处于锁定状态(按“Windows+L”组合键实现)。当Vista启动到登录界面时,是不会触发漏洞的,只有当系统处于锁定状态时,漏洞才会被激活。
  满足这两点后,我们就可以轻松绕过Vista的密码验证,直接进入系统了。下面我们来对这个漏洞进行测试。
绕过系统验证登录
  Step1:假设当前登录界面处于锁定状态下,点击界面左下角的输入法选择按钮,在出现的菜单中选择《极点五笔输入法》。
  Step2:点击一下登录界面的空白处,这时会出现《极点五笔输入法》的输入法状态条,在上面点右键,在出现的菜单中依次选择“输入法设置→设置另存为”。
  Step3:在登录界面会弹出一个文件保存对话框,在这个对话框中我们可以浏览硬盘中的任意文件,包括创建和删除文件(图2)!

  Step4:在对话框中操作文件很不方便,况且并不能算是真正的入侵,因此我们可以利用漏洞创建一个具有管理员权限的账户,用这个账户进入系统。
  在对话框的地址栏中输入“c:\windows\system32\net.exe user hacker 123456 /add”(图3),输入完毕后点击一下旁边的“前进”按钮,这时会有一个“命令提示符”窗口一闪而过。虽然登录界面看起来没有什么变化,但我们已经在系统中创建了一个名为hacker,密码为123456的普通账户。

  Step5:接下来我们将它提升为系统的管理员,再次在地址栏中输入“net localgroup administrators hacker /add”并回车,仍旧是一个“命令提示符”窗口一闪而过。OK,现在我们已经是系统的管理员了,关闭当前的对话框窗口,点击登录界面上的“切换用户”按钮。接下去请相信你的眼睛,hacker账户已经俨然出现在了登录界面上(图4)。下面就不用多说了,用hacker账户登录,在Vista系统中尽情的爽吧。

  至此,我们已经成功绕过了Vista的密码验证,成为了系统的管理员。而入侵的过程只有短短的几个步骤,甚至不用借助任何工具,可见这个漏洞一旦形成,危害十分巨大。那么对于这个漏洞,我们该如何防范呢?
漏洞防范技巧
  在上文中我们已经提到漏洞形成的两个必要条件,因此只要我们能解决其中一条,即可防范漏洞。
  方法1:升级《极点五笔输入法》的版本,目前最新版本为6.1正式版,只要升级到最新的版本就可以填补漏洞,这是最简单也是最有效的方法。如果你使用的是其他的输入法程序,也建议进行一下升级,因为Vista系统作为一个新系统,不少输入法都还没做好准备,或多或少都可能存在一些潜在的瑕疵。
  方法2:如果没有条件升级输入法版本,也没有关系,只要不对当前用户进行“锁定”操作就可以了,我们也可以用“切换用户”代替,效果是一样的,但是“切换用户”后的登录界面不存在漏洞。
总结
  在Windows 2000时代,也出现了一些类似的输入法漏洞,为什么输入法会频繁出现这种问题呢?主要还是输入法本身设计的问题,由于输入法的帮助文件能执行CMD命令,可以被用来添加管理员账户,导致黑客绕过登录验证。
  很多用户都有不升级输入法的习惯,一旦该版本的输入法出现漏洞,后果就会很严重。建议大家定期更新自己的输入法,避免被人偷偷登录。

 
如何绕过ie7.0正版验证

最近IE7.0简体中文版刚刚发布,但是安装需要windows的正版验证,现在我们来看看如何绕过验证,不是正版windows也可安装的方法:
第一:先下载微软IE7.0 (可以去天空软件站),下载完毕后,双击安装文件,如图,至验证页面时,点验证!(当然通过不了,这样做是为了让C:\Documents and Settings\All Users\Application Data\Windows Genuine Advantage\data 路径上产生一个 data.dat 文件!)不要退出安装保留此页!

第二:找到路径C:\Documents and Settings\All Users\Application Data\Windows Genuine Advantage\data

打开我的电脑,复制上面路径到地址栏,回车!找到data.dat 文件,删除它!

第三:这个是关键,请仔细看好,如果你是LAN上网,请拔掉你的网线,如果是ADSL上网,那就关掉ADSL猫!并确认,屏幕右下角连接已处于断开的状态!(连接图标上出现红叉) 这是关键一步,请仔细确认! WWW.SQ120.COM 推荐

回到安装页面,再一次验证!会很顺利通过的,等上两分钟,偷着乐吧!

本人测试有效,请大家放心使用,目前这个方法还是比较有效的,比那些破解工具要有效哦。