linux服务器被攻击处理过程

开始排查

首先检查日志,以前做过安全运维,所以写过类似于检查命令和工具,开始一一排查。

#查看是否为管理员增加或者修改
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文件。

发现像目前最流行的bash shell 漏洞,测试一下,果然存在漏洞。

env x=‘() { :;}; echo vulnerable‘ bash -c "echo this is a test"[[email protected] ~]# env x=‘() { :;}; echo vulnerable‘ bash -c "echo this is a test"vulnerablethis is a test

修复升级命令

yum -y install yum-downloadonly

yum -y install bash-4.1.2-33.el6_7.1.x86_64.rpm

[[email protected] 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

完毕!

重新测试

[[email protected] tmp]# env x=‘() { :;}; echo vulnerable‘ bash -c "echo this is a test"

this is a test

完成后做了如下措施

  1. 修改了系统账号密码;
  2. 修改了sshd端口为2220;
  3. 修改nginx用户nologin;
  4. 发现系统服务器存在bash严重漏洞 破壳漏洞(Shellshock)并修复;
  5. 更新完成后后面没有发现被入侵或者服务器自动宕机现象。

漏洞被利用过程

我发送GET请求–>目标服务器cgi路径

目标服务器解析这个get请求,碰到UserAgent后面的参数,Bash解释器就执行了后面的命令。

Shellshock介绍

Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。

时间: 2024-07-31 14:29:18

linux服务器被攻击处理过程的相关文章

记一次linux服务器问题处理过程

本周二的时候,涛哥找我,说明了一件事,在安装ganglia的时候,发生的一个问题. 在一台suse 10 sp1的服务器上,安装ganglia的一个依赖包,libconfuse.rpm,安装完成之后, 执行任何命令都会出现段错误的提示,而且无法再次ssh登录,也无法直接console登录. ssh登录,提示握手的时候错误,console登录提示init失败,请等等五分钟. 根据所有这些提示找到的解决方案都不适用于我们的情况. 其实在这个时候,涛哥给我讲了一件事,说前两天也发生过类似的事情,说是库

linux服务器被攻击处理

2016年5月12日14点左右接到客服通知说,"网站炸了". 打开xshell,远程登录服务器,top一看负载,平均负载到了100多,要知道平时也就是2-3左右. 查看是httpd服务跑满了,慢慢的...慢慢的...服务器就宕机了,估计是被人cc攻击或者是ddos攻击. 好吧老实去查看日志: 假设Apache日志文件在这里: /var/log/httpd/access.log [生成环境已经改动了] 查找请求数请20个IP(常用于查找攻来源): [[email protected] ~

linux服务器中毒排查过程

真实案例:公司一台线上redis服务器前段时间在空闲状态下cpu也一直处于100%的状态,在查看对应进程的CPU后,发现一个奇怪的问题,平均CPU使用率远远大于redis进程.其它两个进程的所占用的CPU总和,但是top命令查看不到对应的占用过高的进程,于是初步怀疑有两种可能:1.硬件问题 2.服务器受到***CPU病毒的***排查思路:1.因为是最新购买的云服务器,基本排除硬件问题(腾讯云监控会有报警)2.确定是病毒惹的祸:2.1:查看定时任务,发现有来历不明的定时任务在跑,里面的内容都是乱码

在linux服务器上发布web应用的完整过程

首先你要有一个完整的web应用的小Demo,一个简单的demo就可以了,但是要涉及到数据库,笔者这里简单的模拟一个登陆的过程. 在本地测试,访问项目: 键入账号密码,点击登陆: 就是这么个简单的动作,下面把它部署到linux服务器上,在linux服务器上需要安装jdk(1.8).tomcat8.mysql.这里先用本机的虚拟机里的linux做模拟,后边再部署到真正的服务器上,这里使用的linux是CentOS6.使用Xshell连接安装好的linux系统,点击Xftp工具,将所需的安装包上传到服

Linux服务器LVM逻辑卷配置过程

Linux服务器LVM逻辑卷配置过程 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM),用户可以在系统运行时动态调整文件系统的大小,把数据从一块硬盘重定位到另一块硬盘,也可以提高I/O操作的性能,以及提供冗余保护,它的快照功能允许用户对逻辑卷进行实时的备份.对一般用户来讲,使用最多的是动态调整文件系统大小的功能.这样,你在分区时就不必为如何设置分区的大小而烦恼,只要在硬盘中预留出部分空闲空间,然后根据系统的使用情况,动态调整分区大小.以下为在VMware

linux服务器启动过程

随着Linux的应用日益广泛,特别是在网络应用方面,有大量的网络服务器使用Linux操作系统.由于Linux的桌面应用和Windows相比还有一 定的差距,所以在企业应用中往往是Linux和Windows操作系统共存形成异构网络.在服务器端大多使用Linux和Unix的,目前Linux的擅 长应用领域是单一应用的基础服务器应用,譬如DNS和DHCP服务器.Web服务器.目录服务器.防火墙.文件和打印服务器.Intranet代理服务器 .启动 Linux 系统的过程包括很多阶段.不管您是引导一个标

Linux服务器性能监控工具Glances 安装过程与简单介绍

一.Glances: Glances 是一款非常不错的跨平台的性能监控工具,提供了CPU.CPU队列.内存.虚拟内存.网络.I/O和最占用服务器的资源的进程列表等,应该就这些了吧,提供了这些 指标的监控信息,并且在运行时会根据资源的占用情况适用不同的颜色标注其重要程度,非常直观,下面是使用中的截图: 二.Glances安装:   Glances的安装还是比较简单方便的,由于Glances是由python编写的,最好适用python的库管理工具pip来自动安装.并且使用工具 也将安装过程简单的.

cwRsyncServer从windows下数据实时同步到linux服务器上的实现过程

由于公司有两台windows服务器,开发在操作时一般也都是在这两台服务器上上传一些数据或修改一些东西,而Linux上的服务器也要跟windows上的数据要保持一致而又不需要人为的实现这个过程,基于此过程,昨天花了点时间,完成了基本的测试实现过程,今天就把这过程给记录下来,方便以后查看,以希望可以帮到还在困惑的朋友们. 第一步:在windows上的安装cwRsyncServer4.1.0以及配置过程: 在windows上下载安装包cwRsyncServer4.rar,这个不多解析,大家都懂,要是在

20个Linux服务器性能调优技巧

Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式进程,响应时间并不是那么重要,相反,能够长时间处理高负载才是最关键的. Linux高可用服务器集群解决方案让IT系统管理员可以从容应对许多常见的硬件和软件故障,允许多台计算机一起工作,为关键服务正常运行提供保障,系统管理员可以不中断服务执行维护和升级.Linux服务器有各种用途