作者介绍
陈浩,北信源研发工程师,五年Linux运维工作经验,热衷运维技术研究、实践和团队分享。
1.起因
本来在家正常休息了,我们放在上海托管机房的线上服务器突然崩了远程不了,服务启动不了,然后让上海机房重启了一次,还是直接挂了,一直到我远程上才行。
2.现象
远程服务器发现出现这类信息
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
登录信息,然后翻墙去了国外网站查看
这个意思大概是:
问候,
你的服务器被黑客攻击和你的文件已经被删除了。
他们被删除之前,我们支持我们的服务器控制。
你必须发送总共3 BTC地址:1 b1ou6edreyffif3*******
不这么做将导致文件被删除后5天。
我们也可能泄露你的文件。你可以通过电子邮件与onewayout@sigaint.org联系。我们不会提供任何文件之前付款。
再见!
3.开始排查
首先检查日志,以前做过安全运维,所以写过类似于检查命令和工具,开始一一排查。
#查看是否为管理员增加或者修改 find / -type f -perm 4000 #显示文件中查看是否存在系统以外的文件 rpm -Vf /bin/ls rpm -Vf /usr/sbin/sshd rpm -Vf /sbin/ifconfig rpm -Vf /usr/sbin/lsof #检查系统是否有elf文件被替换 #在web目录下运行 grep -r “getRuntime” ./ #查看是否有木马 find . -type f -name “*.jsp” | xargs grep -i “getRuntime” #运行的时候被连接或者被任何程序调用 find . -type f -name “*.jsp” | xargs grep -i “getHostAddress” #返回ip地址字符串 find . -type f -name “*.jsp” | xargs grep -i “wscript.shell” #创建WshShell对象可以运行程序、操作注册表、创建快捷方式、访问系统文件夹、管理环境变量 find . -type f -name “*.jsp” | xargs grep -i “gethostbyname” #gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针 find . -type f -name “*.jsp” | xargs grep -i “bash” #调用系统命令提权 find . -type f -name “*.jsp” | xargs grep -i “jspspy” #Jsp木马默认名字 find . -type f -name “*.jsp” | xargs grep -i “getParameter” fgrep – R “admin_index.jsp” 20120702.log > log.txt #检查是否有非授权访问管理日志 #要进中间件所在日志目录运行命令 fgrep – R “and1=1″*.log>log.txt fgrep – R “select “*.log>log.txt fgrep – R “union “*.log>log.txt fgrep – R “../../”*.log >log.txt fgrep – R “Runtime”*.log >log.txt fgrep – R “passwd”*.log >log.txt #查看是否出现对应的记录 fgrep – R “uname -a”*.log>log.txt fgrep – R “id”*.log>log.txt fgrep – R “ifconifg”*.log>log.txt fgrep – R “ls -l”*.log>log.txt #查看是否有shell攻击 #以root权限执行 cat /var/log/secure #查看是否存在非授权的管理信息 tail -n 10 /var/log/secure last cat /var/log/wtmp cat /var/log/sulog #查看是否有非授权的su命令 cat /var/log/cron #查看计划任务是否正常 tail -n 100 ~./bash_history | more 查看临时目录是否存在攻击者入侵时留下的残余文件 ls -la /tmp ls -la /var/tmp #如果存在.c .py .sh为后缀的文件或者2进制elf文件。

Apr 17 03:14:56 localhost sshd[11499]: warning: /etc/hosts.deny, line 14: missing “:” separator Apr 17 03:15:01 localhost sshd[11499]: Address 46.214.146.198 maps to 46-214-146-198.next-gen.ro, but this does not map back to the address – POSSIBLE BREAK-IN ATTEMPT! Apr 17 03:15:01 localhost sshd[11499]: Invalid user ubnt from 46.214.146.198 Apr 17 03:15:01 localhost sshd[11500]: input_userauth_request: invalid user ubnt Apr 17 03:15:01 localhost sshd[11499]: pam_unix(sshd:auth): check pass; user unknown Apr 17 03:15:01 localhost sshd[11499]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=46.214.146.198 Apr 17 03:15:01 localhost sshd[11499]: pam_succeed_if(sshd:auth): error retrieving information about user ubnt Apr 17 03:15:03 localhost sshd[11499]: Failed password for invalid user ubnt from 46.214.146.198 port 34989 ssh2 Apr 17 03:15:03 localhost sshd[11500]: Connection closed by 46.214.146.198

历史记录和相关访问日志已经被删除,痕迹清除。
安装chrootkit检查是否有rootkit mkdir chrootkit cd chrootkit/ wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz tar zxvf chkrootkit.tar.gz cd chkrootkit-0.50/ ls yum install -y glibc-static make sense ./chkrootkit

打开 vi /etc/motd 发现
[root@mall ~]# vi /etc/motd Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files! Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files! Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files! Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files! Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files! Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!
发现一条命令让我好奇,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版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。
本文链接:https://www.yunweipai.com/22780.html
然而, 文件恢复了吗?