入侵排查
alias #查看服务器别名,检查攻击者是否设置别名误导工程师
/home/用户名/.bashrc #别名文件
rm -rf /usr/.SQL-Unix/.SQL/.db #删除恶意的别名文件
ls -al ps #查看相应的命令的命令文件内容
find . -type f -mtime 1 #查找当前目录下,最近24-48小时修改过的常规文件
find /www/storage | xargs grep "eval(" #查找webshell
竞争脚本删除不死马,或者重启nginx来杀不死马(如果生产环境允许)
账号安全,历史命令,异常端口,异常进程,开机启动项,定时任务,重要目录
账号安全:
命令:
awk -F: '$3==0{print $1}' /etc/passwd #查询特权用户特权用户(uid 为0)
awk '/\$1|\$6/{print $1}' /etc/shadow #查询可以远程登录的帐号信息
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)" #除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
usermod -L user #禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
user del user #删除 user 用户
userdel -r user #将删除 user 用户,并且将 /home 目录下的 user 目录一并删除
passwd user #修改密码
adduser user #添加账户
useradd -u 544 -d /usr/testuser1 -g users -m testuser1 #添加账户
who #查看当前登录用户(tty 本地登陆 pts 远程登录)
w #查看系统信息,想知道某一时刻用户的行为
uptime #查看登陆多久、多少用户,负载状态
文件:
/etc/passwd #用户信息文件
/etc/shadow #影子文件
历史命令:
命令:
history #查看历史命令
cat .bash_history >> history.tx #进入用户目录下,导出历史命令
异常端口:
命令:
lsof -i port #可以查看是谁在占用此端口号
netstat -anpt #-t是tcp相关选项,-a是所有 -p是显示程序名字 -n是拒绝显示别名
运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号) #查看pid对应的进程文件路径
ps aux|grep pid #可以根据端口那边的pid定位进程
ps -ef|grep pname #可以根据端口那边的进程名称定位进程
异常进程:
命令:
ps -aux #显示所有进程信息
ps -elf #和上面大部分差不多
top #以全屏交互式的界面显示进程排名
pstree -aup #显示个进程树
运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号) #查看pid对应的进程文件路径
ps aux|grep pid #可以根据端口那边的pid定位进程
ps -ef|grep pname #可以根据端口那边的进程名称定位进程
Kill -9 #强行中断进程,有丢失数据的风险
Kill -9 -1 #强行终止当前用户下所有进程,
pkill -U:指定用户;-t:指定终端 #可以杀死指定用户的所有进程
find /www/storage | xargs grep "eval(" #查找webshell
检查开机启动项:
命令:
runlevel #查看运行级别
systemctl list-unit-files #查看开机启动项,包含原生服务
chkconfig #查看开机启动项
systemctl list-unit-files | grep enable
systemctl enable zabbix-server.service #为服务添加开机启动项
systemctl disable zabbix-server.service #移除开机启动项的服务
文件:
/etc/rc.local #配置文件
/etc/rc.d/rc[0~6].d #配置文件
说明:当我们需要开机启动自己的脚本时,只需要将可执行脚本
丢在 /etc/init.d 目录下,然后在 /etc/rc.d/rc*.d 文件中建立软链接即可。
定时任务:
命令:
crontab -l #列出某个用户cron服务的详细内容
crontab -r #删除每个用户cront任务(谨慎:删除所有的计划任务)
crontab -e #使用编辑器编辑当前的crontab文件
重要目录:
日志文件:
/var/log/cron #记录与系统定时任务相关的曰志
/var/log/cups/ #记录打印信息的曰志
/var/log/dmesg #记录了系统在开机时内核自检的信总。也可以使用dmesg命令直接查看内核自检信息
/var/log/btmp #记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。
/var/log/lasllog #记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/Iog/mailog #记录邮件信息的曰志
/var/log/messages #它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已经用户自定义安装软件的日志,也会在这里列出。
/var/log/secure #记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp #永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
/var/tun/ulmp #记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。后续可能会有评论区,不过也可以在github联系我。