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

目录

排查思路

深入分析,查找入侵原因

检查恶意进程及非法端口

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

检查第三方软件漏洞

Part2运行进程排查

Part3端口开放检查

Part4检查主机服务

Part5检查历史命令

Part6查看计划任务

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

Part8扫描主机驱动程序

Part10日志排查

Part11登陆排查

Part12启动项排查


排查思路

深入分析,查找入侵原因

检查隐藏帐户及弱口令

使用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

渗透测试基础 - - - linux入侵排查_第1张图片

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

渗透测试基础 - - - linux入侵排查_第2张图片

· 参数含义:

· USER //用户名

· %CPU //进程占用的CPU百分比

· %MEM //占用内存的百分比

· VSZ //该进程使用的虚拟內存量(KB)

· RSS //该进程占用的固定內存量(KB)(驻留中页的数量)

· STAT //进程的状态

· START //该进程被触发启动时间

· TIME //该进程实际使用CPU运行的时间

· top (动态查看进程)

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

渗透测试基础 - - - linux入侵排查_第3张图片

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

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

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

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

Part3端口开放检查

netstat -antpl(查看开放端口)

渗透测试基础 - - - linux入侵排查_第4张图片

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

· lsof -i(查看正在进行的网络连接)

· 渗透测试基础 - - - linux入侵排查_第5张图片

· lsof -p [pid]查看进程PID打开的文件

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

· lsof -i:[端口号]查看该端口对应的进程

· fuser -n tcp [端口号]查看该端口对应的进程pid

Part4检查主机服务

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

渗透测试基础 - - - linux入侵排查_第6张图片

Part5检查历史命令

· history

渗透测试基础 - - - linux入侵排查_第7张图片

· 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

渗透测试基础 - - - linux入侵排查_第8张图片

Part8扫描主机驱动程序

· lsmod

渗透测试基础 - - - linux入侵排查_第9张图片

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 (查看登录成功的用户)

渗透测试基础 - - - linux入侵排查_第10张图片

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

 · lastlog (查看所有用户最近登录的时间)渗透测试基础 - - - linux入侵排查_第11张图片· cat /etc/passwd(查看用户信息)

 渗透测试基础 - - - linux入侵排查_第12张图片

排查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

你可能感兴趣的:(网安,1024程序员节)