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 ...
随机推荐
- PyQt5 笔记
一.简介 pyqt5做为Python的一个模块,它有620多个类和6000个函数和方法.这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS.pyqt5是 ...
- NRF52832空中升级DFU
Secure DFU环境搭建 升级原理,加密原理在此不做描述,详情参考http://www.cnblogs.com/iini/p/9314246.html 1.工具一览 gcc-arm-none-ea ...
- ubantu硬盘不足,无法启动
我的ubantu虚拟机经过我一顿操作后,就起不来了.然后经过多方询问,广集天下良方,最终发现是由于分配的硬件空间不足导致的.现象如下: 通过查看 root@ubantu:/snap# df -h Fi ...
- finally方法体
1.资源释放 java7可以在try(创建资源对象,方法体结束之后自动释放) 2.finally中有返回
- Servlet处理带尾部斜杠/的URI
有一个需求:让一个Servlet能够同时处理形如/XXX/YYY和/XXX/YYY/的URI,即URI尾部的斜杠有没有都要能处理到. 很容易想到,做两个URL Pattern/XXX/YYY和/XXX ...
- request内部转发Demo
// 转发的Demo1 import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import ja ...
- PHP中的MySQLi扩展学习(五)MySQLI_STMT对象操作
就像 PDO 中的 PDO_Statment 对象一样,MySQLI_STMT 对象也是一个预处理语句所形成的对象,专门用来操作 MySQLi 所生成的预处理语句的.其实操作方式之类也都比较相似,不外 ...
- PHP的内置WEB服务器
在很多时候,我们需要简单的运行一个小 demo 来验证一些代码或者轮子是否可用,是否可以运行起来,但是去配 nginx 或者 apache 都很麻烦,其实,PHP CLI 已经提供了一个简单的测试服务 ...
- mysql将语句写入表中
使用create table语句即可 CREATE TABLE membertmp (select a.* from member as a where a.phone <> '' and ...
- 项目部署(ubuntu+uwsgi+nginx+supervisor+django)
一.在开发机上的准备工作 1. 确认项目没有bug. 2.设置`ALLOW_HOST`为你的域名,以及ip地址. 4.设置`DEBUG=False`,避免如果你的网站产生错误,而将错误信息暴漏给用户. ...