Linux入侵应急响应与排查

入侵者在入侵成功后,往往会留下后门以便再次访问被入侵的系统, 而创建系统账号是一种比较常见的后门方式。

查询特权用户特权用户(uid 为0)

awk -F: '$3==0{print $1}' /etc/passwd

查找远程可以登录的账户

awk '/\$1|\$5|\$6/{print $1}' /etc/shadow

$1:MD5(长度 22个字符)

$5:SHA-256(长度 43 个字符)

$6:SHA-512(长度86 个字符)

检查sudo权限

cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL"

删除或锁定账号

通过上面的步骤可以找到可疑的账号

usermod -L rooot #禁用帐号,帐号无法登录
userdel rooot    #删除user用户
userdel -r rooot #将删除root用户,并且将/home目录下的root目录一并删除

查看当前登录系统的信息

who    #查看当前登录用户(tty本地登陆  pts远程登录)
w      #查看系统信息,想知道某一时刻用户的行为
uptime #查看登陆多久、多少用户,负载

检查异常端口

使用netstat 网络连接命令,分析可疑端口、IP、PID等信息。

netstat -tunlp | less

抓包分析

tcpdump -c 10 -q #精简模式显示 10个包

使用ps命令检查可疑的进程

ps -ef

查超系统中占用资源最高的资源

top

发现异常进一步检查

ps eho command -p $PID  #查看该进程启动的完整命令行
readlink /proc/$PID/cwd #查看该进程启动时候所在的目录
ls -l /proc/$PID/exe    #查看下pid所对应的进程文件路径
strings -f /proc/$PID/environ | cut -f2 -d '' #查看该进程启动时的完整环境变量:
lsof -p $PID #列出该进程所打开的所有文件

检查系统服务

Linux系统服务管理,CentOS7使用systemd控制 CentOS6之前使用chkconfig控制。 查看正在运行的服务 service --status-all | grep running

检查开机自启的服务

对于systemd服务管理器来说,可以通过下述方式查看开机自启的服务

systemctl list-unit-files --type=service | grep "enabled"

chkconfig就是CentOS6以前用来控制系统服务的工具,查看服务自启动状态

chkconfig --list | grep "3:on\|5:on"

检查启动项脚本

命令查看下开机启动项中是否有异常的启动服务。

cat /etc/rc.local

检查计划任务

利用计划任务进行权限维持,可作为一种持久性机制被入侵者利用。检查异常的计划任务,需要重点关注以下目录中是否存在恶意脚本。

