linux应急操作手册

一、安全事件类别

1、web入侵:webshell、挂马、暗链(博彩)、后门、篡改等

2、系统入侵:系统服务漏洞利用(redis、mysql、ssh、rdp、ftp、jboss、tomcat等)

3、病毒后门导致流量或系统资源异常:后门、勒索软件、挖矿程序、远控木马等

4、信息泄露:拖库、数据库弱密码(mongodb、、mysql、redis、pgsql、oracle等)

二、主要检查项

1、文件分析:按新增、修改、删除、替换等文件日期查询;特殊权限文件;隐藏文件;系统常用可执行文件篡改分析;

2、进程与服务分析:当前活动进程、当前保持连接状态对应的服务、抓包提取可疑信息、计划任务列表、服务、webshell查找等

3、日志分析:系统日志、web应用日志、程序后台日志等

4、文件权限:检查被修改过的文件权限,使用文件权限属于来提高安全性等

5、病毒检查:清除后门及恶意程序等

三、详细说明

3.1、文件分析:

所有用户都具有可读可写可执行权限:查看/tmp、/dev/shm、/var/tmp等目录,ls -alt /tmp /dev/shm /var/tmp

常规查找

stat(如果使用touch -r修改日期将无法使用stat判断准确性)

find / -mtime 0 -name '*.php' -exec ls -ld {} \;(表示查找24小时内所有修改过的php文件)

find / -ctime 1 查找48小时内新增文件(内容未改变权限改变时候也可以查出)

find / -name "*.php" -perm 4777 -exec ls -ld {} \;(查找特殊权限的文件  777)

history或查看~/.bash_history排查操作历史记录

fc命令自动掉用vi编辑器修改已有历史命令,当保存时立即执行修改后的命令,也可以用来显示历史命令

useradd/userdel:查找UID为0的账号 awk -F: ‘{if($3==0)print $1}'/etc/passwd

cat /etc/passwd | grep -E '/bin/bash’ 查找可登录系统账号

diff命令比较给定的两个文件的不同

3.2、进程与服务分析

netstat -ntlup 系统上监听的端口,可查看当前连接状态nestat -an | grep ESTABLISHED 

tcpdump 可以打印所有经过网络接口的数据包的头信息

top 资源监控排查cpu、mem等占用率高的程序

ps aux/ef查看进程,检查子进程程序,留意父进程、有时父进程可推测出是通过哪个环节入侵

lsof -i:端口或lsof -p:进程号查找对应的系统文件工具

strace -ff -p 进程号 监控进程读写操作

iptables 一般系统防火墙均为开启,检查是对入侵者的IP开放

系统命令是否被替换

如果常用命令被替换netstat、ls、ps、sshd等,ssh后门检查 /usr/sbin/sshd、/etc/rc.d/init.d/sshd等,命令是否被替换可查看版本或与其他新系统主机中相应命令进行对比;

使用ls -alt /usr/bin /bin /usr/bin /usr/sbin /sbin 等

使用rpm -Va校验检查所有的 rpm 软件包,如果有不一致的地方,将会显示出来。 c 用以指配置文件, 接着是文件名。. (点) 表示测试通过

任务计划

通过crontab -l 查看当前的任务计划

常用的定时任务crontab -l是用户级别的,保存在/var/spool/cron/{user},每个用户都可以通过crontab -e编辑自己的定时任务列表

周期性执行脚本的目录

/etc/cron.hourly

/etc/cron.daily

/etc/cron.weekly

/etc/cron.monthly

