linux检测系统是否被入侵(上)

2021-11-12|

入侵者在入侵成功后,往往会留下后门以便再次访问被入侵的系统,而创建系统账号是一种比较常见的后门方式。在做入侵排查的时候,用户配置文件/etc/passwd和密码配置文件/etc/shadow是需要去重点关注的地方。

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

  1. > awk -F: '$3==0{print $1}' /etc/passwd

查找远程可以登录的账户

  1. > awk '/\$1|\$5|\$6/{print $1}' /etc/shadow
  • $1:MD5(长度 22个字符)
  • $5:SHA-256(长度 43 个字符)
  • $6:SHA-512(长度86 个字符)

检查sudo权限

  1. > cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL"

删除或锁定账号

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

  1. > usermod -L rooot #禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
  2. > userdel rooot #删除user用户
  3. > userdel -r rooot #将删除root用户,并且将/home目录下的root目录一并删除

查看当前登录系统的信息

  1. > who #查看当前登录用户(tty本地登陆 pts远程登录)
  2. > w #查看系统信息,想知道某一时刻用户的行为
  3. > uptime #查看登陆多久、多少用户,负载

检查异常端口

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

  1. > netstat -tunlp | less

抓包分析

  1. > tcpdump -c 10 -q //精简模式显示 10个包

使用ps命令检查可疑的进程

  1. > ps -ef

查超系统中占用资源最高的资源

  1. > top

发现异常进一步检查

  1. > ps eho command -p $PID #查看该进程启动的完整命令行
  2. > readlink /proc/$PID/cwd #查看该进程启动时候所在的目录
  3. > ls -l /proc/$PID/exe #查看下pid所对应的进程文件路径
  4. > strings -f /proc/$PID/environ | cut -f2 -d '' #查看该进程启动时的完整环境变量:
  5. > lsof -p $PID #列出该进程所打开的所有文件

检查系统服务

Linux系统服务管理,CentOS7使用systemd控制 CentOS6之前使用chkconfig控制。

检查开机自启的服务

  1. //对于systemd服务管理器来说,可以通过下述方式查看开机自启的服务
  2. > systemctl list-unit-files --type=service | grep "enabled"
  3. //chkconfig就是CentOS6以前用来控制系统服务的工具,查看服务自启动状态
  4. > chkconfig --list | grep "3:on\|5:on"

检查启动项脚本

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

  1. cat /etc/rc.local

检查计划任务

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

  1. /var/spool/cron/*
  2. /etc/crontab
  3. /etc/cron.d/*
  4. /etc/cron.daily/*
  5. /etc/cron.hourly/*
  6. /etc/cron.monthly/*
  7. /etc/cron.weekly/
  8. /etc/anacrontab
  9. /var/spool/anacron/*

标签: 查看 检查 etc 用户 启动 服务 进程 系统 登录 cron
出处: https://rumenz.com/rumenbiji/linux-hacking-1.html

文明发言,请先登录

文明上网理性发言,请遵守国家法律法规。

最新评论

©2003- 黑基网 黑名单存档手机版网站地图免责条款法律声明隐私保护