首页 > 代码库 > 黑客通过linux bash漏洞借助apache cgi向产品服务器植入木马病毒的实例分享!

黑客通过linux bash漏洞借助apache cgi向产品服务器植入木马病毒的实例分享!

问题描述:
    公司的某产品服务器(阿里云的)被黑客攻击了,确切的说是被黑客当成肉鸡了.
    肉鸡:肉鸡也称傀儡机,是指被黑客通过各种方式植入木马病毒,然后被远程操纵的机器,
         肉鸡可以是各种系统,如windows,linux和unix等,可以是一家公司,企业和学校甚至是政府军队的服务器。


发现问题:
   阿里云管理中心给公司领导发短信了(阿里云账号绑定了手机号),短信说你的x服务器存在恶意攻击,
   登陆阿里云管理中心发现x服务器有很多风险,如下图:

   技术分享    

   分析这些风险发现,x服务器向网络内很多服务器发送了暴力破解破解密码的请求.

   登陆x服务器,执行ps -ef指令发现有很多httpd进程:
   daemon   11821  5748  0 12:01 ?        00:00:00 /usr/sbin/httpd       
   记得上次被攻击,执行ps -ef指令发现有很多sshd进程:
   daemon   11821  5748  0 12:01 ?        00:00:00 /usr/sbin/sshd
   综上得知:x服务器被当做肉鸡了.但是黑客是通过什么方式将木马病毒植入的x服务器的?


解决思路:
    上次被黑客攻击,分析可能是通过tomcat,即黑客通过tomcat破解tomcat-user,然后登陆tomcat主页上传木马病毒.
    当时的解决方案是将tomcat-user.xml文件删除了.但是时隔一个月,x服务器又被攻击了,所以排除了tomcat-user的问题,
    但是无论如何,必须找出问题根源.仔细想了想x服务器上的服务主要是是apache和tomcat,如果不是tomcat,那可能就是apache.
    于是将tomcat和apache最近两天的日志全部拷贝出来,认真分析,在apache的error日志中得到如下关键性输出(只复制一小部分):
    [Tue Jan 13 02:28:47 2015] [error] [client 5.39.86.39] File does not exist: /opt/httpd-2.2.21/htdocs/cgi-sys
    [Tue Jan 13 02:28:48 2015] [error] [client 5.39.86.39] File does not exist: /opt/httpd-2.2.21/htdocs/cgi-sys
    [Tue Jan 13 02:28:48 2015] [error] [client 5.39.86.39] --2015-01-13 02:28:48--  http://88.208.200.143/css/.logo.gif/nynew.tar
    [Tue Jan 13 02:28:48 2015] [error] [client 5.39.86.39] Connecting to 88.208.200.143:80...
    [Tue Jan 13 02:28:48 2015] [error] [client 5.39.86.39] connected.
    [Tue Jan 13 02:28:48 2015] [error] [client 5.39.86.39] HTTP request sent, awaiting response...
    [Tue Jan 13 02:28:49 2015] [error] [client 5.39.86.39] 200 OK
    日志的大概意思是:黑客通过apache的cgi将木马病毒植入到x服务器,主要过程是从88.208.200.143服务器上下载nynew.tar木马文件,
    其中nynew.tar文件存放的是一些log文件(包括ip文件,用户名和密码文件)和一些脚本文件(进行http和ssh),可以登陆服务器通过find / nynew.tar指令搜索这个文件.
    问题找到了,但是现在还有一个问题:就是黑客是如何通过apache的cgi将木马病毒植入到x服务器中?在网上找了一些资料发现如下线索:
    In Linux, environment variables provide a way to influence the behavior of software on the system. 
    They typically consists of a name which has a value assigned to it.
    The same is true of the Bash shell. It is common for a lot of programs to run Bash shell in the background.
    It is often used to provide a shell to a remote user (via ssh, telnet, for example), 
    provide a parser for CGI scripts (Apache, etc) or even provide limited command execution support (git, etc)
    说来说去就是黑客可能通过bash的漏洞借助apache的cgi将木马病毒植入到x服务器,终于真相大白了,原来是bash的问题.
    那么黑客是如何通过bash的漏洞借助apache的cgi将木马病毒植入到x服务器中的?这tmd我就不知道了,我又不是做安全的,上网百度下吧!


辅助资料:
    在网上无意找到了关于阿里云官方发给阿里云服务器用户的通知,登陆阿里云服务器管理中心,发现9月25日确实收到了此通知,
    可能领导没有看到,或者没有意识到问题的严重性,通知中有如下内容:
   【已确认被成功利用的软件及系统】  
    所有安装GNU bash 版本小于或者等于4.3的Linux操作系统.
    查看x服务器的bash版本,发现是4.1.5,真相更加大白了.
    # bash -version
    GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
    Copyright (C) 2009 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software; you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    补充:上网简单查了下,原来9月25日发生了2014年全球14大网络安全事件之一:Shellshock漏洞事件,而我却浑然不知,以后要多多关注安全方面的问题.
    另外,阿里云针对不同类型的linux系统给出了相应的解决方案,参考通知中修补方案参考论坛.<linux bash严重漏洞通知>如下:
    技术分享


解决方案:
  通过find / nynew.tar搜索木马文件,全部删除,然后升级bash版本.
  补充:可以对apache进行优化...


  最后对Mr chen的技术支持表示由衷的感谢,感谢你在工作的时间为我分析问题发生的根源,浪费了你很多宝贵的时间有时间请你吃饭吧!

黑客通过linux bash漏洞借助apache cgi向产品服务器植入木马病毒的实例分享!