7

Linux 应急响应

 2 years ago
source link: https://blog.51cto.com/cw666/5279438
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Linux 应急响应

原创

车鱼子沐 2022-05-07 14:03:04 博主文章分类:网络安全 ©著作权

文章标签 父进程 mysql centos 文章分类 安全技术 网络/安全 阅读数160

查询特权用户特权用户(uid 为0)

awk -F: ‘$3==0{print $1}’ /etc/passwd

查找远程可以登录的账户

awk ‘/$1|$5|$6/{print $1}’ /etc/shadow

  • $1:MD5(长度 22个字符)
  • $5:SHA-256(长度 43 个字符)
  • $6:SHA-512(长度86 个字符)
检查sudo权限
cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL"

删除或锁定账号

通过上面的步骤可以找到可疑的账号

usermod -L root #禁用帐号,帐号无法登录
userdel root   #删除user用户

userdel -r root #将删除root用户,并且将/home目录下的root目录一并删除
查看当前登录系统的信息
who    #查看当前登录用户(tty本地登陆  pts远程登录)
w      #查看系统信息,想知道某一时刻用户的行为
uptime #查看登陆多久、多少用户,负载
检查异常端口

使用netstat 网络连接命令,分析可疑端口、IP、PID等信息。

netstat -tunlp | less 
使用ps命令检查可疑的进程
ps -ef
ls -al /proc/pid号/exe         查看异常进程对应文件  
stat 对应文件                   查看文件的时间信息
查看隐藏进程
ps查看进程:ps -ef | awk '{ print $2}' |sort -n |uniq > ps.p
proc目录进程文件:ls /proc | sort -n | uniq > proc.p
对比两个文件找出不同的Pid:diff ps.p  proc.p  -y            #-y 是并排格式输出
查看子进程和父进程三种方法:例如子进程为64263
  1、ps -ef | grep 64263    第三列为父进程
  2、pstree -aps 64263
   systemd,1 --system --deserialize 20
   └─nginx,64261
      └─nginx,64263
  3、cat /proc/64263/status    看PPID(父进程)
查超系统中占用资源最高的资源
top 发现异常进一步检查

ps eho command -p $PID  #查看该进程启动的完整命令行
readlink /proc/$PID/cwd #查看该进程启动时候所在的目录

ls -l /proc/$PID/exe   #查看下pid所对应的进程文件路径

strings -f /proc/$PID/environ | cut -f2 -d '' #查看该进程启动时的完整环境变量:

lsof -p $PID #列出该进程所打开的所有文件



检查系统服务

Linux系统服务管理,CentOS7使用systemd控制 CentOS6之前使用chkconfig控制。查看正在运行的服务

service --status-all | grep running

检查开机自启的服务

对于systemd服务管理器来说,可以通过下述方式查看开机自启的服务

systemctl list-unit-files --type=service | grep “enabled”

chkconfig就是CentOS6以前用来控制系统服务的工具,查看服务自启动状态

chkconfig --list | grep “3:on|5:on”

检查启动项脚本

命令查看下开机启动项中是否有异常的启动服务。

cat /etc/rc.local

chkconfig --list   命令查看自启动服务

systemctl list-unit-files 
检查计划任务

利用计划任务进行权限维持,可作为一种持久性机制被入侵者利用。检查异常的计划任务,需要重点关注以下目录中是否存在恶意脚本。


/var/spool/cron/*
/etc/crontab           #对所有用户生效
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*

/etc/cron.monthly/*

/etc/cron.weekly/

/etc/anacrontab

/var/spool/anacron/*
检查系统的异常文件

查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以.为名的文件夹具有隐藏属性

ls -al

查找1天以内被访问过的文件

find /opt -iname “*” -atime 1 -type f
-iname不区分大小写,-atime最近一次被访问的时间,-type文件类型

检查历史命令
  1. 查看被入侵后,在系统上执行过哪些命令,使用root用户登录系统,检查/home目录下的用户主目录的.bash_history文件
  2. 默认情况下,系统可以保存1000条的历史命令,并不记录命令执行的时间,根据需要进行安全加固。
检查系统日志

在Linux上一般跟系统相关的日志默认都会放到/var/log下面,
若是一旦出现问题,用户就可以通过查看日志来迅速定位,

/var/log/btmp
记录错误登录日志,这个文件是二进制文件,不能用vi直接查看,可以用lastb看

/var/log/lastlog
记录系统中所有用户最后一次成功登录系统的时间,这是一个二进制文件,不能用vi查看,可以用lastlog查看 

/var/log/wtmp
永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。
同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看。

/var/log/utmp
记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化
只记录当前登录用户的信息。
同样这个文件不能直接vi, 而要使用w,who,users等命令来查询。

/var/log/secure
记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录
比如SSH登录,su切换用户,sudo授权, 甚至添加用户和修改用户密码都会记录在这个日志文件中

/var/log/cron      记录了系统定时任务日志
/var/log/dmesg     记录了系统在开机时内核自检信息
/var/log/message   记录系统重要信息日志
/var/log/mailog    记录邮件信息
web日志分析工具

工具:比如360星图

数据库日志

在数据泄漏方面,mysql或者其他数据库的日志就非常重要了,首先查看mysql配置文件配置了哪几种日志记录,如bin log,query log慢查询日志,慢查询日志要在超过特定阀值,才会触发

登陆mysql执行,查看是否开启日志记录

show variables like ‘%general%’;
show variables like ‘slow_query%’;

查看相关的日志

Mysql慢查询日志分析工具mysqldumpslow,使用方法如下

 https://blog.csdn.net/weixin_34681072/article/details/113160046

查找登录系统失败的20个账号

lastb | awk ‘{print $1}’ | sort | uniq -c | sort -nr | head -n 20

查看哪些IP在爆破

grep “Failed password” /var/log/secure|grep -E -o “(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)”|uniq -c

查看哪些IP登录成功了

grep “Accepted” /var/log/secure | awk ‘{print $11}’ | sort | uniq -c | sort -nr | more

登录成功的日期,用户名,IP

gerp “Accepted” /var/log/secure | awk ‘{print $1,$2,$3,$9,$11}’

Linux 应急响应_父进程


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK