日志分析 入侵检测--实战

2023-10-29

收到客户服务器被入侵消息,希望我给他做一次入侵排查,刚做完顺手记录一下

入侵排查思路

0x01、日志分析

1、爆破ip统计

grep -i Failed /var/log/secure |awk '{print $(NF-3)}' | sort | uniq -c | sort -rn 

这里爆破的Ip地址居然是内网IP,出乎意料,留待后续研究

2、登录成功的IP统计

grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

涉及敏感信息有的就不贴图了

3、爆破使用的密码统计

grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

 4、登录成功的IP 信息(包含日期,用户名,信息)

grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' 

对上述统计的信息进行分析,观察爆破IP是否成功登录,爆破所用的密码是否是服务器密码,以及登录成功的IP是否有陌生IP,弱口令往往是最容易突破的点。

0x02、passwd shadow 文件

1、cat  /etc/passwd  && cat /etc/shadow

查看是否有新增的,陌生的,高权限账户

2、lsattr /etc/passwd  && lsattr /etc/shadow

查看文件权限是否被更改,入侵者大都会修改文件权限阻止你去删除里面的新增账户

若是被更改,可使用  chattr -ai +文件清除“ai”权限,然后再删除新增的恶意用户

0x03、历史命令

1、history

直接运行history 查看运行过的命令,但大多数的入侵者会执行history -c 去清除历史记录,意义并不大,但是谁敢保证没有傻黑客呢,所以这步必不可少。

 2、给历史命令加上时间戳

#我们设置了一个环境变量
[roc@roclinux ~]$ export HISTTIMEFORMAT='%F %T '
 
#再来看history
[roc@roclinux ~]$ history
    1  2016-04-06 12:15:59 cat .bash_history
    2  2016-04-06 12:15:59 echo "" > .bash_history
    3  2016-04-06 12:15:59 ls
    4  2016-04-06 12:15:59 man ls
    5  2016-04-06 12:15:59 date
    6  2016-04-06 12:15:59 logout
    7  2016-04-06 12:16:16 history
    8  2016-04-06 12:18:15 export HISTTIMEFORMAT='%F %T '
    9  2016-04-06 12:18:20 history

3、系统的障眼法

事情的真相是这样的:history-c 命令删除的只是 Linux 系统内存中的历史命令,当 Shell 退出时,就不会有历史命令追加到文件 .bash_history 中。但当重新登录到 Shell 时,Shell 便会加载文件 .bash_history,该文件中存储着曾经输入的历史命令,因此,系统的历史命令就又出现了。

那么如何真正彻彻底底地删除所有的历史命令呢?我们可以采用以下方法。

[roc@roclinux ~]$ history -c
[roc@roclinux ~]$ history -w


history-w 的作用就是用内存中的历史命令覆盖 .bash_histroy 文件的内容,这样,即使 Shell 重新加载也加载不到任何命令了,因为此时 .bash_history 文件中已经空空如也了。

0x04、隐藏进程&&端口连接情况

1、安装atop查看异常进程

安装

centos:yum install -y atop
ubuntu:apt-get install -y atop

启动

# 启动atop
/etc/init.d/atop start
systemctl start atop

运行

atop -g

观察是否有陌生进程,入侵者会修改进程的名称来迷惑我们,例如这里的java8_8就是一个恶意的。

通过进程的端口号来查找文件的位置

 ls -l proc/进程号/exe

2、查看端口连接情况

netstat -ano

红色方框内的内容,又帮我回忆了一手三次握手和四次挥手,哈哈,言归正传,观察除正常服务外是否有不正常连接,通过端口查找进程和文件路径,之前好像看到过影子端口,后续研究下

0x05、开机启动项

查看开机启动项,命令如下,也会修改名称迷惑我们,注意注意,使用find 命令查找路径

>systemctl list-unit-files |grep enable
AssistDaemon.service                          enabled 
atd.service                                   enabled 
auditd.service                                enabled 
autovt@.service                               enabled 
cloud-config.service                          enabled 
cloud-final.service                           enabled 
cloud-init-local.service                      enabled 
...

0x06、是否添加免登录密钥

cd /root/.ssh

lsattr

此处也添加了特殊权限,防止被删

 0x07、查看定时任务