/etc/cron.d/*

anacron用于不能全天候开机的机器,替代完成 cron 命令的守护进程。由于常规的计划任务通常被安排在午夜执行,如果机器已关机就不会运行这些任务,使用anacron可以确保在你下次开启机器的时候脚本会被执行:

/etc/anacrontab

/var/spool/anacron/cron.daily

/var/spool/anacron/cron.monthly

/var/spool/anacron/cron.weekly

注:关联关系可查看/etc/cron.hourly/0anacron

系统服务

/etc/init.d/*

/etc/rc.d/*

chkconfig list | grep on

查看系统用户登录信息

lastlog命令,系统所有用户最近一次登录信息

lastb命令,用于显示用户错误的登录列表

last命令,显示用户最近登录信息(/var/log/wtmp、/var/log/btmp)

/var/run/utmp 文件中保存当前正在系统中的用户信息

/var/log/wtmp 文件中保存登录过本系统 的用户信息

信息检索

strings对二进制文件中查找字符串

file 查看文件类型

webshell命令查找,如下为检查php相关命令

find /data/www/ -name "*.php" |xargs egrep 'assert|phpspy|c99sh|eval|\(gunerpress|\(base64_decoolcode|spider_bc|shell_exec|passthru|\(\$\_\ POST\[|eval \(str_rot13|\.chr\(|\$\{\"\_P|eval\(\$\_R|file_put_contents\(\.\*\$\_|base64_decode' 

工具检查webshell推荐使用hm

隐藏进程查看,在/proc中存在的进程ID与ps中的进行对比

#!/bin/bash

pids="`ps -A | awk '{print $1}'`";

for i in /proc/[[:digit:]]*;

do

        if echo "$pids" | grep -qs `basename "$i"`;

        then

                :

        else

                echo "PID: $(basename "$i")";

        fi

done

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

ls /proc | sort -n |uniq>2

隐藏工具查找推荐使用unhide

3.3、日志文件

/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 记录登录系统不成功的账号信息

/var/log/wtmp 二进制文件,记录每个用户的登录次数和持续时间等信息

/var/log/utmp  w命令查询utmp文件并显示当前系统 中每个用户和运行的进程信息

/var/log/btmp lastb用于列出登入系统失败的用户相关信息

last 命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户

users 用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话

w 命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息

who 命令查询utmp文件并报告当前登录的每个用户

ac 命令根据当前的/var/log/wtmp文件中的登录进入和退出来报告用户连结的时间(小时)

lastlog 命令查询用户最后一次的登录信息

lastb 命令用于列出登入系统失败的用户相关信息

3.4、文件权限

chattr 用来改变文件属性(针对多处恶意程序不断对将执行文件写入到不同的目录中十分有用) 

这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

a:让文件或目录仅供附加用途。

b:不更新文件或目录的最后存取时间。

c:将文件或目录压缩后存放。

d:将文件或目录排除在倾倒操作之外。

i:不得任意更动文件或目录。

s:保密性删除文件或目录。

S:即时更新文件或目录。

u:预防意外删除。

-R 递归处理,将指定目录下的所有文件及子目录一并处理。

-v<版本编号> 设置文件或目录版本。

-V 显示指令执行过程。

+<属性> 开启文件或目录的该项属性。

-<属性> 关闭文件或目录的该项属性。

=<属性> 指定文件或目录的该项属性。

setfacl 用来在命令行里设置ACL(访问控制列表)

setfacl命令可以识别以下的规则格式:

[default]: [user]:uid [:perms]  指定用户的权限,文件所有者的权限(如果uid没有指定)

[default]: [group]:gid [:perms]   指定群组的权限,文件所有群组的权限(如果gid未指定)

[default]: [mask][:] [:perms]     有效权限掩码

[default]: [other] [:perms]       其他的权限

chmod 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用

病毒检测

工具检查后门:chkrootkit、rkhunter、clamav

四、常见的入侵方式方法

WEB入侵

典型漏洞:注入 Getshell 、上传 Getshell、命令执行 Getshell、文件包含 Getshell、

代码执行 Getshell、后台管理 Getshell、数据库操作 Getshell等

中单件相关:Tomcat、Axis2、WebLogic 、jboss等中间件弱口令上传 war 包等,Websphere、

weblogic、jboss 反序列化,Struts2 代码执行漏洞,Spring 命令执行漏洞 

系统入侵

SSH破解后登录操作

Mail 暴力破解后信息挖掘及漏洞利用

VPN 暴力破解后绕过边界

Redis 未授权访问或弱口令可导 ssh 公钥或命令执行

Rsync未授权访问类

Mongodb 未授权访问类

Jboss 命令执行漏洞

Elasticsearch 命令执行漏洞

Memcache 未授权访问漏洞

服务相关弱口令包括(mysql ftp ldap tomcat  squid vnc smb)

隐藏进程使用buysbox工具箱

查看/etc/ld.so.preload 找出动态链接库

buysbox cat /etc/ld.so.preload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值