linux系统安全应急响应
目录
- 前言
- 应急响应流程
- 识别现象
- 清除病毒
- 闭环兜底
- 系统加固
~~~~~~~~ 因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ————玛丽亚·杜埃尼亚斯
前言
在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系统安全应急响应相关推荐
- linux系统 键盘不响应 远程登录,USB键盘(HID)在linux中没有响应但在grub中没有响应...
我想要使用的外部USB键盘被识别为USB HID设备,但在Linux启动时它不起作用.它在插入Windows桌面时确实有效,并且在grub中可以正常工作,但在系统启动时却无法工作. 设备在USB端 ...
- Windows系统入侵排查与应急响应技术
文章目录 前言 入侵排查 系统账户排查 进程端口排查 启动项的排查 计划服务排查 系统信息排查 日志信息排查 应急工具 总结 前言 前面一篇文章:浅析Linux系统入侵排查与应急响应技术 介绍了 Li ...
- 应急响应“小迪安全课堂笔记”web,系统,数据库三方应用
应急响应 应急响应初识 WEB 攻击应急响应朔源-后门,日志 WIN 系统攻击应急响应朔源-后门,日志,流量 应急响应-WEB 分析 php&javaweb&自动化工具 应急响应流程 ...
- 应急响应 - Webshell 处理 15
目录 Webshell概述 Webshell分类 JSP型Webshell脚本 ASP型Webshell脚本 PHP型Webshell脚本 Webshell用途 1.站长工具 2.持续远程控制 3.权 ...
- linux 应急响应 病毒清除 系统加固
概述 Linux环境下处理应急响应事件往往会更加的棘手,因为相比于Windows,Linux没有像Autorun.procexp这样的应急响应利器,也没有统一的应急响应处理流程.所以,这篇文章将会对L ...
- Linux安全事件应急响应排查方法总结
Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...
- 运维基础(15) Linux 应急响应
Linux 环境下处理应急响应事件往往会更加棘手,因为相比于 Windows ,Linux 没有像 Autorun.procexp 这样的应急响应利器,也没有统一的应急响应处理流程. 所以 ,本文将会 ...
- Linux应急响应之挖矿篇
Linux应急响应之挖矿篇 Linux服务器经常受到挖矿木马的骚扰,严重影响服务器的正常使用.那么安全人员遇到这类问题该如何解决呢? 首先了解一下什么是挖矿 每隔一个时间点,比特币系统会在系统节点上生 ...
- 读《Linux应急响应》笔记(未完待续)
今天就想听着音乐,看看书.找到压箱底的<linux应急响应>看一看.还是蛮新的,是2021.7.1的新版. 文章目录 思维导图 挖矿事件 恶意域名 获取异常进程PID 寻找恶意⽂件样本 处 ...
最新文章
- Kafka配置SASL/PLAIN认证
- 如何解决盗版Windows问题
- python入门到精通需要学多久-从Python入门到精通,你只需要在马哥教育待四个月...
- 好朋友简简单单,好情谊清清爽爽,好缘份久久长长
- 第四十一期:一道经典的MySQL面试题,答案出现三次反转
- R之Excel文件读取与程序包的安装调用
- 随想录(epoll的使用)
- SAP License:SAP有限度的多语言支持
- 蒟蒻的HNOI2017滚粗记
- 肯德尔系数怎么分析_2020LPL春季赛3月15日比赛数据的数据分析(Python)
- 晶振讲述工作原理及作用
- 入门级蛋白质结构查看PyMol的使用——PyMol常用命令
- TensorFlow Session 中关于 GPU 的配置项解析 ——转自 慢慢学TensorFlow 微信公众号
- 三星android怎么解锁屏幕旋转,三星S10如何设置打开应用自动旋转屏幕
- Promise学习:基础入门
- Python:开发语言简介
- 一个设计低通巴特沃斯数字滤波器的实例
- [Android Pro] 将你的安卓手机屏幕共享到PC或Mac上
- iOS-OC-自定义融云IM聊天界面,键盘收回去输入工具栏下去
- Spring Cloud Stream核心原理介绍