/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/*

检查系统的异常文件

查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以.为名的文件夹具有隐藏属性

ls -al

查找1天以内被访问过的文件

find /opt -iname "*" -atime 1 -type f

-iname不区分大小写,-atime最近一次被访问的时间,-type文件类型

检查历史命令

查看被入侵后,在系统上执行过哪些命令,使用root用户登录系统,检查/home目录下的用户主目录的.bash_history文件

默认情况下,系统可以保存1000条的历史命令,并不记录命令执行的时间,根据需要进行安全加固。

检查系统日志

在Linux上一般跟系统相关的日志默认都会放到/var/log下面,
若是一旦出现问题,用户就可以通过查看日志来迅速定位,
及时解决问题。常用日志文件如下:

/var/log/btmp

记录错误登录日志,这个文件是二进制文件,不能用vi直接查看,可以用lastb看

/var/log/lastlog

记录系统中所有用户最后一次成功登录系统的时间,这是一个二进制文件,不能用vi查看,可以用lastlog查看

/var/log/wtmp

永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。
同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看。

/var/log/utmp

记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化
只记录当前登录用户的信息。
同样这个文件不能直接vi, 而要使用w,who,users等命令来查询。

/var/log/secure

记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录
比如SSH登录,su切换用户,sudo授权, 甚至添加用户和修改用户密码都会记录在这个日志文件中

数据库日志

在数据泄漏方面,mysql或者其他数据库的日志就非常重要了,首先查看mysql配置文件配置了哪几种日志记录,如bin log,query log慢查询日志,慢查询日志要在超过特定阀值,才会触发

登陆mysql执行,查看是否开启日志记录

show variables like'%general%';
show variables like'slow_query%';

查看相关的日志

1659948923_62f0cf7b32ef3ea3caf7a.png!small?1659948923776

Mysql慢查询日志分析工具mysqldumpslow,使用方法如下

mysql慢查询分析工具_mysql慢查询日志分析工具-CSDN博客

查找登录系统失败的20个账号

lastb | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 20

查看哪些IP在爆破

grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

查看哪些IP登录成功了

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

登录成功的日期,用户名,IP

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

webshell排查

D盾查杀

使用自行研发不分扩展名的代码分析引擎,能分析更为隐藏的 WebShell 后门行为。

兼容性:只提供 Windows 版本。

工具下载地址:http://www.d99net.net

河马查杀

专注 WebShell 查杀研究,拥有海量 WebShell 样本和自主查杀技术,采用传统特征+云端大数据双引擎的查杀技术。查杀速度快、精度高、误报低。

兼容性:支持 Windows、Linux,支持在线查杀。

官方网站:https://www.shellpub.com 

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

大厂面试题

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

 所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~ 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/16791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Less语言

Less是一门预编译语言,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS更易维护和扩展 Less也扩充了CSS语言,增加了诸如变量、混合运算、函数等功能。Less既可以运行在服务端(Node.js和Rhino平台)也可以运行在客户端(浏览器…

前端面试项目细节重难点(已工作|做分享)

面试官提问:需求场景:页面上有一个单选框,有是否两个选项:当用户选择是,出现一个输入框,用户可以输入内容,给后端的保存接口传入参数radio和content这两个字段,值分别是用户选项和输…

数据集005:螺丝螺母目标检测数据集(含数据集下载链接)

数据集简介 背景干净的目标检测数据集。 里面仅仅包含螺丝和螺母两种类别的目标,背景为干净的培养皿。图片数量约420张,train.txt 文件描述每个图片中的目标,label_list 文件描述类别 另附一个验证集合,有10张图片,e…

【二分查找 位运算】3145. 大数组元素的乘积

本文涉及知识点 二分查找算法合集 位运算、状态压缩、枚举子集汇总 LeetCode3145. 大数组元素的乘积 一个整数 x 的 强数组 指的是满足和为 x 的二的幂的最短有序数组。比方说,11 的强数组为 [1, 2, 8] 。 我们将每一个正整数 i (即1,2&am…

Lookin高效调试iOS App的UI

Lookin是一款iOS开发时常用的调试软件,由腾讯微信读书团队QMUI开发。 它可以查看和修改iOS App里的UI对象的软件,展示App UI图层,类似于Xcode自带的UI Inspector工具,或另一款叫做Reveal的软件。 此外,虽然Lookin主体…

内存泄漏案例分享4-异步任务流内存泄漏

案例4——异步任务内存泄漏 异步任务,代指起子线程异步完成一些数据操作、网络接口请求等,通常会使用以下API: Runnbale,Thread,线程池RxJavaHandlerThread 而这些异步任务很有可能操作内存泄漏,下面我们以Rxjava为…

【实战JVM】-基础篇-02-类的声明周期-加载器

【实战JVM】-基础篇-02-类的声明周期-加载器 3 类的生命周期3.1 生命周期的概述3.2 加载阶段3.2.1 查看内存中的对象 3.3 连接阶段3.3.1 验证阶段3.3.1.1 验证是否符合jvm规范3.3.1.2 元信息验证3.3.1.3 验证语义3.3.1.4 符号引用验证 3.3.2 准备阶段3.3.3 解析阶段 3.4 初始化…

使用OpenCV计算滑块缺口(2)

上一篇 openCV 计算滑块缺口,执行可能出现问题,这一篇文章,是上一版本的补充(https://blog.csdn.net/weixin_42883164/article/details/137604965) 实现计算滑块缺口的步骤: 接口部分参照上述文章&#xf…

创新营销之路:探索订单排队模式的无限可能

随着市场竞争的日益激烈,企业家们都在寻找新的营销策略来脱颖而出。在这里,我想向大家介绍一种充满活力和创新性的营销新模式——订单排队模式。它不仅能够有效提升用户黏性,还能为企业带来持续的增长动力。 一、订单排队模式的魅力 订单排队…

为什么建议大家加快拥抱Kotlin,说点不一样的

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 Kotlin自2017年起被Google正式宣布为Android的编程语言之一,随后在2019年进一步宣布Kotlin为Android的首选语言,普及速度…

上下文视觉提示实现zero-shot分割检测及多visual-prompt改造

文章目录 一、Closed-Set VS Open-set二、DINOv2.1 论文和代码2.2 内容2.3 安装部署2.4 使用效果 三、多visual prompt 改造3.1 获取示例图mask3.2 修改函数参数3.3 推理代码3.4 效果的提升! 四、总结 本文主要介绍visual prompt模型DINOv,该模型可输入八…

深度解析:医院管理全面数字化转型的技术实现与优势

随着科技的飞速发展,信息技术的应用已经渗透到社会的各个角落,医疗行业作为关乎人民群众生命健康的重要领域,更是急需借助科技的力量实现转型升级。在这样的时代背景下,全面数字化转型成为了医院管理创新的必由之路。 北京XXX医院…

linux下宝塔负载100%解决方法

今天发现服务器宝塔面板负载居然是100% 但是cpu 和内存其实并不高 通过命令查看主机 uptime 中load average 居然高达18.23 看来负载是真的高了 通过vmstat 看看具体问题 procs: ​ r 表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数…

Pytorch深度学习实践笔记9(b站刘二大人)

🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:pytorch深度学习 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致重复! 《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibi…

【一竞技CS2】YaLLa 2024邀请TheMongolz和BB

1、近日YaLLa Compass 2024主办方已宣布了最后两支受邀参赛的队伍是TheMongolz和BB两支战队,赛事将于6月5日至9日间在阿联酋阿布扎比的Space 42 Arena举行,总奖金为40万美元。 值得一说的是本次赛事的12支参赛队伍中,Cloud9和FURIA尚未确定参赛阵容。在arT离队后,FURIA让青训队…

LaTex安装及配置(Windows)

LaTex安装及配置(Windows) 安装环境安装texlive下载texlive安装 编辑器安装texstudio下载texstudio安装 环境配置 使用第一个LaTex文档新建文件编程查看results 安装 环境安装 texlive下载 镜像清华源下载地址:https://mirrors.tuna.tsing…

Java通过Html(ftl模板)生成PDF实战, 可支持商用

Java通过Html(freemarker模板)生成PDF实战, 可支持商用 技术架构 springboot freemarker [pdfbox] flying-saucer-pdf 生成流程: freemarker: 根据数据填充ftl模板文件,得到包含有效数据的html文件(包含页眉页脚页码的处理&#xff0c…

InteractiveGraph图谱中vue项目中如何使用

InteractiveGraph图谱中vue项目中如何使用 一、下载js和css和字体二、vue2.0项目中引用三、grap组件 一、下载js和css和字体 //在这里面找 https://github.com/grapheco/InteractiveGraph/blob/master/dist/examples/example1.html二、vue2.0项目中引用 //main.js中全局引入$ …

导入 FDTD 仿真的 S 参数到 INTERCONNECT 的器件中

导入 FDTD 仿真的 S 参数到 INTERCONNECT 的器件中 正文正文 很多时候,仿真链路比较大时,我们可以将仿真的每个部分分隔开来,用 FDTD 计算出每一部分的 S 参数,然后将这些 S 参数导入 INTERCONNECT 中得到最终的仿真结果。这里我们来介绍一下这种方法。 首先,我们从右侧…

Linux系统安装AMH服务器管理面板并实现远程访问管理维护

目录 前言 1. Linux 安装AMH 面板 2. 本地访问AMH 面板 3. Linux安装Cpolar 4. 配置AMH面板公网地址 5. 远程访问AMH面板 6. 固定AMH面板公网地址 1. 部署Docker Registry 2. 本地测试推送镜像 3. Linux 安装cpolar 4. 配置Docker Registry公网访问地址 5. 公网远程…