跳至主要内容

Tomcat 从入侵检测到防范

Tomcat是一款开源的Web服务器系统,用其搭建的Web站点系统开销小、扩展性好,并且支持负载平衡与邮件服务等,因此颇受站长们的欢迎。Tomcat在Linux系统平台上优势明显,不少用户利用它搭建Web站点。实施Tomcat入侵技术门槛比较低,因此危害极大。这个Tomcat入侵防范 揭秘攻击者从扫描到获得Tomcat站点的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重启时会加载配置文件,这样刚才的修改才会生效。)登录失败。

  2、隐藏后台路径


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

  

  3、清除Webshell


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



评论

此博客中的热门博文

6岁小朋友在PSP上看到不该看的东西

美国佛州的一位母亲Thamtha Tovar为自己六岁的儿子在Manatee的沃尔玛购买了一个礼物,一台全新的PSP, 然而当这位六岁的小朋友打开此PSP的时候,映入眼帘的却是一位"一丝不挂"的美女,惊恐之下,小朋友向自己的母亲哭诉了自己的遭遇。 伟 大的母亲听说此事勃然大怒,愤然找到沃尔玛的负责人要求对此事件作出合理解释,为何刚购买的PSP里的记忆卡会有"美女"在里面。沃尔玛的工作人员如此说 道:"呃,你把机器带来过,我们把卡帮你取出来,然后我们会给您儿子免费提供一个新的游戏。"这位母亲说:"我很乐意,但是恐怕你们没有明白我说的话。" 沃尔玛的一位发言人称他们正在调查为何发生此事,寻求解决此问题,而Tovar女士则要求更换一台全新的PSP并要求沃尔玛为此事道歉。 ------------------ 洛阳生活信息点评网:http://luoyanglife.com/ 洛阳生活信息,我爱打折论坛:http://bbs.luoyanglife.com/ 河南招生考试网:http://www.edu-ha.com/  

照着做,你的人生一定很顺利!

  01.犯了错误就该诚实地认错——狡辩、诿过只会害了自己。   02. 朋友 之间要保持距离——这样的 友谊 才能长久。     03.钱追人,人追健康——有了健康,还怕挣不到钱么?     04.别轻易转行——转行的风险很高,最好不要轻率为之。     05.适度地抬高身价——在就业市场中,人也是一种商品。     06.把敬业变成 习惯 ——从长期看是为了自己。     07.运用累积法壮大资产——不求快,不求多,不中断。     08.忍一时,争千秋形势比人强时,必须忍。     09.与其你死我活,不如你活我也活——这就是双赢,是良性竞争。     10.以"播种"的 心态 经营人际关系——种子播得越早越坚韧。     11.做事切勿率性而为——率性而为只会害了自己。     12.遇到魔鬼型的主管时——接受他的磨练可让你的 性格 越来越坚韧。     13.不要当众和主管吵架——那会让你无路可走,只有走人。     14.向不同行业的人学习新知识——记住,要用请教的 态度 。     15.所有的困难都是好事——这是老天爷在磨练你,目的是把重任交给你。     16.用吃亏就是占便宜的心态 做人 做事——那样你就可以迅速长大。     17.不要在失意者面前谈论你的得意——那样 伤害 你的人际关系。     18.不要小看守时这件事——守时是对别人的尊重。     19.用 时间 来看人——时间是检验大师。     20.用打听来看人——把获得的信息汇总,就可以了解那个人。     21.建立一个朋友档案——以免人到用时方恨少。     22.扩大交友圈——主动出击,不要等别人上门找你。     23.保持交友的弹性——敌人也可以变成朋友。     24.要交 喜欢 "修理"你的朋友——这种朋友是你的 人生 导师。   25.毛遂自荐,好处多多——让别人看到你,知道你的存在,知道你的能力。     26.小心突然升温的 友情 ——对待这种友情的正确态度是:不推不迎,礼尚往来。     27.做老二,不做老大——老大没当好,容易变成老三老四。     28.做人要中规中矩——目的是赢得他人的尊重和信赖。   ...

FTP服务器关于断点续传权限的防范问题

FTP服务器关于断点续传权限的防范问题    假设ftp服务器中存在一个文件Readme.txt,文件大小为1000 bytes,连接上这个ftp服务器(假设我有写权限,ftp服务器是支持断点再传的),我本地中也有一个叫Readme.txt的文件,文件大小为 500 bytes。好了,我开始做坏事。    1、连接上这个ftp服务器(用系统自带的 ftp://ftp.exe/,在内网的可能无法使用,因为 ftp://ftp.exe/用的是port模式)    2、dir(查看Readme.txt大小,确定了是1000 bytes)    3、quote rest 1000(告诉ftp服务器我将要传送的文件是从文件位置1000开始)    4、send Readme.txt    5、dir(再次查看Readme.txt大小,现在Readme。txt变成1500 bytes了)    为什么Readme.txt会变大了?很简单,因为我本地的那个Readme.txt的500字节上传成功,并写入到ftp服务器中存在的那个 1000 bytes的Readme.txt文件中了。问题是出在第二条命令,如果没有第二条命令,我的第4个命令(Send Readme.txt),就会得到一个Permission Deny的错误,第二条命令是让ftp服务器信任我们将要进行一个断点再传的操作,如果没有第二条命令,ftp服务器将以为我们进行的是一个复盖原文件的操作(复盖原文件操作需要另外的权限才可以进行)。    这个问题只是在允许断点再传的FTP服务中存在,但现在90%的FTP服务程序都是允许断点再传的,所以这问题在普遍的FTP服务器都会存在。    防范方法:    如果一定需要给用户上传权限的话,最好的防范方法是每个用户都给他建立一个目录,将那个用户的权限完全锁在这个目录内,那么用户就没有权限可以查看其它用户的目录,也就是说无法造成以上所说的破坏。