Tomcat是一款开源的Web服务器系统,用其搭建的Web站点系统开销小、扩展性好,并且支持负载平衡与邮件服务等,因此颇受站长们的欢迎。Tomcat在Linux系统平台上优势明显,不少用户利用它搭建Web站点。实施Tomcat入侵技术门槛比较低,因此危害极大。这个Tomcat入侵防范 揭秘攻击者从扫描到获得Tomcat站点的webshell的过程,希望有助大家了解黑客的攻击过程,知己知彼,采取相应的措施,加固站点安全。
扫描的原理非常简单,因为Tomcat默认是通过8080端口对外提供Web服务的。这些工具就直接扫描网络中开启了8080端口的主机,并且其可以过滤开放8080端口的Web防火墙,缩小攻击范围。利用扫描工具攻击者不但能够获得开启了8080端口的Tomcat服务器的IP地址,还可以扫描自动猜 解弱口令。
扫描获得的IP和弱口令后,攻击者就可以通过默认的admin用户登录后台。Tomcat的默认后台是http://服务器IP:8080 /manager/html,在浏览器地址栏中输入该URL地址,弹出登录对话框,输入默认用户名admin和弱口令即可登录后台。
在Tomcat的后台可以看到站点的所有目录和文件,并且提供“Start”、“Stop”、“Reload”、“Undeploy”功能对目录实施“ 开启”、“停止”、“重启”、“卸除”等操作。当然对于攻击者来说,Tomcat后台中提供的上传功能可能是他们最为感兴趣的。在此可是上传WAR文 件,WAR文件是用于发布的、打包后的web应用程序,上传到Web站点后可以被执行。攻击者可以把一个jsp网马打包生成一个WAR文件,上传后就可以 运行该网马。
通过后台上传用WAR打包的网马后,就在Tomcat站点下生成与上传文件同名的目录。点击该目录,就可以看见jsp网马,在浏览器中输入该网马的 URL地址,就获得了一个Webshell。
在tomcat中获得的Webshell的权限还是非常大的。可以浏览、修改站点中的所有文件,当然还可以创建文件。如果是Windows系统的话可以 浏览个磁盘分区分区,执行系统命令。比如创建管理员帐户,上传并运行木马等等。如果是linux系统的话,可以进入各个系统目录,执行linux命令。比 如我们可以通过ls -l列出当前目录中的所有文件,查看并修改系统敏感文件/etc/passwd。可以想象我们把passwd中的 root:x:0:0:root:/root:/bin/bash中的x删除,那root用户就是空密码了。
通过Webshell攻击者就可以对系统进行提权、渗透获得整个服务器的控制权。这一部分内容,笔者仅仅点到为止,就不进一步地揭秘了。
一、Tomcat入侵揭秘
1、扫描
扫描的原理非常简单,因为Tomcat默认是通过8080端口对外提供Web服务的。这些工具就直接扫描网络中开启了8080端口的主机,并且其可以过滤开放8080端口的Web防火墙,缩小攻击范围。利用扫描工具攻击者不但能够获得开启了8080端口的Tomcat服务器的IP地址,还可以扫描自动猜 解弱口令。
2、后台
扫描获得的IP和弱口令后,攻击者就可以通过默认的admin用户登录后台。Tomcat的默认后台是http://服务器IP:8080 /manager/html,在浏览器地址栏中输入该URL地址,弹出登录对话框,输入默认用户名admin和弱口令即可登录后台。
在Tomcat的后台可以看到站点的所有目录和文件,并且提供“Start”、“Stop”、“Reload”、“Undeploy”功能对目录实施“ 开启”、“停止”、“重启”、“卸除”等操作。当然对于攻击者来说,Tomcat后台中提供的上传功能可能是他们最为感兴趣的。在此可是上传WAR文 件,WAR文件是用于发布的、打包后的web应用程序,上传到Web站点后可以被执行。攻击者可以把一个jsp网马打包生成一个WAR文件,上传后就可以 运行该网马。
3、Webshell
通过后台上传用WAR打包的网马后,就在Tomcat站点下生成与上传文件同名的目录。点击该目录,就可以看见jsp网马,在浏览器中输入该网马的 URL地址,就获得了一个Webshell。
在tomcat中获得的Webshell的权限还是非常大的。可以浏览、修改站点中的所有文件,当然还可以创建文件。如果是Windows系统的话可以 浏览个磁盘分区分区,执行系统命令。比如创建管理员帐户,上传并运行木马等等。如果是linux系统的话,可以进入各个系统目录,执行linux命令。比 如我们可以通过ls -l列出当前目录中的所有文件,查看并修改系统敏感文件/etc/passwd。可以想象我们把passwd中的 root:x:0:0:root:/root:/bin/bash中的x删除,那root用户就是空密码了。
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,而用新用户名和密码登录成功。
(2).修改权限
我们把tomcat-users.xml文件倒数第二行中的改为,去掉了admin后面的manager,即取消了管理员权限。然后重启tomcat(必须要重启,因为Tomcat重启时会加载配置文件,这样刚才的修改才会生效。)登录失败。
更改Tomcat管理后台路径,不为攻击者所猜到。当然,如果觉得后台用不着,也可以屏蔽后台。屏蔽后台就是把conf/Catalina /localhost/admin.xml文件改名,这样就是攻击者扫描到后台甚至猜到弱口令,也无法登录后台,也就无法上传网马,获得Webshell 实施对服务器的渗透攻击。要说的是,要使上面的修改生效必须要重启Tomcat。
如果Tomcat已经被人植入了Webshell,可以在站点中查找可疑文件。当然最方便的是进入后台,查看有没有可疑的目录,然后点击“stop”或 者“Undeploy”将该目录停掉。最彻底的是找到源文件直接删除掉,与webshell的文件一般包括三部分:一个WAR文件,与WAR同名的文件 夹,最核心的是该文件夹下的网马,要把它们一并删除。
从该文件看有5个用户可以进入后台,其中manager和admin的权限最大,roles后面的manager表示其是管理员权限。
防止默认用户admin和弱口令攻击,可以从两方面入手。
(1)修改用户名及密码
我们把tomcat-users.xml文件倒数第二行中的改为,即把登录用户改为lw,登录密码改为gslw。最后重新登录后台测试,用默认的用户名和密码admin登录失败见图6,而用新用户名和密码登录成功。
(2).修改权限
我们把tomcat-users.xml文件倒数第二行中的改为,去掉了admin后面的manager,即取消了管理员权限。然后重启tomcat(必须要重启,因为Tomcat重启时会加载配置文件,这样刚才的修改才会生效。)登录失败。
2、隐藏后台路径
更改Tomcat管理后台路径,不为攻击者所猜到。当然,如果觉得后台用不着,也可以屏蔽后台。屏蔽后台就是把conf/Catalina /localhost/admin.xml文件改名,这样就是攻击者扫描到后台甚至猜到弱口令,也无法登录后台,也就无法上传网马,获得Webshell 实施对服务器的渗透攻击。要说的是,要使上面的修改生效必须要重启Tomcat。
3、清除Webshell
如果Tomcat已经被人植入了Webshell,可以在站点中查找可疑文件。当然最方便的是进入后台,查看有没有可疑的目录,然后点击“stop”或 者“Undeploy”将该目录停掉。最彻底的是找到源文件直接删除掉,与webshell的文件一般包括三部分:一个WAR文件,与WAR同名的文件 夹,最核心的是该文件夹下的网马,要把它们一并删除。
评论