入侵排查思路 (1)- 日志分析

日志分析
默认日志路径: /var/log
查看日志配置情况: more /etc/rsyslog.conf
重要日志:
登录失败记录: /var/log/btmp
最后一次登录: /var/log/lastlog
登录成功记录: /var/log/wtmp
登录日志记录: /var/log/secure
日志分析常用命令:
grep -rn "hello,world!"
cat input_file | tail -n + | head -n (显示1000-2999行)
find /etc -name init #在目录/etc中查找文件init
sed -i '153,$d' .bash_history #删除历史操作记录,只保留前153行
grep -C foo file #显示file文件里匹配foo那行以及上下5行
定位有多少IP在爆破主机的root账号
grep "Failed password for root" /var/log/secure | awk '{print $11}'| sort | uniq -c | sort -nr | more
爆破用户名字典
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){/for(.*?) from/;print
"$1\n";}'|uniq -c | sort --nr
登录成功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}'
软件安装升级卸载日志:
more /var/log/yum.log

入侵排查思路(2)- 账号安全

用户信息文件: /etc/passwd
影子文件: /etc/shadow
who #查看当前登录用户(tty本地登录,pts远程登录)
w #查看系统信息,想知道某一时刻用户的行为

入侵排查:
查询特权用户(uid为0): awk -F: '$3==0{print $1}' /etc/passwd
查询可以远程登录的账号信息: awk '/\$1|\$6/{print $1}' /etc/passwd
禁用或删除多余可疑的账号:
usermod -L user #禁用账号,账号无法登录
userdel -r user #将删除user用户,并且将/home目录下的user目录一并删除

 

入侵排查思路(3)- 历史命令

root的历史命令: history
其他账号的历史命令: /home各账号目录下的 .bash_history
历史操作命令的清除: history -c
入侵排查:
进入用户目录:
cat .bash_history >> history.txt

入侵排查思路(4)- 端口&进程&开机启动项

