banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、咖啡、游戏(MMORPG、FPS、Minecraft、Warframe) 兴趣方向:Rust、区块链、网络安全、量子信息(量子计算)、游戏设计与开发
bilibili
steam
email
github

Linux应急响应

应急响应概述#

当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。
常见的应急响应事件分类:
web 入侵:网页挂马、主页篡改、Webshell
系统入侵:病毒木马、勒索软件、远控后门
网络攻击攻击、DNS 劫持、ARP 欺骗。

基础信息获取#

这部分基础信息获取都是使用 linux 自身命令或者工具即可实现。这部分包括系统信息获取、网络信息获取、进程信息获取、用户信息获取、服务信息获取、文件信息获取、文件权限信息获取、SUID 信息获取、当前用户登录信息获取、系统命令信息获取。

系统信息获取#

uname -a 获得当前系统内核版本
ifconfig 获取相关网络信息
netstat -napt 查看当前端口开放情况
lsof -i 显示进程和端口的对应关系 (Linux)
netstat -an |grep tcp 查看所有 tcp 链接包括 Listen 状态
netstat -an |grep syn 查看所有 tcp 链接包括 Listen 状态
top -c 快速查看进程命令
ps -aux 查看进程的关联
a:显示终端机下的所有程序,包括其他用户的程序
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分
pstree 直观展现子进程与父进程之间的关系
cat /proc/ 进程 id/maps 可查看该进程下关联的一些相关文件如 so 等
lsof -p 21269 (PID) 查看进程占用信息

用户信息获取#

cat /etc/passwd 检查是否存在异常用户
awk -F : '$3==0 {print}' /etc/passwd 查看 uid 为 0 的用户
more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)" 查看拥有 sudo 权限的账号
awk '/$1|$6/{print $1}' /etc/shadow 查看可以远程登录的账号信息
通过命令行在 root 权限下检查 home 文件夹下东西,一般新建用户会在 home 文件夹下创建一个与用户名相同的文件夹名字。

服务信息获取#

Linux 系统下各服务的启动脚本存放在 /etc/init.d/ 和 /etc/xinetd.d 目录,可以检查一下这些目录下的脚本是否存在异常。
另外还需要检查一下定时任务,crontab -1 可检测当前用户的定时任务,crontab-u 用户名 - 1 可检查对应用户名的定时任务。

文件信息获取#

根据文件名特征查找文件:grep -rni "www" *
按文件大小查找:find /-size 114k (文件大小)
按创建时间查找:find ./-mtime 0 #查找一天内修改的文件

简单介绍一下参数:
-ctime -n 查找距现在 n24H 内修改过的文件
-ctime n 查找距现在 n
24H 前, (n+1)*24H 内修改过的文件
-ctime +n 查找距现在 (n+1)*24H 前修改过的文件
[alclm] min [最后访问 | 最后状态修改 | 最后内容修改] min
[alc|m] time [最后访问 | 最后状态修改 | 最后内容修改] time

简单介绍一下参数:
Linux 文件的几种时间 (以 find 为例):
atime 最后一次访问时间,如 ls, more 等,但 chmod,chown,ls,stat 等不会修改些时间,使用 ls -utl 可以按此时间顺序查看;
ctime 最后一次状态修改时间,如 chmod,chown 等状态时间改变但修改时间不会改变,使用 stat file 可以查看;
mtime 最后一次内容修改时间,如 vi 保存后等,修改时间发生改变的话,atime 和 ctime 也相应跟着发生改变.

文件权限信息获取#

/etc/passwd 默认权限为 644,其最小权限为 444,首先应对该文件权限进行检查,以确认配置是否正确:
ls -l /etc/passwd
shadow 默认权限为 600,最小权限为 400,检查权限配置是否正确:
ls -l /etc/shadow

当前用户登录信息获取#

image.png
简单普及一下这几个字段的意思:
1.USER 字段显示当前登录系统的用户名
2.TTY 字段显示分配给用户会话的终端。ttyX 表示在控制台登录,pts/X 和 ttypX 表示网络连接
3.FROM 字段显示远程登录主机的 IP 地址
4. LOGIN@字段显示登录用户的本地起始时间
5. IDLE 字段显示最近一个进程运行开始算起的时间长度
6. JCPU 字段显示在该控制台或网络连接的全部进程所用的时间
7. PCPU 字段显示 WHAT 栏中当前进程所使用的处理器时间
8. WHAT 字段显示用户正在运行的进程

