Tomcat 从入侵检测到防范

    [多云 August 12, 2008 14:51 | by !4p47hy ]
作者: 甘肃老五,  出处:IT专家网

Tomcat是一款开源的Web服务器系统,用其搭建的Web站点系统开销小、扩展性好,并且支持负载平衡与邮件服务等,因此颇受站长们的欢迎。值得一提的是Tomcat在Linux系统平台上优势明显,不少用户利用它搭建Web站点。最近,关于Tomcat的入侵非常火,有不少Web站点甚至服务器沦陷。让人不安的是,实施Tomcat入侵技术门槛比较低,因此危害极大。下面笔者揭秘入侵过程,以便站长知己知彼,采取相应的措施,加固站点安全。

一、Tomcat入侵揭秘

  1、扫描

  和几乎所有的入侵一样,攻击者对Tomcat的入侵也是从扫描开始的。现在网络上针对Tomcat的扫描工具如雨后春笋般冒出来,一般的用户极易获得。并且其中的有些工具可以进行关键词搜索扫描,攻击者输入相应关键词就可以实施对某类Tomcat站点进行扫描入侵。

  扫描的原理非常简单,因为Tomcat默认是通过8080端口对外提供Web服务的。这些工具就直接扫描网络中开启了8080端口的主机,并且其可以过滤开放8080端口的Web防火墙,缩小攻击范围。利用扫描工具攻击者不但能够获得开启了8080端口的Tomcat服务器的IP地址,还可以扫描自动猜解弱口令。(图1)

  Highslide JS


  2、后台

  有了上面扫描获得的IP和弱口令后,攻击者就可以通过默认的admin用户登录后台。Tomcat的默认后台是http://服务器IP:8080/manager/html,在浏览器地址栏中输入该URL地址,弹出登录对话框,输入默认用户名admin和弱口令即可登录后台。(图2)

  Highslide JS


  在Tomcat的后台可以看到站点的所有目录和文件,并且提供“Start”、“Stop”、“Reload”、“Undeploy”功能对目录实施“开启”、“停止”、“重启”、“卸除”等操作。当然对于攻击者来说,Tomcat后台中提供的上传功能可能是他们最为感兴趣的。在此可是上传WAR文件,WAR文件是用于发布的、打包后的web应用程序,上传到Web站点后可以被执行。攻击者可以把一个jsp网马打包生成一个WAR文件,上传后就可以运行该网马。(图3)

  Highslide JS


  3、Webshell

  通过后台上传用WAR打包的网马后,就在Tomcat站点下生成与上传文件同名的目录。点击该目录,就可以看见jsp网马,在浏览器中输入该网马的URL地址,就获得了一个Webshell。不过通常情况下,攻击者把网马改名为index.jsp,这样点击目录就可以直接运行网马。

  在tomcat中获得的Webshell的权限还是非常大的。可以浏览、修改站点中的所有文件,当然还可以创建文件。如果是Windows系统的话可以浏览个磁盘分区分区,执行系统命令。比如创建管理员帐户,上传并运行木马等等。如果是linux系统的话,可以进入各个系统目录,执行linux命令。比如我们可以通过ls -l列出当前目录中的所有文件见图4,查看并修改系统敏感文件/etc/passwd见图5。可以想象我们把passwd中的root:x:0:0:root:/root:/bin/bash中的x删除,那root用户就是空密码了。(图4)(图5)

  Highslide JS


      Highslide JS


  4、提权渗透

  通过Webshell攻击者就可以对系统进行提权、渗透获得整个服务器的控制权。这一部分内容,笔者仅仅点到为止,就不进一步地揭秘了。

二、安全防范

  1、设置强密码

  从上面的入侵测试过程可以看到,后台密码是个关键,因此首先要设置健壮的后台密码。在Tomcat中用户和密码保存在conf/tomcat-users.xml文件中。下面是一个标准的tomcat-users.xml文件:

  从该文件看有5个用户可以进入后台,其中manager和admin的权限最大,roles后面的manager表示其是管理员权限。

  防止默认用户admin和弱口令攻击,可以从两方面入手。

  (1)修改用户名及密码

  我们把tomcat-users.xml文件倒数第二行中的改为,即把登录用户改为lw,登录密码改为gslw。最后重新登录后台测试,用默认的用户名和密码admin登录失败见图6,而用新用户名和密码登录成功。(图6)

  Highslide JS


  (2).修改权限

  我们把tomcat-users.xml文件倒数第二行中的改为,去掉了admin后面的manager,即取消了管理员权限。然后重启tomcat(必须要重启,因为Tomcat重启时会加载配置文件,这样刚才的修改才会生效。)和图6一样登录失败。

  2、隐藏后台路径

  更改Tomcat管理后台路径,不为攻击者所猜到。当然,如果觉得后台用不着,也可以屏蔽后台。屏蔽后台就是把conf/Catalina/localhost/admin.xml文件改名,这样就是攻击者扫描到后台甚至猜到弱口令,也无法登录后台,也就无法上传网马,获得Webshell实施对服务器的渗透攻击。要说的是,要使上面的修改生效必须要重启Tomcat。(图7)

  Highslide JS


  3、清除Webshell

  如果Tomcat已经被人植入了Webshell,可以在站点中查找可疑文件。当然最方便的是进入后台,查看有没有可疑的目录,然后点击“stop”或者“Undeploy”将该目录停掉。最彻底的是找到源文件直接删除掉,与webshell的文件一般包括三部分:一个WAM文件,与WAM同名的文件夹,最核心的是该文件夹下的网马,要把它们一并删除。(图8)

  Highslide JS


  总结:本文叙述了攻击者从扫描到获得Tomcat站点的webshell的过程,希望有助大家了解黑客的攻击过程,知己知彼,采取相应的措施。另外,本文也提供了应对该类攻击的方法,但愿对大家有所帮助。
Technology | Comments(0) | Trackbacks(0) | Reads(16297)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive