linux 服务器被攻击,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

完成后做了如下措施

修改了系统账号密码;

修改了sshd端口为2220;

修改nginx用户nologin;

发现系统服务器存在bash严重漏洞 破壳漏洞(Shellshock)并修复;

更新完成后后面没有发现被入侵或者服务器自动宕机现象。

漏洞被利用过程

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

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

Shellshock介绍

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值