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


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

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

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

    查找远程可以登录的账户

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

    检查sudo权限

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

    删除或锁定账号

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

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

    查看当前登录系统的信息

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

    检查异常端口

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

    > netstat -tunlp | less
    
    • 1

    抓包分析

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

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

    > ps -ef
    
    • 1

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

    > top
    
    • 1

    发现异常进一步检查

    > 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 #列出该进程所打开的所有文件
    
    • 1
    • 2
    • 3
    • 4
    • 5

    检查系统服务

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

    检查开机自启的服务

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

    检查启动项脚本

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

    > cat /etc/rc.local
    
    • 1

    检查计划任务

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

    
    /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/*
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    原文链接:https://rumenz.com/rumenbiji/linux-hacking-1.html
    微信公众号:入门小站

    • 回复【1001】获取 linux常用命令速查手册
    • 回复【10010】获取 阿里云ECS运维Linux系统诊断
    • 回复【10012】获取 Linux学习笔记【强悍总结值得一看】
    • 回复【10013】获取 shell简明教程

  • 相关阅读:
    Fiddler和Proxifier的配合使用抓取window应用的所有包
    使用pocsuite3模块编写poc脚本
    一个基于Quartz.Net开发的Windows版本的进程监控
    科学家绘制全球140多万个湖泊和水库的水下地形图
    用lombok插件,驼峰属性第一个是一个字母的,属性没有接收到值,使用@JsonProperty解决(工作遇到的坑)
    Linux 多线程 ( 多线程概念 )
    如何在PostgreSQL中使用CTE(公共表表达式)来简化复杂的查询逻辑?
    力扣练习——51 搜索二维矩阵
    Nginx架构详解
    1688API接口接入|阿里1688-B类电商基础链路专业化体验升级
  • 原文地址:https://blog.csdn.net/weixin_37335761/article/details/125491473