百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

linux应急响应及入侵排查全面总结

liuian 2024-12-14 13:34 59 浏览

基本流程

  1. 接到应急指令后,一般都需要到客户现场去处理的,最好带上电脑和笔记本。
  2. 到达现场后,跟客户沟通,我方需要确认一些信息,方便定(shuai)位(guo)问题。
  3. 无论是挖矿还是菠菜,流程都差不多,

找出问题 –> 解决问题 –> 编写报告

账号排查

账号安全

1、用户信息文件 /etc/passwd

# 格式:account:password:UID:GID:GECOS:directory:shell
# 用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后的 shell
root:x:0:0:root:/root:/bin/bash
# 查看可登录用户:
cat /etc/passwd | grep /bin/bash
# 查看UID=0的用户
awk -F: '$3==0{print $1}' /etc/passwd
# 查看sudo权限的用户
more /etc/sudoers | grep -v "^#\|^#34; | grep "ALL=(ALL)"

2、影子文件:/etc/shadow

# 用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::

3、查看当前登录用户及登录时长

4、排查用户登录信息

  • 查看最近登录成功的用户及信息
# 显示logged in表示用户还在登录
# pts表示从SSH远程登录
# tty表示从控制台登录,就是在服务器旁边登录
last
  • 查看最近登录失败的用户及信息:
# ssh表示从SSH远程登录
# tty表示从控制台登录
sudo lastb

5、历史命令

在排查服务器的时候,黑客没有在线,可以使用last命令排查黑客什么时间登录的有的黑客登录时,会将/var/log/wtmp文件删除或者清空,这样我们就无法使用last命令获得有用的信息了。 在黑客入侵之前,必须使用**chattr +a/var/log/wtmp**文件进行锁定,避免被黑客删除

通过.bash_history文件查看帐号执行过的系统命令: 打开 /home 各帐号目录下的 .bash_history,查看普通帐号执行的历史命令。 为历史的命令增加登录的 IP 地址、执行命令时间等信息:

# 1、保存1万条命令:
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile

# 2、在/etc/profile的文件尾部添加如下行数配置信息:
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
shopt -s histappend
export PROMPT_COMMAND="history -a"

# 3、让配置生效
source /etc/profile

注意:历史操作命令的清除:history -c 该操作并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录

入侵排查:

重点关注以下目录中是否存在恶意脚本;

