目录

  • 前言
  • 应急响应流程
    • 识别现象
    • 清除病毒
    • 闭环兜底
    • 系统加固

~~~~~~~~         因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。 ​​​​
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                 ————玛丽亚·杜埃尼亚斯

前言

在linux环境下处理应急响应事件往往会比较棘手,因为相对于windows,linux没有像autorun、procexp这样的应急响应利器,也没有统一的应急响应处理流程。
linux可能出现的入侵情况及现象
1、存在非法外联占用带宽
2、存在异常进程或者异常端口
3、CPU、内存报警
4、服务器无法正常连接
5、出现异常登录和异常账号
6、网站被注入木马、webshell

应急响应流程

处理linux应急响应主要分为4个环节:识别现象-> 清除病毒-> 闭环兜底-> 系统加固
首先从客户场景的主机异常现象出发
[1]先识别出病毒的可疑现象。
[2]然后定位到具体的病毒进程以及病毒文件,进行清除。
[3]完成前2步还不够,病毒一般会通过一些自启动项及守护程序进行重复感染,所以我们要执行闭环兜底确保病毒不再被创建。
[4]将主机上的病毒项清除干净后,最后就是进行系统加固了,防止病毒从Web再次入侵进来。

识别现象

这个环节要求我们通过系统的运行状态,安全设备告警,发现主机异常现象,以及确认病毒的可疑行为。
当我们登录主机后做的第一件事就应该先用history查看主机的历史命令。
排查用户相关信息

whoami       #查看当前用户
who          #查看当前登录系统的所有用户
w            #显示已经登陆系统的用户列表,并显示用户正在执行的指令
users        #显示当前登录系统的所有用户的用户列表
last         #查看最近登录成功的用户及信息,查看的是 /var/log/wtmp 文件
lastb        #查看最近登录失败的用户及信息,查看的是 /var/log/btmp 文件
lastlog      #显示系统中所有用户最近一次登录信息,读取的是 /var/log/lastlog 文件
cat  /etc/passwd                        #查看用户信息
cat /home/"用户名".bash_history          #查看普通账号的历史命令
cat  /etc/passwd | grep /bin/bash       #查看可以登录系统的用户
awk -F: '$3==0{print $1}' /etc/passwd   #查看超级用户(uid=0),有些黑客将普通用户的uid改为0,则该普通用户也拥有了超级权限
awk '/\$1|\$6/{print $1}' /etc/shadow   #查看可以远程登录的用户
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"  #查看拥有sudo权限的用户

举例说明一下,lastb查看一下最近登录失败的用户信息

last查看一下最近有哪些用户登录成功

排查进程端口相关信息

top                          #动态查看进程
ps -aux                      #查看占用内存和CPU较高的PID和实际的指令位置
ls -l /proc/18176/exe        #查看PID为18176的进程的可执行程序
ls -l /etc/init.d            #查看启动项
lsof -p 18176                #查看PID为18176的进程打开的文件
lsof -c sshd                 #查看进程sshd打开的文件
lsof -i:33946                #查看33946端口对应的一些进程
ps -p PID -o lstart          #查看进程的启动时间点
netstat -pantu | grep 18176  #查看端口连接情况,过滤含有18176的行,就可以查看连接的端口
fuser -n tcp 33946           #查看33946端口对应的进程PID
ps aux  /  ps -ef            #静态查看进程
pstree  -h pid -p -a         #查看某个进程的进程树
ps aux --sort -pcpu          #静态查看进程,根据cpu使用情况排行,从高到低
ps aux --sort -pmem          #静态查看进程,根据内存使用情况排行,从高到低

举例说明一下比如top,如果cpu占用率超过70%且名字可疑,大概率是中了挖矿病毒了。

ps -aux 看下是否有可疑进程 ,当你看见命令行中带有url等奇怪的字符串时候,它很有可能就是个病毒downloader。

清除病毒

