微信号 dbaplus 功能介绍 围绕数据库、大数据、PaaS云,顶级大咖、技术干货,运营几个月受众过十万!成为运维圈最专注围绕“数据”的学习交流和专业社群!欢迎投稿,加入探讨。 作者介绍 陈浩,北信源研发工程师,五年Linux运维工作经验,热衷运维技术研究、实践和团队分享。 1 起因 本来在家正常休息了,我们放在上海托管机房的线上服务器突然崩了远程不了,服务启动不了,然后让上海机房重启了一次,还是直接挂了,一直到我远程上才行。 2 现象 远程服务器发现出现这类信息 登录信息,然后翻墙去了国外网站查看 这个意思大概是: 问候,你的服务器被黑客攻击和你的文件已经被删除了。他们被删除之前,我们支持我们的服务器控制。你必须发送总共3 BTC地址:1 b1ou6edreyffif3*******不这么做将导致文件被删除后5天。我们也可能泄露你的文件。你可以通过电子邮件与onewayout@sigaint.org联系。我们不会提供任何文件之前付款。再见! 呀的,被黑了! 3 开始排查 首先检查日志,以前做过安全运维,所以写过类似于检查命令和工具,开始一一排查。 检查出有点类似于黑客的IP,只能猜测然后查看IP地址过滤出这个IP的访问信息 并查看IP地址是那边的。 就是他了,查看历史记录。 日志发现 Invalid user ubnt from 46.214.146.198。 历史记录和相关访问日志已经被删除,痕迹清除。 发现检查没有异常 打开 vi /etc/motd 发现 查找不出后门也找不到相关命令,感觉思路受损,晕头转向。 最后查找下当天的Web访问日志和相关IP访问。 发现一条命令让我好奇,GET /cgi-bin/center.cgi?id=20 HTTP/1.1。 并且有点异常 发现像目前最流行的bash shell 漏洞,测试一下,果然存在漏洞。 4 修复升级命令 yum -y install yum-downloadonly yum -y install bash-4.1.2-33.el6_7.1.x86_64.rpm [root@mall tmp]# yum -y install bash-4.1.2-33.el6_7.1.x86_64.rpm 已加载插件:fastestmirror,security 设置安装进程 诊断 bash-4.1.2-33.el6_7.1.x86_64.rpm: bash-4.1.2-33.el6_7.1.x86_64 bash-4.1.2-33.el6_7.1.x86_64.rpm 将作为 bash-4.1.2-15.el6_4.x86_64 的更新 Loading mirror speeds from cached hostfile * base: ftp.sjtu.edu.cn * extras: mirrors.skyshe.cn * updates: ftp.sjtu.edu.cn 解决依赖关系 --> 执行事务检查 ---> Package bash.x86_64 0:4.1.2-15.el6_4 will be 升级 ---> Package bash.x86_64 0:4.1.2-33.el6_7.1 will be an update --> 完成依赖关系计算 依赖关系解决 ================================ 总文件大小:3.0 M 下载软件包: 运行 rpm_check_debug 执行事务测试 事务测试成功 执行事务 正在升级 : bash-4.1.2-33.el6_7.1.x86_64 清理 : bash-4.1.2-15.el6_4.x86_64 Verifying : bash-4.1.2-33.el6_7.1.x86_64 Verifying : bash-4.1.2-15.el6_4.x86_64 更新完毕: bash.x86_64 0:4.1.2-33.el6_7.1 完毕! 重新测试 [root@mall tmp]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test" this is a test 5 完成后做了如下措施 修改了系统账号密码; 修改了sshd端口为2220; 修改Nginx用户nologin; 发现系统服务器存在bash严重漏洞 破壳漏洞(Shellshock)并修复; 更新完成后没有发现被入侵或者服务器自动宕机现象。 6 漏洞被利用过程 我发送GET请求–>目标服务器cgi路径 目标服务器解析这个get请求,碰到UserAgent后面的参数,Bash解释器就执行了后面的命令。 7 Shellshock介绍 Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。 8 更多文章推荐 http://zone.wooyun.org/content/15392 http://www.freebuf.com/articles/system/50707.html http://bobao.360.cn/news/detail/408.html http://hacker-falcon.blog.163.com/blog/static/23979900320148294531576/ 文章来源:51CTO技术栈,经作者同意授权转载 近期热文: 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路 赞赏 长按二维码向我转账 受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。 微信扫一扫关注该公众号