/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/*

查询已安装的服务:
RPM 包安装的服务:

chkconfig  --list  查看服务自启动状态,可以看到所有的RPM包安装的服务
ps aux | grep crond 查看当前服务

系统在3与5级别下的启动项 
中文环境
chkconfig --list | grep "3:启用\|5:启用"

英文环境
chkconfig --list | grep "3:on\|5:on"

源码包安装的服务:

查看服务安装位置 ,一般是在/user/local/
service httpd start
搜索/etc/rc.d/init.d/  查看是否存在

进程排查

1. 查看当前系统状态(top)

2. 查看当前系统进程信息(ps)

3. 查看非root运行的进程(ps)

4. 查看用户root运行的进程(ps)

5. 查看有没有奇怪进程(ps)

ps -aef | grep inetd

6. 检测隐藏进程(ps)

ps -ef | awk '{print}' | sort -n |uniq >1

ls /proc | sort -n |uniq >2

7. 检测系统守护进程(ls)

任务及用户活动排查

1. 查看当前有谁登陆在服务器上(who)

2. 查看当前登陆用户的IP信息(who)

3. 查看空口令账号(awk)

awk -F: '($2=="")' /etc/shadow

4. 查看uid为0的账号(awk)

awk -F: '($3==0)' /etc/passwd

5. 查看uid为0的账号(grep)

grep -v -E "^#" /etc/passwd | awk -F: '$3==0{print $1}'

6. 查看进程树是否所有异常进程存在一个父进程、判断进程的父子关系(pstree)

7、计划任务排查:

需要注意的几处利用cron的路径:

crontab -l  # 列出当前用户的计时器设置
crontab -r  # 删除当前用户的cron任务

上面的命令实际上是列出了/var/spool/cron/crontabs/root该文件的内容:

  • /etc/crontab只允许root用户修改
  • /var/spool/cron/存放着每个用户的crontab任务,每个任务以创建者的名字命名
  • /etc/cron.d/将文件写到该目录下,格式和/etc/crontab相同
  • 把脚本放在/etc/cron.hourly/、/etc/cron.daily/、/etc/cron.weekly/、/etc/cron.monthly/目录中,让它每小时/天/星期/月执行一次

小技巧:more /etc/cron.daily/* 查看目录下所有文件

网络排查

说明:挖矿病毒避免不了要跟主机通信

1. 列出本机所有的连接和监听的端口,查看有没有非法连接(netstat)

2. 查看谁在使用某个端口(lsof)

3. 查看多个进程号对应的文件信息(lsof)

4. 查看所有tcp网络连接信息(lsof)

5. 查看所有udp网络连接信息(lsof)

文件排查

说明:服务器被入侵后,攻击者基本上都需要修改一些文件来维持脚本的运行

1. 查看所有文件,包括隐藏的文件(ls)

2. 查看文件路径(whereis)

3. 查看文件创建时间(ls)

4. 查找最近24小时内修改过的文件(find)

5. 查找以.txt结尾的文件名(find)

6. 查找不是以.txt结尾的文件(find)

日志排查

日志简介

日志默认存放位置:/var/log/

查看日志配置情况:more /etc/rsyslog.conf

日志文件

说明

/var/log/cron

记录了系统定时任务相关的日志

/var/log/cups

记录打印信息的日志

/var/log/dmesg

记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息

/var/log/mailog

记录邮件信息

/var/log/message

记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件

/var/log/btmp

记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看

/var/log/lastlog

记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看

/var/log/wtmp

永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看

/var/log/utmp

记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询

/var/log/secure

记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

比较重要的几个日志: 登录失败记录:/var/log/btmp //lastb 最后一次登录:/var/log/lastlog //lastlog 登录成功记录: /var/log/wtmp //last 登录日志记录:/var/log/secure

日志分析技巧

Linux下常用的shell命令如:find、grep 、egrep、awk、sed

小技巧:

1、grep显示前后几行信息:

标准unix/linux下的grep通过下面參数控制上下文:

grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行

grep -B 5 foo file 显示foo及前5行

grep -A 5 foo file 显示foo及后5行

查看grep版本号的方法是

grep -V

2、grep 查找含有某字符串的所有文件

grep -rn "hello,world!" 

- : 表示当前目录所有文件,也可以是某个文件名

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写

3、如何显示一个文件的某几行:

cat input_file | tail -n +1000 | head -n 2000

#从第1000行开始,显示2000行。即显示1000~2999行

4、find /etc -name init

//在目录/etc中查找文件init

5、只是显示/etc/passwd的账户

`cat /etc/passwd |awk  -F ':'  '{print $1}'`  

//awk -F指定域分隔符为':',将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。

6、sed -i '153,$d' .bash_history

删除历史操作记录,只保留前153行

/var/log/secure

1、定位有多少IP在爆破主机的root帐号:    
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

定位有哪些IP在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

爆破用户名字典是什么?
 grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

2、登录成功的IP有哪些:     
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' 

3、增加一个用户kali日志:
Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali
, shell=/bin/bash
Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali
#grep "useradd" /var/log/secure 

4、删除用户kali日志:
Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'
# grep "userdel" /var/log/secure

5、su切换用户:
Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0)

sudo授权执行:
sudo -l
Jul 10 00:43:09 localhost sudo:    good : TTY=pts/4 ; PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r now

相关推荐

全部游戏大全免费安装(全部游戏免费软件)
  • 全部游戏大全免费安装(全部游戏免费软件)
  • 全部游戏大全免费安装(全部游戏免费软件)
  • 全部游戏大全免费安装(全部游戏免费软件)
  • 全部游戏大全免费安装(全部游戏免费软件)
电脑怎么安装win10装系统(电脑怎么安装win10装系统按哪个键)

Windows10系统安装教程如下:准备好所需的文件和文件夹,包括安装介质(例如安装光盘、USB闪存驱动器或网络安装介质),以及需要包含Windows10镜像文件的文件和文件夹...

国内哪个ai写代码最强(ai用什么代码编程)

是的,coloros小布ai可以写代码。它具有图灵完备的编程能力,并且可以通过编程语言进行逻辑推理和计算,实现各种功能。通过编程,可以让coloros小布ai执行特定的任务、完成复杂的计算和处理数据,...

快捷键大全截图(快捷键大全图片截图)
  • 快捷键大全截图(快捷键大全图片截图)
  • 快捷键大全截图(快捷键大全图片截图)
  • 快捷键大全截图(快捷键大全图片截图)
  • 快捷键大全截图(快捷键大全图片截图)
正版win7下载官网(正版win7旗舰版下载官网)

去gsdn官网选择相应的版本1.打开您的浏览器,访问官方下载页面:https://www.minecraft.net/zh-hans/2.点击“获取”按钮,在弹出的对话框中选择“对PC/Mac购买...

office2010软件(office2010软件下载)
office2010软件(office2010软件下载)

看你怎么激活了,正规渠道正版激活这个是最便宜的微软原装正版办公软件office2010中文学生家庭版1用户简包/COEM¥790.00这个是最贵的微软Office2010专业版中文版特含Publisher,Access两大组...

2026-01-02 21:55 liuian

电脑下边任务栏跑到左边怎么办

电脑桌面的菜单栏从底部跑到左边,想要复原的方法如下:1、鼠标右击“任务栏”空白处,在打开的菜单中点击“属性”2、在弹窗中,找到“屏幕上的任务位置”,在它的右侧点一下倒三角。3、点一下“确定”,接下来就...

win10关闭防火墙通知(win10关闭防火墙通知怎么关闭)

可以关闭防火墙win10提醒。因为win10自带的防火墙会有提醒功能,但有些用户会觉得这个提醒不必要,可以关闭。具体操作步骤是:右键点击Windows徽标,选择“Windows防火墙”,点击“高级设置...

微软公司介绍(微软公司介绍文案)

微软美国跨国科技公司微软(Microsoft)是一家美国跨国科技企业,1975年4月4日创立。2023财年营收2119.15亿美元,[200]公司总部设立在华盛顿州雷德蒙德(Redmond,邻近西雅图...

怎样设置电脑桌面密码(设置电脑桌面密码步骤)

首先,需要确定你是想设置电脑屏幕保护密码还是系统登录密码。如果是屏幕保护密码,可以在电脑设置中进行修改。打开控制面板,找到“个性化”或“外观和个性化”选项,再找到“屏幕保护器”选项,点击“设置”,在弹...

繁体字输入法下载(繁体字输入法下载安装)

你下载百度手机输入法,默认的就是双拼,可以自己选择26键拼音输入01打开苹果手机,找到苹果商城,02打开下载中心,搜索“搜狗输入法”,03下载搜狗输入法,04等下载完成后桌面上会显示搜狗输入法,05然...

国产操作系统概念股(国产操作系统概念股票)

  那么怎么构建该系统呢?一般情况下都是从以下几个方面:   第一、选股方法。虽然靠着均线能选股,靠着指标也能选股,但是系统性的选股方法则是要结合宏观经济整体运行位置和环境,行业发展现状和前...

电脑主机开机没反应(电脑主机开机没反应电源灯亮)

操作方法01第一种情况是电脑完全没有反应,那么就可能是电源没有连接上,检查插线板和机箱插头,重新插好就好了。?02还有是电脑机箱已经开启,但是显示屏还是黑的,那么这种情况就有可能是显示屏的电源没有连接...

cad激活码2010(cad激活码和序列号)

1.首先激活码出现问题,需要进行激活确认。首先需要的中进入电脑C盘。2.可以先点击组织设置隐藏文件夹显示。3.勾选显示隐藏文件夹。4.找到C:\ProgramData文件夹,打开找到CAD文件夹。5....

联想windows7笔记本怎么连接网络

检查笔记本的无线网卡驱动1.右键我的电脑,点击“属性”,选择左侧“设备管理器”2.点击“网络适配器”,如果方框内没有驱动,请下载驱动精灵万能网卡版安装网卡驱动 二、若发现驱动前面是感叹号的&...