渗透测试基础 - - - linux入侵排查

举报
yd_217360808 发表于 2022/10/24 14:55:38 2022/10/24
【摘要】 本文主要讲述了linxu中如果遭遇网络攻击的排查步骤及其详细的使用方法。

排查思路

深入分析,查找入侵原因

检查隐藏帐户及弱口令

使用last命令查看下服务器近期登录的帐户记录,确认是否有可疑 IP 登录过机器

通过less /var/log/secure|grep 'Accepted'命令,查看是否有可疑 IP 成功登录机器

检查系统是否采用 默认管理端口

检查/etc/passwd文件,看是否有非授权帐户登录

检查恶意进程及非法端口

运行netstat -antp,查看服务器是否有未被授权的端口被监听,查看下对应的 pid

使用ps -eftop命令查看是否有异常进程

检查恶意程序和可疑启动项

使用chkconfig --listcat /etc/rc.local命令,查看开机启动项中是否有异常的启动服务

进入 cron 文件目录,查看是否存在非法定时任务脚本

检查第三方软件漏洞

如果您服务器内有运行 Web、数据库等应用服务,请您限制应用程序帐户对文件系统的写权限,同时尽量使用非 root 帐户运行

升级修复应用程序漏洞

 

Part1熟悉主机环境

首先,先对排查主机的基本信息有一个了解。

  • uname -a
  • cat /proc/version
  • lsb_release -a

 

Part2运行进程排查

首先熟悉一下ps命令的参数:

  • ps [选项]

-e 显示所有进程。

  • -f 全格式。
  • -h 不显示标题。
  • -l 长格式。
  • -w 宽输出。
  • a 显示终端上的所有进程,包括其他用户的进程。
  • r 只显示正在运行的进程。
  • u 以用户为主的格式来显示程序状况。
  • x 显示所有程序,不以终端机来区分。·
  • 参数含义:
  • 1.UID 用户ID
  • 2.PID 进程ID
  • 3.PPID 父进程ID
  • 4.C CPU占用率
  • 5.STIME 开始时间
  • 6.TTY 开始此进程的TTY----终端设备
  • 7.TIME 此进程运行的总时间
  • 8.CMD 命令名
  • ps aux

 

  • 参数含义:
  • USER //用户名
  • %CPU //进程占用的CPU百分比
  • %MEM //占用内存的百分比
  • VSZ //该进程使用的虚拟內存量(KB)
  • RSS //该进程占用的固定內存量(KB)(驻留中页的数量)
  • STAT //进程的状态
  • START //该进程被触发启动时间
  • TIME //该进程实际使用CPU运行的时间
  • top (动态查看进程)

pstree(树形结构显示进程之间的关系

 

通过进程运行的命令、资源占用、位置等来查找可疑进程。查找到可以进程后可以使用ll /proc/[进程pid]来获取进程运行的路径。

查找到可以进程后可以使用kill -9 [进程pid]来杀死进程。

ps -p [pid] -o lstart(查看进程开放的时间

  • pstree -h [pid] -p -a 查看某个pid的进程树

Part3端口开放检查

netstat -antpl(查看开放端口)

 

可以通过判断开放的异常端口来进行排查,或通过state字段来判断有没有端口进行网络连接。

  • lsof -i(查看正在进行的网络连接)
  • lsof -p [pid]查看进程PID打开的文件

lsof -c [进程名]查看该进程打开的文件

  • lsof -i:[端口号]查看该端口对应的进程
  • fuser -n tcp [端口号]查看该端口对应的进程pid

Part4检查主机服务

service --status-all(枚举主机的所有服务)

 

Part5检查历史命令

  • history

 

  • cat ~/.bash_history

Part6查看计划任务

  • crontab -l

 

  • cat /etc/anacrontab 查看异步定时任务
  • more /var/log/cron 查看计划任务日志
  • more /var/spool/cron/*

Part7查看制定文件夹七天内被修改过的文件

  • find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime +7 | xargs ls -alh

 

Part8扫描主机驱动程序

  • lsmod

 

Part9查看攻击者是否在authorized_keys添加ssh私钥

  • ll ~/.ssh
  • cat ~/.ssh/root/authorized_keys

Part10日志排查

  • /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 记录登录系统不成功的账号信息,一般会被黑客删除 如果开启了一些服务,也需要对服务运行的日志进行排查

Part11登陆排查

  • who (查看当前登录的用户)

 

  • w(显示已登陆的用户,且在执行的命令)

 

  • last (查看登录成功的用户)

 

  • lastb(查看最近登录失败的用户)

 

  • lastlog (查看所有用户最近登录的时间)

 

  • cat /etc/passwd(查看用户信息)

 

排查passwd时,注意查看可登录shell的用户,即:shell为/bin/bash

  • awk -F: '$3==0{print $1}' /etc/passwd #查看超级用户(uid=0)

 

Part12启动项排查

  • chkconfig --list 列出所有开机启动项
  • 主要排查的启动项有:
  • /etc/rc.d/rc
  • /etc/rc
  • /etc/rc.local
  • /etc/rc.d/rc.local
  • /etc/rc.d/rc
  • /etc/init/*.conf
  • /etc/rc$runlevel.d/
  • /etc/profile
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。