通过第一个环节中的各项现象的排查,可以帮助我们定位到病毒进程和病毒文件。到这一步,我们就需要将其杀死。

清除可疑进程的进程链,结束病毒进程

ps -elf | grep [pid]
kill -9 [pid]

定位病毒进程对应的文件路径,删除病毒文件

ls -al /proc/[pid]/exe
rm -f [exe_path]

闭环兜底

当我们发现,杀掉了恶意进程后,过一段时间,该进程又会重新启动,则说明该进程有守护进程。则我们第一想到了就是crontab定时任务了。
检查是否存在可疑定时任务

crontab -l            #查看定时任务
more   /var/log/cron  #查看定时日志文件
cat /etc/anacrontab   #查看anacrontab异步定时任务

枚举主机所有服务,查看是否有恶意服务

service --status-all

枚举系统文件夹的文件,按修改事件排序查看7天内被修改过的文件

find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime +7 | xargs ls -la

检查是否存在病毒守护进程

lsof -p [pid]

跟踪进程运行情况

strace -tt  -T -e  trace=all  -p $pid

扫描是否存在恶意驱动

lsmod

查看authorized_keys是否有攻击者上传的ssh私钥

ls -l  /etc/.ssh

安装chkrootkit 进行扫描:

wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar zxvf chkrootkit.tar.gz
cd chkrootkit-0.52
make sense
./chkrootkit

安装rkhunter 进行扫描:

Wget https://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gz
tar -zxvf rkhunter-1.4.4.tar.gz
cd rkhunter-1.4.4
./installer.sh --install
rkhunter -c

系统加固

最后一个环节也是非常重要的,我要通过此次的分析,知道黑客是如何入侵主机的,进而修复该漏洞,防止黑客再次入侵。
查看 /var/log/secure文件

cat /var/log/secure* | grep Accepted   #查看登录成功的记录
cat /var/log/secure* | grep Failed     #查看登录失败的记录
grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'  #查看登录成功的日期、用户名及ip
grep "Failed password for root" /var/log/secure | awk '{print $11}'  #查看有哪些ip在爆破主机的root账号
grep "Failed password" /var/log/secure | awk {'print $9'} | sort | uniq -c | sort -nr  #查看爆破用户名字典

日志分析

/var/log/message              包括整体系统信息
/var/log/auth.log             包含系统授权信息,包括用户登录和使用的权限机制等
/var/log/userlog              记录所有等级用户信息的日志
/var/log/cron                 记录crontab命令是否被正确的执行
/var/log/xferlog(vsftpd.log)  记录Linux FTP日志
/var/log/lastlog              记录登录的用户,可以使用命令lastlog查看
/var/log/secure               记录大多数应用输入的账号与密码,登录成功与否
/var/log/wtmp                 记录登录系统成功的账户信息,等同于命令last
/var/log/faillog              记录登录系统不成功的账号信息,一般会被黑客删除

linux平台下的恶意软件威胁以僵尸网络蠕虫和挖矿病毒为主,大多作为服务器暴露在公网,web应用漏洞多。通常包括redis未授权漏洞入侵、ssh弱口令暴力破解、web程序漏洞入侵等。我们要养成不使用弱密码,勤打补丁的好习惯。

