WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 1786查看
  • 0回复

主题

好友

2768

积分

金牌会员

发表于 2009-7-10 09:46:18 |显示全部楼层
一、锁定目标

    在论坛上看到某牛人说技术要进步就得去黑韩国网站。就凭这句话,我们小菜也要去韩国网站练习练习了。首先要找一个韩国的网站,这个谈不上什么技巧。用啊D打开google,输入:inurl:kr+asp?id=,每页显示100项,搜索网页语言为韩文。接着就等着目标出现了,嘿嘿。很快就出来一大堆存在注入的站点,随便确定一个。网址为:http://www.dalong.co.kr/目标就是它了。

二、战斗打响

    啊D检测出来的结果是存在SQL注入的,注入点为:http://www.dalong.co.kr/board/qa_list.asp?id=dlboard1,注入类型是MSSQL注入,权限为DB_OWNER。由于是韩国站,就不打算猜表猜列得到管理员相关信息再登录后台了,因为就算我真的进了后台,也未必能在后台搞到webshell!韩文不懂嘛,没办法。思路初步确定利用DB_OWNER权限LOG备份写进一句话ASP木马。但前提是要找到WEB路径,这个不难实现,用啊D的列目录功能就可以了。最后确定WEB根目录为:D:\www\dalong。接着就是LOG备份了。这次就用手工的吧,工具虽好,手工可以加强理解嘛。用IE分别在注入点http://www.dalong.co.kr/board/qa_list.asp?id=dlboard1后面执行:
;alter database dalong2002 set RECOVERY FULL--
;backup log dalong2002 to disk = 'c:\cmd' with init--
;create table cmd (a image)--
;insert into cmd (a) values ('')--
;backup log dalong2002 to disk = 'D:\www\dalong\hack.asp'--
;drop table cmd--
大致意思就是在数据库里创建一个cmd表,再往表里插入内容,再备份到WEB目录上去,然后删除表。当然了,你也可以用工具,工具来得方便,不过手工更利于加强理解哦。前几期的杂志也介绍过用工具备份的了,我就不再哆嗦了。然后访问一下备份出来的文件hack.asp。注意文件底部出现“Execute”了,大致意思就是类型不匹配之类的。这样就说明一句话已经成功备份出来了,这可是一句话的标志哦。接下来当然是用客户端连接了,连接成功后。虽然页面是乱了点,但我们可以清楚地看到返回了服务器的环境变量信息。利用一句话成功上传了一个站长助手。至此,webshell就已经完全得到了。主页有修改权限,这就已经得到了网站的控制权了。坏事就不做了,呵呵。

三、提权之路

    得到webshell之后干什么呢,停手还是继续?虽是菜菜,但我决定继续下去,目标是服务器的系统权限!不为别的,就因为开了3389。提权,常见的就Serv-U、pcanywhere等。在webshell执行了net start看了看,发现FTP服务是FTP Publishing Service!这个可是微软的FTP服务软件,暂时我还没有办法利用它来提权。pcanywhere嘛,也根本没装,还有其他杂七杂八的提权方法都不怎么管用。思前想后还是觉得只且条路可以走的了——找数据库连接文件得到高权限的SQL连接用户和密码,然后连接上去再执行相关命令就可以了。于是找到存在注入的文件qa_list.asp查看了源代码,发现相应的数据库连接文件为include目录下的qadbcon.asp。跳转到相应目录,打开查看qadbcon.asp的内容。可以看到和图1相同的当前库,都是dalong2002,当前用户为dladmin_sa。但是从检测结果来看,这个连接用户只有DB_OWNER权限,还不能够执行系统命令。用得到的SQL用户名和密码连接后证实的确不能执行命令!权限不足,要SA权限的才可以执行命令了。看来还得找到相应的SA数据库连接文件才行!这里不得不要提到的是sqlrootkit。在网上找了一个ASP的sqlrootkit,我自己稍微改了一下,放到压缩包当送给大家的礼物吧,界面。功能嘛,可以检测相关组件,组件如果不存在的话还可以恢复哦。用得到的SQL用户和密码登录进去,提示“郁闷,权限不够估计不能执行命令!”这就说明了当前连接用户不具有执行系统命令的权限了。

四、直捣黄龙

    DB_OWNER的SQL连接用户是不能够执行系统命令的,所以不能达到通过SQL操作来添加系统用户的目的。必须要有一个具有SA权限的SQL连接用户才行!继续在webshell里到处逛,手上只有它有点用了,唉!无意中发现还有个貌似是数据库连接文件的ASP文件WebTicketDBConnect.asp,打开看看,用户是sa,密码也和先前发现的不同。管他呢,死马当活马医了。再用得到的新的SQL用户密码在sqlrootkit上登录,哈哈,这次提示“恭喜!sql server最高权限”了,是SA权限的了。检测下相关组件,发现全部组件都存在。这倒是再好不过了,其实只要xp_cmdshell组件存在就可以执行系统命令了。在“系统命令”里输入要执行的命令“net user”,在“请选择运行程序的组件”下拉选中“xp_cmdshell”,然后执行,成功返回系统用户信息。接着再执行net user guest /active:yes、net user guest password、net localgroup Administrators guest /add三条命令。意思就是先激活guest用户,然后设一个密码,再把guest用户加进管理员组。至此成功添加了具有管理员权限的系统用户。当然了,如果你不想用sqlrootkit的话,也可以用SQL连接工具进行连接,比如SQLTools就是一个很好的例子。不过用SQLTools的话要多一项,就是数据库名称,不过这个也可以通过查看SQL数据库连接文件得到。这个就看个人爱好了,反正功能都基本上一样的。这里做个示范,用SQLTools连接后执行net user guest命令查看下guest用户的信息。由于是韩国服务器,韩文不能正常显示出来,都变成问号了!但是可以清楚到看到guest用户已经在管理员组里的了。最后就是登录远程桌面了。至此已经完全控制了该服务器,还是双CPU的哦,渗透至此结束了。没有什么技术含量,牛人们都说入侵三分靠技术,七分靠运气,看来的确很有道理哦。

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-14 15:40 , Processed in 0.059138 second(s), 16 queries .

返回顶部