免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 网站相关 > 网站安全 > 一次艰难的渗透过程(涉及到内容很广)(3)

一次艰难的渗透过程(涉及到内容很广)(3)

时间:2012-04-16 20:47来源:未知 整理:寂涯网络 点击:


统用 WSockExpert.exe 抓了一下上传的包,在一句话 asp 木马里添加下 gif89a 头,再在包
的这里改为:
Content-Disposition: form-data; name="article_img"; filename="C:\aa.asp .gif"
用nc提交后即得到名为120107005538_53.asp的上传文件,也就拿到其webshell。如图 7:
图7
其实这里上传的时候,web 防火墙也拦了好几次,几乎杀了我 95%的小马,最后只能请
出独门暗器才躲过这 bt 的防火墙。后来才知道该虚拟主机使用的组合是【星外+护卫神.入
侵防护专家】。
   拿到 www.aaa.com的webshell后,自然是想跨目录到a.111.com。而最新的星外+护卫神
的确很有效,删除了wscript.shell、shellapplication等扩展,还不支持aspx,没有任何
运行命令的可能。
 
调试 php 漏洞
   
我用phpinfo看了下www.aaa.com的web服务器的php版本是 5.2.9-2。版本不高,我印象
里php5.2.13以下的版本出过好几个漏洞,其中【PHP hash_update_file() Already Freed
Resource Access Vulnerability】是比较著名的。于是我放下该站的webshell,找到这个
漏洞公告和poc,准备调试一下这个漏洞,用它去执行命令,进而提升权限。
公告地址为:
http://php-security.org/2010/05/01/mops-2010-001-php-hash_update_file-alrea
dy-freed-resource-access-vulnerability/index.html
我在 vmware_winxp的 apache+php环境里,用 windbg附加进程httpd.exe,然后在浏览
器打开这个漏洞的poc,发生异常,如图8:
图8
由图8可以看到发生问题的模块是php5ts.dll,发生问题的函数是php_hash_register.
 
 
8
在这个函数偏移0x2bf 处发生了异常。
显然 php5ts.dll 是 php 的核心解析器,php 所有的功能都包含在它里面,不论什么操
作系统运行php都少不了要加载它。从这里可以看出这个漏洞危害的范围很广,是跨平台的。
至于漏洞发生的原因就不在这里调试叙述了。
现在看发生异常的位置是:
00a74fef ff5204 call dword ptr [edx+4] ds:0023:55555559=????????
Eip 为 0x00a74fef 的地方,而 poc 第一句代码就是 define("OFFSET",
pack("L",0x55555555));把这个地址装入一个二进制串中。再看异常发生时的寄存器环境如
图 8 中的 edx=0x55555555,后来再通过调试确定开始的第一句代码的地址就是控制的 edx
寄存器。那么只要能在edx+4 指向的地址装入精心构造的shellcode,就可以顺利溢出了。
后来和 2yue 聊天时告诉我,他发现了一种把另一个 php 漏洞【PHP addcslashes()
Interruption Information Leak Vulnerability】和这个漏洞结合起来利用的方法。后来
我也证实了这个结果。以下是 2yue的调试结果,我在这里和大家分享,希望他不介意。
“PHP addcslashes()信息泄露漏洞,他可以读出内存空间中的信息,在读出的信息中 ,
从偏移 0x10 开始,保存了一个指针,而在该指针偏移0x20 开始保存我们控制的变量的值。” 
这样的话我们就可以用 PHP addcslashes()漏洞找到放置 shellcode 的地址,再找到某
个变量 A 的地址,在变量 A 的地方存放 shellcode 的地址,那么 call [edx+4]就可以执行
shellcode 了。把那两个 poc 结合起来,最后那个 hexdump()函数改成我们自己的找到偏移
0x10指向的0x20 的地址的函数,好像很绕口。
其实是很简单的一个功能,直接附上2yue写的这个函数。
   function hexdump($x) 
  {
 $ret_long = ord($x[0x13]) * 0x1000000 + ord($x[0x12]) * 0x10000 + ord($x[0x11])
* 0x100 + ord($x[0x10]);
 $ret_long = $ret_long + 0x20; 
 return $ret_long;
    }
只是里面的细节还需要调一调:例如要生成纯字母数字的shellcode,edx+4那个地方调
一下等等,然后就可以用 metasploit生成我们想要的纯字母数字的shellcode了。
我在本机测试成功,如图9,当然还是要感谢2yue。
图9

在漏洞调试成功后的第2天,我准备用这个exp 提权时,用菜刀连上我的webshell,谁
知道却返回404.
我把www.aaa.com

本页地址 http://www.jybase.net/wangzhananquan/20120416827.html

百度搜索更多

谷歌搜索更多

顶一下
(1)
50%
踩一下
(1)
50%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com