linux系统安全应急响应相关推荐

  1. linux系统 键盘不响应 远程登录,USB键盘(HID)在linux中没有响应但在grub中没有响应...

    我想要使​​用的外部USB键盘被识别为USB HID设备,但在Linux启动时它不起作用.它在插入Windows桌面时确实有效,并且在grub中可以正常工作,但在系统启动时却无法工作. 设备在USB端 ...

  2. Windows系统入侵排查与应急响应技术

    文章目录 前言 入侵排查 系统账户排查 进程端口排查 启动项的排查 计划服务排查 系统信息排查 日志信息排查 应急工具 总结 前言 前面一篇文章:浅析Linux系统入侵排查与应急响应技术 介绍了 Li ...

  3. 应急响应“小迪安全课堂笔记”web,系统,数据库三方应用

    应急响应 应急响应初识 WEB 攻击应急响应朔源-后门,日志 WIN 系统攻击应急响应朔源-后门,日志,流量 应急响应-WEB 分析 php&javaweb&自动化工具 应急响应流程 ...

  4. 应急响应 - Webshell 处理 15

    目录 Webshell概述 Webshell分类 JSP型Webshell脚本 ASP型Webshell脚本 PHP型Webshell脚本 Webshell用途 1.站长工具 2.持续远程控制 3.权 ...

  5. linux 应急响应 病毒清除 系统加固

    概述 Linux环境下处理应急响应事件往往会更加的棘手,因为相比于Windows,Linux没有像Autorun.procexp这样的应急响应利器,也没有统一的应急响应处理流程.所以,这篇文章将会对L ...

  6. Linux安全事件应急响应排查方法总结

    Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...

  7. 运维基础(15) Linux 应急响应

    Linux 环境下处理应急响应事件往往会更加棘手,因为相比于 Windows ,Linux 没有像 Autorun.procexp 这样的应急响应利器,也没有统一的应急响应处理流程. 所以 ,本文将会 ...

  8. Linux应急响应之挖矿篇

    Linux应急响应之挖矿篇 Linux服务器经常受到挖矿木马的骚扰,严重影响服务器的正常使用.那么安全人员遇到这类问题该如何解决呢? 首先了解一下什么是挖矿 每隔一个时间点,比特币系统会在系统节点上生 ...

  9. 读《Linux应急响应》笔记(未完待续)

    今天就想听着音乐,看看书.找到压箱底的<linux应急响应>看一看.还是蛮新的,是2021.7.1的新版. 文章目录 思维导图 挖矿事件 恶意域名 获取异常进程PID 寻找恶意⽂件样本 处 ...

最新文章

  1. Kafka配置SASL/PLAIN认证
  2. 如何解决盗版Windows问题
  3. python入门到精通需要学多久-从Python入门到精通,你只需要在马哥教育待四个月...
  4. 好朋友简简单单,好情谊清清爽爽,好缘份久久长长
  5. 第四十一期:一道经典的MySQL面试题,答案出现三次反转
  6. R之Excel文件读取与程序包的安装调用
  7. 随想录(epoll的使用)
  8. SAP License:SAP有限度的多语言支持
  9. 蒟蒻的HNOI2017滚粗记
  10. 肯德尔系数怎么分析_2020LPL春季赛3月15日比赛数据的数据分析(Python)
  11. 晶振讲述工作原理及作用
  12. 入门级蛋白质结构查看PyMol的使用——PyMol常用命令
  13. TensorFlow Session 中关于 GPU 的配置项解析 ——转自 慢慢学TensorFlow 微信公众号
  14. 三星android怎么解锁屏幕旋转,三星S10如何设置打开应用自动旋转屏幕
  15. Promise学习:基础入门
  16. Python:开发语言简介
  17. 一个设计低通巴特沃斯数字滤波器的实例
  18. [Android Pro] 将你的安卓手机屏幕共享到PC或Mac上
  19. iOS-OC-自定义融云IM聊天界面,键盘收回去输入工具栏下去
  20. Spring Cloud Stream核心原理介绍

热门文章

  1. 小程序 初始化 登录 流程
  2. tabar被手机虚拟键挡住_bug_ _Popwindow被魅族手机自带虚拟键挡住完美解决
  3. 问题 L: 鸭子唱歌
  4. JS与Android的交互
  5. reddit_Reddit如何设计和编码其详尽的愚人节体验,/ r / place
  6. html 斜线表头,HTML 斜线 表头
  7. 使用Selenium控制已打开的浏览器和网页
  8. IE6中常见兼容性问题及浏览器显示难题
  9. c#取消word修订痕迹_C# 插入、修改、删除Word批注
  10. 移动应用的黑盒测试(1)