利用星外虚拟机的入侵 经验分析
目标站点是老Y文章管理系统v2.5的。在网上找了下,目前基本上没有什么可直接利用的漏洞,于是开始旁注<br />上<font color="#4c7d08">http://ip.468w.cn/</font> 查了下。服务器上150个站,用super injection导入全部站点后批量扫描注入点,很快拿到了服务器一个asp的shell,可是权限很低.几分钟过后又拿到同服另外的一个.net站的shell,初步看了下,星外的虚拟主机,设置得比较安全,除了当前站点目录和c:\windows\temp可写入,找了许久都没找到一个即可写也可执行的目录。这样信息获取的就比较少了,所幸在注册表里HKEY_LOCAL_MACHINE\SYSTEM\LIWEIWENSOFT\INSTALLFREEADMIN\11找到了星外虚拟主机配置信息 mssql sa密码 (32位md5加密,感谢sht同学帮我查询收费记录)<br /><br /><span style="DISPLAY: none; POSITION: absolute" onxxxxxxxxx="showMenu({'ctrlid':this.id,'pos':'13'})"></span><img class="zoom" alt="1.jpg" width="600" unselectable="true" outfunc="null" status="2" file="attachments/month_1007/1007011931f2abc3b6c16a4491.jpg" initialized="true" onxxxxx="zoom(this, this.src)" src="https://img.jbzj.com/do/uploads/allimg/110323/0057461.jpg" /> <br />,速度连接上去,<br />却没看到诸如freehost之类的数据库,sa被降权了,mysql 的root密码也是一样的可惜也被降权了,都是独立帐户启动的数据库.mssql backupdata时除了temp目录可写,其它目录都不能写,xp_cmdshell,xp_dirtree,xp_oacreate,等那些存储过程都不可用,上传相关dll文件尝试恢复提示拒绝访问,不过还可以用xp_subdirs列出d:\freehost的所有子目录来。但是目标web路径没有用域名这类的作为名称,花了大半天的时间才找到目标站的路径。大致方法就是通过whois查到管理员的qq邮箱,再通过搜索qq,找到管理员常用用户名xxx336,再在列出的子目录里找到一个xxx336的目录,exec master..xp_subdirs ‘d:\freehost\xxxx336\web’ 的确老y文章管理系统的目录结构不过后台目录被改了这下也暴露出来了,目前知道后台地址,web目录。Qq,常用用户名,把这些整理成一字典 进行后台密码和ftp穷举,也失败了。于是想打数据库的主意,老Y文章管理系统的配置文件为/inc/config.asp,的参数中有数据库路径,于是在网上相关 mssql读取文件内容的方法,总算是找到了,也许牛牛们早就知道了,但我还是第一次用到,拿出来分享下希望对没有接触过的同学有帮助以免走弯路,<br />用查询分析器执行如下语句<br />Use xxx120;--(这里是随便选的一个数据库)<br />drop table cmd; <br />create table cmd (a text);<br />BULK INSERT cmd <br />FROM 'd:\freehost\xxx336\web\inc\config.asp' <br />WITH ( <br />FIELDTERMINATOR = '\n', <br />ROWTERMINATOR = '\n\n' <br /> <br />) <br /><br />select * from cmd<br />这样就成功读出了d:\freehost\xxx336\web\inc\config.asp文件的内容,很惊讶。<br /><span style="DISPLAY: none; POSITION: absolute" onxxxxxxxxx="showMenu({'ctrlid':this.id,'pos':'13'})"><img alt="" border="0" src="https://img.jbzj.com/do/uploads/allimg/110323/0057462.gif" /></span> <img alt="2.jpg" width="575" unselectable="true" outfunc="null" status="2" file="attachments/month_1007/100701193129a806ce50dba2f0.jpg" initialized="true" src="https://img.jbzj.com/do/uploads/allimg/110323/0057463.jpg" /><div class="t_attach" style="DISPLAY: none; Z-INDEX: 301; FILTER: progid:DXImageTransform.Microsoft.Alpha(opacity=100); LEFT: 198px; POSITION: absolute; TOP: 1445px; opacity: 1" initialized="true" cache="1" fade="false" cover="0" layer="1" mtype="menu" ctrlkey="aimg_7085"><strong><font color="#4c7d08">下载</font></strong> (71.33 KB)<br />
<div class="t_smallfont">2010-7-1 19:31</div>
</div>
<br /><br />下载数据库后找到管理员表,密码字符串只有14位,下载了套程序看了下相关代码Mid(md5(Admin_Pass,32),4,18),先经过32位md5密码然后从4位开始往后取18位 。密码不可逆,看到这个就蛋疼了。看了看后台验证文件admin_check.asp, 很鸡肋cookies欺骗。利用起来很麻烦。于是在下载到的数据库的普通用户表中查询和管理员表的里密码相似的用户,结果还真找到了个用户,<br /><span style="DISPLAY: none; POSITION: absolute" onxxxxxxxxx="showMenu({'ctrlid':this.id,'pos':'13'})"></span> <img alt="3.jpg" width="531" unselectable="true" outfunc="null" status="2" file="attachments/month_1007/1007011931e4336e89676c12db.jpg" initialized="true" src="https://img.jbzj.com/do/uploads/allimg/110323/0057465.jpg" /> <br /><br />由于普通用户表的密码是16位md5加密的,把密文拿到cmd5.com很快就查询出来了明文密码,用这个密码尝试登陆后台,还真成功了,<br /><span style="DISPLAY: none; POSITION: absolute" onxxxxxxxxx="showMenu({'ctrlid':this.id,'pos':'13'})"></span> <img alt="4.jpg" width="567" unselectable="true" outfunc="null" status="2" file="attachments/month_1007/1007011931a90bbcdb734b60e0.jpg" initialized="true" src="https://img.jbzj.com/do/uploads/allimg/110323/0057467.jpg" /> <img alt="" border="0" smilieid="482" src="https://img.jbzj.com/do/uploads/allimg/110323/0057468.gif" /> <br /><br />拿 shell 就简单了,后台有数据库备份功能。至此 大功告成!<br />过程没啥技术含量,欢迎大家指点,但不要指指点点。<br /><br /><br /><br />以下是增加内容:<br />针对论坛上某些朋友提出来的一些疑问很感谢。<br />用aspxspy从注册表中读取出来的md5密码解出来后 用来尝试连接sa连接数据库的。算是rp好吧。因为以前遇到过几次就是样成功的<br />至于有了sa还那么曲折 是因为服务器分别有sqlrun和mysqlrun独立帐户启动的数据库服务而不是system.所以权限比默认的小很多,其本上除了web目录能读取,temp目录可写,存放数据库文章的目录能写 其它地方没什么权限的,所以备份小马 oacreate之类的都没有成功。<br />另外推荐两篇文章 希望对大家有帮助<br /><font color="#4c7d08">http://www.simple-talk.com/sql/t ... server-using-t-sql/</font> (在sqlserver中读写文件)<br />https://www.jb51.net/article/26602.htm (sqlserver中对入侵有用的相关存储过程详解)
頁:
[1]