系统命令信息获取#

有些情况下系统命令是否正确。病毒木马可能会伪装成系统命令,因此这里需要确认一下原先的
ls -alt /usr/bin/ | head -n 10
image.png
通过. bash_history 查看帐号执行过的系统命令
1、root 的历史命令
history
2、打开 /home 各帐号目录下的.bash_history,查看普通帐号的历史命令为历史的命令增加登录的 IP 地址、执行命令时间等信息:
1)保存 1 万条命令
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile

Linux 日志分析#

重要文件
/var/log/wtmp
/var/log/utmp
/var/log/lastlog—— 日志子系统的关键文件,记录了用户登录的情况,都包含时间戳
/var/run/wtmp 永久记录了每个用户登录、注销、及系统启动
var/run/utmp 记录有关当前登录的每个用户信息。会随着用户登录和注销系统而变化
var/log/lastlog 记录最近成功登录的事件和最后一次不成功的登录事件由 log 生成,为二进制文件,需要用 lastlog 命令查看。如果某用户从来没有登录过,就显示为”。Neverloggedin” 系统账户诸如 bin、 daemon、adm、uucp、 mail 等决不应该登录,如果发现这些账户已经登录,就说明系统可能已经被入侵了。

以下是一些常用的日志 messages 日志
RedHat 的 messages 日志位置为 /var/log/messages, messages 中记录有运行信息和认证信息,对于追查恶意用户的登录行为有很大帮助,例如,下面即为一条 su 日志:
Mar 22 11:11:34 abc PAM_pwdb[999] failure;cross(uid=500)->root for su service
cron 日志
RedHat 的 cron 日志默认记录在 /var/log/cron 中,主要用来记录 crontab 的日志记录。
secure 日志
Linux 的 ssh 登录日志会存储于 /var/log/secure 中,若日志中出现连续大量的登录错误信息,则可能意味着远程主机在尝试破解 ssh 登录口令
Last 日志
last 命令用于查看最近的用户登录情况, last 命令读取 wtmp 内容。在 Linux 还中还存在 lastlog 命令,用于查看系统内所有帐户最后一次登录信息,该命令读取 /var/log/lastlog 内容。
shell 日志
Bash 日志存储于用户目录的.bash_history 文件中,有些攻击者 SSH 登陆进来之后可能会执行命令,所以该日志可能会记录下执行的命令。该日志存储条目数量与 shell 变量 $HISTSIZE

常用工具
chkrookit:
chkrootkit 是一款用于 UNIX/Linux 的本地 rootkit 检查工具。
chkrootkit 官方站点:http: //www.chkrootkit.org/
一般操作指南:
编译:
tar xvzf chkrootkit.tar. gz
cd chkrootkit 一 xx
make sense
检测 rootkit: ./chkrootkit - q
若使用 Live CD 启动主机,将原主机硬盘(被入侵)挂接在 /mnt 下,我们可以使用 - r 参数指定被入侵主机的根目录,进行离线检查,chkrootkit 最终仅输出可疑的项目:
./chkrootkit -q -r /mnt

rkhunter :
Rootkit Hunter 结果比 chkrootkit 更为详细和精准,若有条件,建议使用 Rootkit Hunter 对系统进行二次复查。
Rootkit Hunter 下载访问: http://sourceforge.net/projects/rkhunter/
一般操作指南:
安装 Rootkit Hunter:
tar xvzf rkhunter-xx.tar. gz
cd rkhunter-xx
./install.sh --layout default --install
(若自定义安装路径,需执行:./install --layout custom /custom_path --install)
使用 Rootkit Hunter: rkhunter - check(若自定义安装目录,需写全路径)

lynis :
这里我比较推荐这个,上面两个已经没有维护了,而且该工具除了可以检查 rootkit,还可以审计一些 Linux 的安全基线方面的东西。建议在 root 下运行,效果会很好。
项目地址: https://github.com/CISofy/lynis
一般操作指南:
cd lynis
./lynis audit system
image.png

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。