检查异常端口:
使用netstat网络连接命令,分析可疑端口、IP、PID
netstat -antlp|more 检查异常进程:
使用ps命令,分析进程
ps aux | grep pid
使用 netset 和 ps 等命令时,可以灵活配合 grep命令获取信息
netstat -anp | grep -i listen
lsof -i:port #进程和端口对应关系
ps -aux查看进程信息(ps -ef 对于反弹shell,更便于发现) 检查开机启动项:
系统默认运行级别: vi /etc/inittab
开机启动配置文件: /etc/rc.local
入侵排查:
启动项文件:
more /etc/rc.local /etc/rc.d/rc[~].d
ls -l /etc/rc.d/rc3.d/ 定时任务
crontab -l 列出某个用户cron服务的详细内容
crontab -r 删除某个用户 cront任务(删除所有的计划任务)
crontab -e 使用编辑器编辑当前的crontab文件
重点关注以下目录是否存在恶意脚本:
/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/* #查看目录下所有文件 系统服务
服务自启动:
修改 /etc/re.d/rc.local 文件,加入 /etc/init.d/httpd start
查询RPM包安装的服务:
chkconfig --list #查询服务自启动状态,可以看到所有的RPM包安装的服务
ps aux | grep crond #查看当前服务
系统在3和5级别下的启动项
中文环境
chkconfig --list | grep "3:启动\|5:启动"
英文环境
chkconfig --list | grep "3:on\|5:on"
查询源码包安装的服务:
查看服务安装位置,一般在 /user/local/
搜索 /etc/rc.d/init.d/ 查看是否存在 检查异常文件
查看敏感目录,如 /tmp目录下的文件,同时注意隐藏文件夹,以“..”为名称的文件夹具有隐藏属性
得到发现WEBSHELL、远控木马的创建时间,找出同一时间创建的文件
find /opt -iname "*" -atime 1 -type f #找出 /opt 下一天前访问过的文件
针对可疑文件可以使用 stat进行创建修改时间

安全运维 - Linux系统攻击回溯的更多相关文章

  1. 安全运维 - Linux系统攻击应急响应

    Linux 应急相应 - 总纲 应急准备: 制定应急策略 组建应急团队 其他应急资源 安全事件处理: 痕迹数据获取 分析.锁定攻击源删除可疑账号关闭异常进程.端口禁用相应异常开机启动项删除异常定时任务 ...

  2. 安全运维 - Windows系统攻击回溯

    Windows应急事件 病毒.木马.蠕虫 Web服务器入侵事件或第三方服务入侵事件 系统入侵事件 网络攻击事件(DDOS.ARP.DNS劫持等) 通用排查思路 获知异常事件基本情况 发现主机异常现象的 ...

  3. 安全运维 -- Linux服务器使用公私钥密匙证书登录

    环境:Ubuntu 16 前言 黑客遍地都是,ssh/pop3/ftp等爆破工具的流行让站长的日常运维工作量大大加重.Metasplot,Bruter等工具更是针对以上协议有专门 的破解方法,有字典破 ...

  4. 安全运维 - Linux系统维护

    命令相关 帮助信息命令:help.whatis.info.which.whereis.man 目录管理: cd.ls.mkdir.rm.chmod.mv 用户管理: groupadd.groupdel ...

  5. Linux运维工程师学习大纲

    linux运维课程大纲: Linux运维: Linux系统管理: Linux服务及安全管理: httpd,lamp,lnmp cache:memcached,varnish DB:mysql(mari ...

  6. Linux运维完全小白入门指南

    前几天整理了一下自己入门时候搜集的资料,一边整理一边回忆. 那时候我还是个小白,用虚拟机装了个CentOS系统来玩,但是总也装不上,在论坛上求助也没人理.半天终于有个人说在某网站看过这个问题,我又找了 ...

  7. 一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011

    一个兼职DBA的数据库运维经验 小米科技  xx@xiaomi.com 2011 内存扩容 16G->64G ,调大bp后,凌晨说监控物理内存有余量情况下,开吃swap,内存泄露措施1  定时 ...

  8. Linux运维人员如何学习python编程

    Linux运维人员如何学习python编程 从不会写代码,到自己独立能写代码解决问题 .这个问题很重要!盲目学习所谓的项目,最后 还是不会自己写代码解决问题.首先解决了独立能写代码解决问题,再通过项目 ...

  9. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

随机推荐

  1. Linux之目录配置

    Linux目录配置标准:FHS 主要目的,希望让用户可以了解到已安装软件通常放置于哪个目录下. FHS定义了三层主目录:/./usr./var 1. /(root,根目录) (1)根目录与开机.还原. ...

  2. Kali Linux的发展史,专为数字取证和渗透测试而设计

    Kali Linux拥有非常强大的网络功能,Kali Linux是一个Debian衍生的Linux发行版,专为数字取证和渗透测试而设计.它是由OffensiveSecurityLtd维护和资助,是由M ...

  3. SpringCloud学习系列-SpringCloud

    SpringCloud是什么? SpringCloud=分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶 SpringCloud,基于SpringBoot提供了一 ...

  4. Ldap 从入门到放弃(一)

    OpenLDAP 2.4版本 快速入门 本文内容是自己通过官网文档.网络和相关书籍学习和理解并整理成文档,其中有错误或者疑问请在文章下方留言. 一.Introduction to OpenLDAP D ...

  5. Spring Cloud(2)主要组件应用实例

    SpringCloud SpringCloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.负载均衡.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行 ...

  6. Spark--wordcount(词频降序)

    import org.apache.spark.{SparkConf, SparkContext} object wc2 { def main(args: Array[String]): Unit = ...

  7. react native之使用 Fetch进行网络数据请求

    这是一个单独的页面,可以从其他地方跳转过来. 输入语言关键字,从github检索相关数据 import React, {Component} from 'react'; import { StyleS ...

  8. luogu P1037 产生数 x

    P1037 产生数 题目描述 给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15). 规则: 一位数可变换成另一个一位数: 规则的右部不能为零. 例如:n=234.有规则( ...

  9. 【PowerOJ1752&网络流24题】运输问题(费用流)

    题意: 思路: [问题分析] 费用流问题. [建模方法] 把所有仓库看做二分图中顶点Xi,所有零售商店看做二分图中顶点Yi,建立附加源S汇T. 1.从S向每个Xi连一条容量为仓库中货物数量ai,费用为 ...

  10. windows及linux下 golang开发环境配置

    windows环境: 1.系统以及软件包版本: OS: windows 8.1  64位  x64处理器 GO:安装包:go1.7.3.windows-amd64.mis IDE:压缩包:liteid ...