Linux主机入侵检测
检查系统信息、用户账号信息
● 操作系统信息
cat /proc/version
用户信息
用户信息文件
/etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后的 shell
查看哪些用户为root权限,有没有新增的
cat /etc/passwd | grep x:0
查询特权用户特权用户(uid 为0)
awk -F: '{if($3==0)print $1}' /etc/passwd
注: guest用户uid为0为非正常用户
查询可以远程登录的帐号信息
awk '/\$1|\$6/{print $1}' /etc/shadow
查看空口令账户
awk -F: 'length($2)==0 {print $1}' /etc/shadow
查询有sudo权限账户
more /etc/sudoers | grep -v "^#\|^$" | grep "
查看当前用户登录系统情况
who
查看用户错误的登录信息
lastb
查看所有用户最后的登录信息
lastblog
历史命令
当前用户的历史命令
history
打开 /home 各帐号目录下的 .bash_history,查 看普通帐号执行的历史命令。
应急措施
● usermod -L user 禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
● userdel user 删除 user 用户
● userdel -r user 将删除 user 用户,并且将 /home 目录下的 user 目录一并删除
检查启动项、计划任务
启动项
more /etc/rc.local
/etc/rc.d/rc[0~6].d
ls -l /etc/rc.d/rc3.d
计划任务
利用 crontab 创建计划任务
● crontab -l 列出某个用户cron服务的详细内容
● Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root
● crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)
● crontab -e 使用编辑器编辑当前的crontab文件
● 如:/1 * echo "hello world" >> /tmp/test.txt 每分钟写入文件
入侵排查
重点关注以下目录中是否存在恶意脚本
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/
more /etc/cron.daily/* 查看目录下所有文件
检查异常端口
使用 netstat 网络连接命令,分析可疑端口、 IP、PID
查看TCP连接
netstat -an | grep tcp | awk '{print $5}
查看SYN连接情况
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq - c | sort -nr | more
查看对应链接的文件路径
ls -l /proc/$PID/exe 或 file /proc/$PID/ exe($PID 为对应的 pid 号)
检查异常进程
使用ps命令,分析进程
ps -aux | grep pid
监控某一应用线程数(如ssh
ps -eLf | grep ssh| wc –l
监控网络客户连接数
netstat -n | grep tcp | grep 侦听端口 | wc -l
查看cpu占用率前十的进程,有时候可以发现
ps aux --sort=pcpu | head -10
检查服务
服务自启动
第一种修改方法:
● chkconfig [--level 运行级别] [独立服务名] [on|off]
● chkconfig –level 2345 httpd on 开启自启动
● chkconfig httpd on (默认level是2345)
第二种修改方法:
● 修改 /etc/re.d/rc.local 文件
● 加入 /etc/init.d/httpd start
第三种修改方法:
● 使用 ntsysv 命令管理自启动,可以管理独立服 务和 xinetd 服务。
●
systemctl list-unit-files | grep enable #通过Systemctl查看所有开启的服务
检查异常文件
查看敏感目录
● 如/tmp目录下的文件,同时注意隐藏文件夹,以 “..”为名的文件夹具有隐藏属性
时间点查找
列出攻击日期内变动的文件
find
● 在指定目录下查找文件
find -type b/d/c/p/l/f
● 查找块设备、目录、字符设备、管道、符号链 接、普通文件。
find -mtime -n +n
● 按文件更改时间来查找文件,-n 指n天以内,+n 指n天前
find -atime -n +n
● 按文件访问时间来查找文件,-n 指n天以内,+n 指n天前
find -ctime -n +n
● 按文件创建时间来查找文件,-n指n天以内,+n 指n天前
find / -ctime 0 -name "*.sh"
● 可查找一天内新增的sh文件
特殊权限文件查找
find / tmp -perm 777
webshell查找
find /var/www "*.php" | xargs egrep 'assert| phpspy|c99sh|milw0rm|eval|base64_decode| shell_exec|passthru|\(\$\_\$POST\[|eval'
● 查找/var/www下的所有php文件,xargs egrep 及之后的命令是查询php文件中是否包含后面的 关键字
对系统命令进行排查
● findWebshell、Scan_Webshell.py等进行 webshell扫描
● ls和ps等命令很可能被攻击者恶意替换,所以可以使用ls -alt /bin,查看命令目录中相 关系统命令的修改时间,而进行排查。
● ls -alt /bin查看相关文件大小,若明显偏大,则 文件恒可能被替换
Linux后门检测
● 使用第三方查杀工具(chkrootkit,rkhunter)
排查SUID程序
● find / -type f -perm -04000 -ls -uid 0 2>/ dev/null
检查系统日志
● 日志默认存放位置:/var/log/
● 查看日志配置情况:more /etc/rsyslog.conf
Linux主机入侵检测的更多相关文章
- 安全运维之:Linux后门入侵检测工具的使用
安全运维之:Linux后门入侵检测工具的使用 https://blog.csdn.net/exitgogo/article/details/39547113
- Linux后门入侵检测
蛋疼啊,服务器被入侵成肉鸡了,发出大量SYN请求到某个网站!(瞬间有种被OOXX(强)(奸)的赶脚) 泪奔ING... 源起: Linux服务器日常检查,#ps aux 发现大量httpd进程,和往常 ...
- Linux后门入侵检测工具,附bash漏洞解决方法[转载]
转自:http://blog.jobbole.com/77663/ 官网 ClamAV杀毒软件介绍 ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是 ...
- Linux后门入侵检测工具
一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现 ...
- linux主机状态检测方式
之前写过一个简单的脚本检测当前网段中主机状态的脚本,内容如下: #! /bin/bash #ping check host status trap "exit" 2 sping() ...
- Chkrootkit安装配置教程 – Linux后门入侵检测
rootkit从浅显的层面来讲即一种具有自我隐蔽性的后门程序,它往往被入侵者作为一种入侵工具.通过rootkit,入侵者可以偷偷控制被入侵的电脑,因此危害巨大.chkrootkit是一个Linux系统 ...
- Linux后门入侵检测工具,附bash漏洞解决方法
一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现 ...
- 搭建开源入侵检测系统Snort并实现与防火墙联动
Snort作为一款优秀的开源主机入侵检测系统,在windows和Linux平台上均可安装运行.BT5作为曾经的一款经典的渗透神器,基于 Ubuntu,里面已经预装很多的应用,比如Mysql.Apach ...
- IDS入侵检测系统
目录 IDS入侵检测系统 入侵检测系统的作用 入侵检测系统功能 入侵检测系统的分类 入侵检测系统的架构 入侵检测工作过程 数据检测技术 误用检测 异常检测 IDS的部署 基于网络的IDS 基于主机的I ...
随机推荐
- GetX代码生成IDEA插件,超详细功能讲解(透过现象看本质)
前言 本文章不是写getx框架的使用,而且其代码生成IDEA插件的功能讲解 我之前写过俩篇很长很长的getx文章 一篇入门使用:Flutter GetX使用---简洁的魅力! 一篇原理深度剖析:Flu ...
- Mybatis-plus<三> MybatisPlus条件构造器
Mybatis-plus<三> MybatisPlus条件构造器 Demo GitHub下载地址:https://github.com/RJvon/Mybatis_plus_demo My ...
- Python习题集(八)
每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 要求:判断数组元素 ...
- K8S 简介
K8S架构与组件 kubectl: 是一个客户端管理工具,直接管理API server,提供请求给API server,中间有auth认证.用户使用kubectl命令来请求API Server接口完成 ...
- 如何高效掌控K8s资源变化?K8s Informer实现机制浅析
作者 王成,腾讯云研发工程师,Kubernetes contributor,从事数据库产品容器化.资源管控等工作,关注 Kubernetes.Go.云原生领域. 概述 进入 K8s 的世界,会发现有很 ...
- [CSP-J2020] 优秀的拆分
[CSP-J2020] 优秀的拆分 难度:普及- 题目描述 一般来说,一个正整数可以拆分成若干个正整数的和. 例如,1=1,10=1+2+3+4 等.对于正整数 n 的一种特定拆分,我们称它为&quo ...
- 微信小程序函数间传递url的参数丢失问题
可以使用encodeURIComponent():函数可把字符串作为 URI 组件进行编码. 可以使用decodeURIComponent():函数可把字符串作为 URI 组件进行解码.
- vue 学习资料
自学资料地址: https://zhuanlan.zhihu.com/p/26535530项目UI部分1.pc站 UI:(1)考虑自己写成本高,需要花费不少时间,好处是可以自己控制维护!(2)引入第三 ...
- python序列的修改、散列和切片
新Vector类 接原vector类定义的新Vector类,原向量类是二维,现定义多维向量类: from array import array import reprlib import math c ...
- 3-等待线程终止的join方法
等待线程终止的join方法 在项目实践中经常会遇到一个场景,就是需要等待某几件事完成之后才能继续往下执行,比如线程加载资源等等. package com.heiye.learn1; public cl ...