crontab -l | grep -v ^# | wc -l

定时任务列表以及条数统计,定时任务一般会隐藏起来,不太好找

vim /etc/crontab

通过关键词搜索,最终找到了运行脚本的定时任务

 脚本就下次分析了》》》》》》》》》》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

日志分析 入侵检测--实战 的相关文章

  • substring的常用两个方法

    概述 1 substring是用来截取字符串的 根据参数的个数不同 方法含义也不同 2 substring 0 2 这个只含开头不含结尾 因此截取是截取两个字符 从第一个到第二个字符 不包含第三个 3 substring 2 这个表示截掉前
  • javaweb-30:smbms项目搭建

    SMBMS 数据库 sql脚本 通过sqlyog图形化界面操作 在历史记录中对应相应的sql 表的引擎默认为InnoDB 字符集和核对默认和数据库一致 CREATE DATABASE smbms CHARACTER SET utf8 COL
  • java堆外内存泄漏分析排查

    JAVA堆外内存分析 文章目录 JAVA堆外内存分析 1 前言 2 准备 3 具体分析 3 1堆外溢出风险判断 3 1 1确认java进程号 3 1 2查看此java进程的jvm参数 3 1 3查看java进程的大概内存占用情况 3 1 4
  • bug: tab 标签页界面切换导致echarts图表默认宽度100px的问题

    bug tab 标签页界面切换导致echarts图表默认宽度100px的问题 最近在bootstrap中使用echarts 本来在一个页面显示全部图表时是正常的 后面使用tab标签页界面切换不同表格时碰到的一个echarts bug tab
  • 【CSDN开发云】光速认识Cloud IDE

    个人格言 时间是亳不留情的 它真使人在自己制造的镜子里照见自己的真相 Git专栏 Git篇 你的一键三连是对我的最大支持 CSDN最新产品 云IDE 来啦 云IDE 将为各位技术er一键秒级构建云开发环境 提升开发效率 为持续提升产品体验

