ASP漏洞引发渗透攻击
网络整理 - 09-04
最近几天,网络上好像总是不太平,自从WebDAV漏洞的溢出工具发布之后,网上潜在的“肉鸡”好像慢慢多了起来。虽然补丁也已经发布多日,但是还是有人没有放在心上…… 但是我今天要讲的并不是WebDAV漏洞的溢出攻击,而是一次用asp叶面漏洞引发的渗透攻击。
前天晚上,一个多日不见的朋友,忽然在网上Q我(因为他是广东人,所以我以为他住院了,呵呵),聊了一会突然给了我一个地只要我看看,问我能不能得到发布新闻的权限……
老套路,ping一下域名得到IP地址,使用SuperScan进行端口扫描,呵呵,还是开了不少啊。
21、25、53、80、110、139、445、3389等等。
一个一个分析:
1、开ftp是为了便于更新web资料吧!没有弱口令……
2、53 Domain Name System 看来有可能是控制器(逼急了就用RPC溢出,呵呵暴力倾向)。
3、Telnet Targetip 80 看看,
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/5.0
Date: Mon, 05 May 2003 14:22:00 GMT
Content-Type: text/html
Content-Length: 87
The parameter is incorrect.
失去了跟主机的连接。
呵呵 IIS5.0 …… 可惜啊,没有WedDAV溢出漏洞。不错!网管很负责,已经贴好补丁了!值得表扬……
4、139、445
不错 还有NetBIOS和IPC$共享不错,刺探了一下,得到了用户名和共享列表。
5、3389
没有紫光输入法又是windows2000+sp3+ W2K_sp4_x86_CN 别想了 等拿到administrator的权限再说吧!
看来从这些方面考虑,暂时是行不通的了。于是我打开了网站的主页,看看是某日报的网站,呵呵!新闻很多啊!看看,是ASP的界面,很好的东东与法简单、可读性强,但是漏洞也不少,多是由于编程者的疏忽造成的,好办让我来浏览一下整个网站……
管理页面在哪里?试一下吧(社会工程学初级应用)!
没有 啊 无法显示
不行
嗯?出来了……
回头一看……哦?不是朋友提供的地址吗?
看看吧!要我输入用户名和密码,嗯——是个难题,呵呵,原来他就是想要这个啊!好!试试这个:在密码栏里面我输入了asp’or’1呵呵,进去了!为什么?来看这个!
在ASP程序中,用户名和密码的校验是通过这样的MSSQL语句实现的:
mydsn=” select * from user where user =’ ”&user&” ’ and pwd = ‘ ”&pwd&” ’ ” 如果”&pwd&”变成了asp’or’1意味着什么?带入看看
mydsn=” select * from user where user =’ ”&user&” ’ and pwd = ‘ asp ’ or ’ 1 ’ ” 这些罗计算都是同级的从左到右看”&user&” and pwd = ‘ asp ’ 运算的结果为0 ,0 or 1 的结果是1 呵呵 所以就通过了!
进去之后干什么?由于看到发布文章的同时可是粘贴图片附件,嘿嘿!我来看看,打开发表文章的页面果然有上传附件的地方,看来运气不错(不要高兴得太早,还不知道能上传什么哪)!点击粘贴附件,嘿嘿看到了什么现实的时候没有扩展名的过滤,是所有文件,意味着什么?哈哈!上传的文件当然也是所有类型啦!
我上传了ASP木马,系统自动编号了。01090208.asp呵呵,问题在哪里呢?来找一找……头大!又是动脑思考的时候了。看看他的数据库吧!于是……
不错!您没有权限…… 哈哈 原来真在这里啊!再试!
没有找到文件
嗯!行了!下载下来看!
呵呵!里面由用户列表、文章列表、还有系统统计——要的就是它!哈!果然找到了,01090208.asp的绝对路径就在里面,好,输入到浏览器里面看看……出来了!
将项目保存为LC3的文件格式——*.lcs。
使用SMBProxy自带的工具将LC格式的文件转换为pwdump格式。
E:\>perl lc3_conv.pl 2.lcs
Administrator:500:89B9639B628096295FBE6BDC86679876:C6EBC896A3C134D4CF18063C33ACC926:::
Guest:501:4316EDA750394C6B120438C30F7F1819:00000000000000000000000000000000:::
TsInternetUser:1000:1987DC7B3DE4A42761541729CD9CDFDD:28212D01DDEF0A91BA9022173515E9A6:::
…………………………
转换完毕
1. 停掉本机server服务,因为此程序默认使用127.0.0.1的139端口
net stop server
2. 运行本程序
smbproxy -s target -f pwdump3.txt 好了
3. 通过本地代理登陆远程主机
net use * \\127.0.0.1\c$ 123456/user:administrator
哈!成功!
其实,不用SMBProxy也只不过是为了快一点登录,使用LC4破解也是可行的,主要还是因为我很懒……
擦出了痕迹,归还了权限,我就撤退了,呵呵!
后记:关于ASP漏洞的补救,我不是很在行,只是提一些建议吧!
将user = Trim(Request(“user”))改为user = Replace(Trim(Request(“user”)),” ”,” ’ ”) 以实现 ” ‘ ” 的过滤(被替换为空格)。
数据库的下载是我猜解的,但是有这样的一种方法是绝对可行的。ASP使用一个连接文件将数据导入数据库文件这个文件一般以inc为扩展名,而且一般命名为conn.inc如果将它下载下来,就意味着数据库路径的暴露,所以要将conn..inc改为asp后缀,同时把数据库文件也改为asp扩展名并修改连接文件中的相关语句。
对于上传文件限制的代码,我就不太懂了,不过有很多资料啊!
其实系统的安全只不过是站点安全的一个重要组成部分,服务程序(web页面)的漏洞也会导致系统安全防线的崩溃,这次渗透功击就是一个例子。