大家好,这是本人学习的一些笔记,希望可以给让同学们一些参考,顺序不分前后
一、查看开机启动项
启动项:开机系统在前台或者后台运行的程序,伴随开机启动,一般生产服务器很少重启,但是攻击者为了防止被控机器失联,部分木马会添加开机启动项
攻击者可以在开启启动文件下添加下载木马的命令,这样每次开机就会下载木马
/etc/rc.local
/etc/rc.d/rc.local
在/etc/rc.d/init.d文件夹里是可执行文件和脚本
二、查看开机启动的服务:
systemctl list-unit-files
disabled(开机禁用)、enabled(开机启用)
查看服务状态: systemctl status 服务名称
开启服务:systemctl start 服务名称
停止服务: systemctl stop 服务名称
重启服务:systemctl restart 服务名称
设置开机启动: systemctl enable 服务名称
设置开机禁用: systemctl disable 服务名称
查看服务单元信息: systemctl list-units
查看服务的依赖关系: systemctl list-dependencies sshd (比如查看sshd服务关联的服务)
查看命令帮助手册;systemctl --help
三、环境变量配置文件
/etc/profile 、/etc/bash.bashrc 、 /etc/bash.bashrc 、~/.bashrc 、~/.bash_profile
四、资源占用
虚拟资源占用都是通过进程的。 进程是系统(linux)当前正在处理的任务,当运行某个软件时为其创建一个进程
查看进程: sudo ps -efcaux #查看所有进程
查找进程文件的位置:
sudo lsof -p PID 根据进程的PID查找木马文件
五、排查CPU
CPU也称为中央处理器、主处理器或单处理器,是执行计算机指令的关键部件,某服务器突然有一个进程占用的CPU远超平时,那么可能被植入了挖矿病毒
top 查看实时CPU占有率
百分之百的是应该就是病毒,然后根据pid定位进程的文件
六、查看网络带宽
(分为上行和下行,上行是上传数据文件,下行是下载数据文件)
下载iftop查看网络流量
七、查看网络连接
使用 netstat -antup 命令
netstat命令是查询网络连接的,
netstat -ano 显示所有连接和监听端口并显示每个连接相关的进程ID
关闭进程:sudo kill -9 PID号
这里注意一下,关停服务后是否会 复活,如果恶意进程被kill掉后重新启动,那么其他地方会有自启动方法,继续排查守护进程、定时任务、系统配置、服务和系统文件
拓展知识:网络状态的分类
state | 状态 |
LISTENING | 监听中,服务端需要打开一个socket进行监听,侦听来自远方TCP端口的连接请求 |
ESTABLISHED | 已连接,代表一个打开的连接,双方可以进行或已经在数据交互了 |
SYN_SENT | 客户端通过应用程序调用connect发送一个SYN以请求建立一个连接。在收到ACK后,状态转为ESTABLIHSED。 |
CLOSE_WAIT | 被动关闭端接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序) |
TIME_WAIT | 主动关闭端接收到FIN后,TCP就发送ACK包,并进入TIME-WAIT状态 |
LAST_ACK | 等待对方回应一个ACK(这是准备关闭连接的一个步骤,意味着这个连接正在关闭) |
八、威胁情报
威胁情报是识别和分析网络威胁的过程,威胁情报平台可以查出一些域名和ip地址的信誉度,一旦发现他们存在网络攻击痕迹迅速封禁
当你分析一个文件,发现他存在反连ip,但是ip没有被标记,你就是第一个发现它的人了
如何确定存在反连呢,用沙箱,第二个是分析木马的沙箱,听说比较好用。(微步沙箱什么的都行)
九、SSH连接后门:
比如当一台连接互联网或者可以横向的内网主机被攻陷,攻击者可以使用ssh连接建立的用户(后门)
1.账户密码:users cat /etc/passwd
结尾的shell登陆方式:
/bin/bash 账户可登录,登陆后使用/bin/bash 解释脚本
/bin/false 不可登录,不会有提示
/usr/sbin/nologin 不可登录,拒绝用户登录
2.ssh密钥纂改(这里没有详细说明,可自行查找相关材料)
十、定时任务:
查看定时任务:crontab -l
定时任务计划命令,下面是创建任务后保存的路径
/etc/crontab 调度管理维护任务
/var/spool/cron 目录里的任务以用户命名
/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本
下面这些也是检查对象:
/etc/cron.hourly/ 每小时执行一次
/et/cron.daily/ 每天执行一次
/etc/cron.weekly/ 每周执行一次
/etc/cron.monthly/ 每月执行一次
下面的文件是一个防护手段,可以创建定时任务的黑白名单
十一、系统日志排查:
inux系统日志一般在/var/log/下
/var/log/wtmp:记录登录进入、退出、数据交换、关机和重启,及last
/var/log/cron:记录与定时任务相关的日志信息;
/var/log/secure 所有和安全、认证授权等日志都会记录到此文件
/var/log/maillog 邮件服务日志
/var/log/boot.log 系统启动相关日志
/var/log/message:记录系统启动后的信息和错误日志(绝大多数的系统日志);
/var/log/apache2/access.log:记录apache的访问日志;
/var/log/auth.log:记录系统授权信息,包括用户登录和使用的权限机制等;
其它日志
除了windows、linux系统日志分析外,还有Web日志、中间件日志、数据库日志、FTP日志等进行分析