随机推荐

  • javaScript数组方法记录——持续补充

    javaScript数组方法记录 将平时用到的或者可能用到的记录一下 有助于加深记忆 查找起来也方便 concat concat 方法用于 连接 两个或者多个 数组 会返回合并数组之后的数据 不会改变原来的数组 let a 张三 李四 赵五
  • DC基础学习(五)Verilog语言结构到门级的映射1

    Design Compiler 以下简称DC 是Synopsys公司用于做电路综合的核心工具 可以将HDL描述的电路转换为基于工艺库的门级网表 本系列主要介绍综合相关的知识以及DC工具的使用 Verilog编码效率的高低是综合后电路性能高低
  • 「Python 基础」网络编程、电子邮件

    文章目录 1 网络编程 TCP IP TCP 编程 服务端 客户端 UDP 编程 服务端 客户端 2 电子邮件 SMTP 发送邮件 POP3 收取邮件 1 网络编程 网络通信就是两个进程之间的通信 TCP IP IP 地址 计算机的网络接口
  • Nginx入门和反向代理

    文章目录 1 Nginx简介 2 Nginx在Linux上安装 2 1先去 nginx官网 http nginx org en download html 下载压缩包 2 2把压缩包上传到Linux中 2 3 安装依赖环境 2 4 解压 需
  • 一个Python示例,它演示了如何定义一个函数,计算两个数字的乘积

    一个Python示例 它演示了如何定义一个函数 计算两个数字的乘积 定义一个函数 计算两个数字的乘积 def multiply x y return x y 调用函数 并将结果存储在变量中 result multiply 5 10 输出函数
  • shell脚本实现C程序日志分流和多Terminal显示

    日志打印是软件必需的功能 通常C程序会将所有运行日志输出到指定LOG 一 有时候需要在C程序运行期间查看实时日志 最好地 可以根据关键字筛选自己想要查看的内容 二 有时候 希望另开Terminal去查看日志 而不是使用当前的Terminal
  • python怎么遍历文件夹_python遍历文件夹,指定遍历深度与忽略目录的方法

    背景 需要在文件夹中搜索某一文件 找到后返回此文件所在目录 用最常规的os listdir 方式实现了一版 但执行时报错 递归超过最大深度 于是自己添加了点功能 之所有写此函数是为了让它适应不同的项目 因为有项目要找的文件在第一层 有的在第
  • 趣味面试题

    趣味面试题集锦 最近看了不少关于求职面试的试题 在其中发现了不少有意思的题目 特整理后发表上来与大家一起分享 为了方便与以后添加的题目区别 每次更新会以 A B 的方式标注 A 1 如何将 a b 的值进行交换 并且不使用任何中间变量 解析
  • 【超详细】使用Git上传本地文件夹到GitHub main branch

    最近对Tensorflow Object Detection Tutorial进行更新 想把本地建好的文件夹上传到main brach而不是master brach 一 新建仓库 Repository 在GitHub上登陆你的账号 点击 N
  • qDebug 学习小结

    在qtcentre中看到有网友问这样一个问题 Why this doesn t work qDebug lt lt Test lt lt std endl 第一反应 这两个东西本来就不能这样搭配使用啊 第二反应 额 如何解释这个问题呢 还真
  • SQL基础教程系列_基于Postgresql_创建表时的中文乱码问题(附如何修改注册表更改dos encoding方式)

    创建表时的中文乱码问题 具体分为两种 一种是输入进去就不显示中文 第二种是当上传到服务器端会返回乱码 具体原因可以参考 http www cnblogs com winkey4986 p 6279243 html 一篇博客 及 http w
  • localStorage.getItem

    1 localStorage getItem WEB应用的快速发展 是的本地存储一些数据也成为一种重要的需求 实现的方案也有很多 最普通的就是cookie了 大家也经常都用 但是cookie的缺点是显而易见的 其他的方案比如 IE6以上的u
  • 【华为OD机试】最大花费金额 (C++ Python Java)2023 B卷

    题目描述 双十一众多商品进行打折销售 小明想购买自己心仪的一些物品 但由于受购买资金限制 所以他决定从众多心仪商品中购买三件 而且想尽可能的花完资金 现在请你设计一个程序帮助小明计算尽可能花费的最大资金数额 输入描述 输入第一行为一维整型数
  • 【AI with ML】第 1 章 :TensorFlow 简介

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 并发编程(三)——多线程之间如何实现通讯

    前言 欢迎大家一起来学习多线程 大家一起来学习吧 并发编程 一 多线程快速入门 并发编程 二 内存模型 并发编程 三 多线程之间如何实现通讯 并发编程 四 JUC并发包常用方法介绍 并发编程 五 线程池及原理剖析 并发编程 六 java中锁
  • 设置PWM占空比中TIM_SetCompare1,TIM_SetCompare2,TIM_SetCompare3,TIM_SetCompare4分别对应引脚和ADC通道对应引脚

    这个函数TIM SetCompare1 这个函数有四个 分别是TIM SetCompare1 TIM SetCompare2 TIM SetCompare3 TIM SetCompare4 位于CH1那一行的GPIO口使用TIM SetCo
  • leetcode-283-移动零

    移动零 给定一个数组 nums 编写一个函数将所有 0 移动到数组的末尾 同时保持非零元素的相对顺序 示例 输入 0 1 0 3 12 输出 1 3 12 0 0 说明 必须在原数组上操作 不能拷贝额外的数组 尽量减少操作次数 解法一 计算
  • STM32L4-RS485+DMA中断通信实验+字节丢失处理[寄存器版]

    基本设置 MCU采用 STM32L431RCT6 485芯片采用 ADM3485 采用串口经由RS485 使用DMA向串口调试助手传送数据 相关配置与前文基本相同 STM32L4 双路RS485自收发通信实验 寄存器版 staypt的博客
  • 我看鸿蒙操作系统

    华为宣布推出鸿蒙操作系统 其实我觉得能理解 但也蛮无奈的 所谓不得已而为之 google不提供后续版本授权 不提供新的支持 怎么办 硬着头皮也要上 有些自媒体说什么安卓慌了 google吓坏了 我真的想骂人 一群王八蛋为了点击率什么都敢写
  • 日志分析 入侵检测--实战

    收到客户服务器被入侵消息 希望我给他做一次入侵排查 刚做完顺手记录一下 入侵排查思路 0x01 日志分析 1 爆破ip统计 grep i Failed var log secure awk print NF 3 sort uniq c so