前段时间服务器中了木马了,经过排查,截获了ASPXSPY木马。该木马是用ASP.NET写的,为了知己知彼,就将木马拷到本地运行研究,发现功能真的很强大,自认为服务器设置有一定经验的我在默认情况下对此木马都大门敞开。
我的基本设置:每个Web设置有专门用户,而每个用户都只是Guest组帐号,仅对Web目录具有访问权。应用程序池全部都是Network service帐号运行。结果发现给木马所有功能都能正常运行。如下图所示。
文件(夹)管理,默认木马所在网站目录,如果你的其他站点设置了users权限,那么恭喜你中奖了。它几乎能够自由操作你的整个服务器硬盘。
cmd命令:执行各种命令,能够干些什么全看操作木马的人功底了。一般来说cmd.exe默认设置了users权限就可以运行。
IIS探测:可以将所有的IIS站点列出来,最恐怖的是可以将IIS用户密码列出来,这点上真的很怀疑.net的安全体系。
系统进程:不仅能够获得系统运行的进程,还能够结束进程。
系统服务:显示系统所有服务
用户组信息:查看用户信息
系统信息:显示系统的基本信息,能够通过搜索注册表显示远程桌面端口,能够获得驱动信息和网卡信息。
文件搜索:搜索指定后缀的文件并且替换,挂马主要使用此功能
Server-U提权:Server-U存在较大漏洞,非必要不要安装。
注册表查询:功能几乎和regedit一样。
端口扫描:扫描指定端口,得到端口的开关状态
数据库管理:能够看到网站的文件,自然就能读取web.config,自然能够获得数据库密码,如果你是用的Sa,那将进一步中奖。
端口映射:这个功能似懂非懂,不知于局域网路由器端口映射是不是一个道理,没试成功。
看到这些功能,我相信为数不少的服务器在被上传了该木马后都得防线崩溃。那么亡羊补牢,应该怎么处理呢?
防止文件(夹)管理功能/文件搜索:禁止所有不该具有运行脚本的目录,比如Images/js/css,还有各种上传目录。另外将每个站点设置一个用户,应用程序的标识也设置为这个用户,将用户去除所有用户组,只保留IIS_WPG组。该用户仅能访问web目录。但是要给这个用户Modify及以下权限,不然会报app_domain创建失败的错误。这个能尽量防止木马传入,如果已经传入,也将损失降低到最小。
防止cmd命令:将cmd.exe的权限只保留Adminstrators和System.
防止IIS探测:将"%SystemRoot%/system32/activeds.dll/"%SystemRoot%/system32/activeds.tlb文件只保留Aministrators和System权限(详见参考1)。这是也能够找到的几篇文章中唯一关于处理该木马的方法,
不过我看有的人指出这样设置重启后可能导致网站无法打开,系统无法远程连接,我是托管服务器,不敢试,所以请慎重设置。
防止查看系统进程:有文章指出通过禁用性能计数器可以达到此目的.(详见参考2)。
用户(组)信息:注意C盘的权限设置,(详见参考3 windows2003如何设置C盘权限)
系统信息/注册表查询:基本信息无法避免.net本来就可以获取,但是唯一注意C盘权限,不允许读取注册表就行。
数据库管理:数据库用户最好只针对当前应用,也就是一个应用一个帐号。
aspxspy作为一个木马来无疑是危害巨大的,最主要是保护好该木马上传的路径,这才是根本。另外一个角度说,aspxspy作为一个asp.net程序是一个很好的学习典范,实现了很多较难的功能,对于研究asp.net安全等很重要,现在就初步研究到这里,以后有时间慢慢读代码进一步研究。
我这里有源码,如果有需要的朋友可以留下邮箱,我可以发一份用于学习研究。
(仅供学习,不得用于破坏,后果自负哈)
补充一句:aspxsky应该是老外的作品,老中翻译了一下,我觉得中国少有真正的黑客,都是使用别人工具的混客。强烈鄙视使用这些工具搞破坏的人。
参考1: http://hi.baidu.com/xfx8/blog/item/ba5d95f995258049252df217.html
参考2: http://www.hackergg.com/post/57.html
参考3:
windows2003如何设置C盘权限