被黑客攻击了?无所谓,我会拔网线。。。

news2024/11/24 13:05:32

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》

最近老是有粉丝问我,被黑客攻击了,一定要拔网线吗?还有没有别的方法?

按理说,如果条件允许,一定是先拔网线,防止横向传播。

但很多时候并不能拔网线,比如云服务器这种,网线咱也碰不到呀。

实际上,遇到黑客攻击,并非只有拔网线这一条路,黑客也是人,只要他来攻击,就一定会留下蛛丝马迹。

接下来,我们从7个方向入手,讲解一下分析思路,了解黑客的攻击路径,甚至反制。
在这里插入图片描述

  • 一、账户分析
    • 1、排查可疑账户
    • 2、登录情况
    • 3、历史命令
  • 二、日志分析
  • 三、进程分析
    • 1、查看进程
    • 2、查看进程执行文件
  • 四、网络连接
    • 1、查看网络链接状态
    • 2、威胁情报分析
  • 五、启动项
    • 1、开机启动文件
    • 2、开机启动命令
    • 3、环境变量配置文件
  • 六、计划任务
  • 七、敏感目录文件
    • 1、近期被修改的文件
    • 2、敏感目录

一、账户分析

/erc/passwd 文件存放用户信息。
/bin/bash 表示账户状态为可登录;/sbin/nologin 表示用户状态为不可登录。

在这里插入图片描述

/etc/group 文件存放用户组信息

在这里插入图片描述

1、排查可疑账户

重点排查id大于1000的用户(新建的用户,id会大于1000,系统用户均小于500)。
awk -F: '($2=="")' /etc/shadow 查找空口令账号
awk -F: '($3==0)' /etc/passwdgrep "0:0" /etc/passwd 查找UID为0的超级权限账号,确保只有root。
grep "/bin/bash" /etc/passwd 查找可登录的账号

2、登录情况

who -b 上一次启动时间

在这里插入图片描述

w 查看登录的用户(登录时间、登录IP、正在执行的程序)。

在这里插入图片描述

lastb 查看用户失败信息。

在这里插入图片描述

lastlog 查看所有用户最后登录的信息。

在这里插入图片描述

last 查看最近的登录信息(包含系统开关机)

在这里插入图片描述

3、历史命令

history 查看历史命令。( 会被 history -c 清除)。
/root/.bash_history 文件保存root用户的历史命令
/home/user001/.bash_history 文件保存普通用户的历史命令

history 的历史命令会被 history -c 清除,而 bash_history 文件中的历史命令需要删除文件才能清除。

重点查看可疑历史命令,比如:wget(远程下载),ssh(连接内网),tar zip(压缩打包)

针对重装带后门的SSH服务(内置一个账户,不在系统中显示),可以检查修改修改时间,或者 ssh -V 查看版本。

在这里插入图片描述


二、日志分析

Linux系统日志默认放在 /var/log/

  • /var/log/cron 计划任务日志。
  • /var/log/dmesg 开机自检日志(dmesg命令查看)。
  • /var/log/maillog 邮件日志。
  • /var/log/messages 系统日志(系统出现问题时,重点查看此日志)。
  • /var/log/secure 应用的登录信息及输入的账号密码。

grep "Accepted" /var/log/secure 过滤登录成功的日志

在这里插入图片描述

grep "Failed" /var/log/secure 过滤登录失败的日志

在这里插入图片描述

​/var/log/apache2/access.log Apache访问日志


三、进程分析

重点关注那些结束后会重新启动的进程,按照启动项的步骤分析它重启的方式。

1、查看进程

ps -ef 查看所有进程

在这里插入图片描述

ps -aux 查看所有进程,同时显示CPU和内存的使用情况。

在这里插入图片描述

top 查看CPU占用特别高(80%以上)的进程,可能是挖矿或业务高峰。

在这里插入图片描述

kill -9 PID 根据PID结束进程。

2、查看进程执行文件

ls0f -p 1546 查看PID为1546的进程打开的文件,第三行是进程对应的执行文件。

在这里插入图片描述

ll /proc/1546/exe 查看PID为1546的进程对应的执行程序。

在这里插入图片描述

lsof -i:22 查看22端口对应的进程。

在这里插入图片描述


四、网络连接

检查可疑的网络连接,可疑IP、域名、文件可疑拿到威胁情报平台去分析。

1、查看网络链接状态

netstat -anopt 检查网络连接状态,LISTEN表示监听状态(等待连接);ESTABLISHED表示打开的连接。

在这里插入图片描述

如果已经知道恶意IP,可以过滤查看与恶意IP通信的网络连接 netstat -anopt | grep 192.168.31.28

如果只知道恶意域名,可以修改 /etc/hosts 文件,将恶意域名重定向到其他任意IP,然后再过滤跟这个IP通信的网络连接。

在这里插入图片描述

2、威胁情报分析

威胁情报平台可以查询域名、IP、文件的可信度,存在攻击痕迹就立即封禁。

奇安信威胁情报:https://ti.qianxin.com/
微步在线:https://x.threatbook.com/
VirusTotal:https://www.virustotal.com/gui/home/upload
安恒威胁情报:https://ti.dbappsecurity.com.cn/
深信服威胁情报:https://ti.sangfor.com.cn/analysis-platform
VenusEye威胁情报:https://www.venuseye.com.cn/
360威胁情报:https://ti.360.net/#/homepage


五、启动项

为了防止被控机器失联,很多恶意程序会将自己放到开机启动项中。

1、开机启动文件

检查是否有异常的自启动文件,同时注意文件内容是否被篡改,插入恶意指令。

1)/etc/rc.local

最后一行是脚本,开机引导期间执行。

在这里插入图片描述

/etc/rc.local/etc/rc.d/rc.local 的软连接,两个文件作用相同。

在这里插入图片描述


2)/etc/init.d/

目录下有很多系统服务的启动脚本,在系统启动(引导完成)后执行。

在这里插入图片描述

/etc/init.d//etc/rc.d/init.d/ 的软连接,两个文件作用相同。

在这里插入图片描述

Ubuntu没有 /etc/rc.d/init.d 这个目录,为了保持同一种服务在CentOS和Ubuntu使用的统一性,将服务脚本都放在 /etc/init.d 目录下。


3)/etc/rc*.d

检查其他开机启动目录中,服务启动脚本是否被篡改。

在这里插入图片描述

2、开机启动命令

systemctl list-unit-files 查看服务状态
systemctl list-unit-files | grep firewalld 查看指定服务状态
systemctl stop firewalld.service 停止服务
systemctl disable firewalld.service 禁止开机自启动

查看服务启动状态,enabled表示能够开机自启动;disabled表示不能开机自启动。

在这里插入图片描述

查看指定服务是否开机自启动,并关闭开机自启动。

在这里插入图片描述

3、环境变量配置文件

这些文件用来配置环境变量和启动程序,开机登录用户或者切换用户时触发。

  • /etc/bashrc
  • /etc/profile
  • ~/.bashrc
  • ~/.bash_profile

六、计划任务

crontab -l 查看当前用户的计划任务。
crontab -l -u root 查看指定用户的计划任务。

/etc/crontab 保存定时任务
/etc/anacrontab 保存异步定时任务
/var/spool/cron/ 目录存放每个用户的的定时任务。

在这里插入图片描述

/etc/cron.d 目录存放需要执行的定时任务文件。

在这里插入图片描述

/etc/cron.hourly/ 每小时执行一次的任务
/etc/cron.daily/ 每天执行一次的任务
/etc/cron.weekly/ 每周执行一次的任务
/etc/cron.monthly/ 每月执行一次的任务


七、敏感目录文件

webshell通常会包含恶意函数,比如:

  • PHP:eval()、system()、assert()
  • JSP:getRunTime()、FileOutputStream()
  • ASP:eval()、execute()、ExecuteGlobal()

寻找可疑文件,并检查文件中是否包含这类恶意函数,从而确定它是不是webshell。

1、近期被修改的文件

find /root/ -ctime -2 查找/root/目录下,两天内新创建的文件。
find /root/ -mtime -2 查找/root/目录下,两天内被修改过的文件。

在这里插入图片描述

stat text.txt 查看文件的详细信息,重点看访问/修改/时间。

在这里插入图片描述

ls -alt 按照文件修改时间排序

2、敏感目录

/tmp/ 临时目录,普通用户对其目录内的文件都具有读写的权限,通常用于提权。
/usr/bin/
/usr/sbin/
/etc/ssh/

总结:

应急响应思路大致分为三个部分:

  1. 找到webshell
  2. 确定攻击IP
  3. 回溯攻击操作并梳理攻击过程。

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

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

相关文章

C/S客户端核服务端-简单收发

一、程序 首先上程序 client端的程序 #include <arpa/inet.h> #include <netinet/in.h> #include <netinet/ip.h> #include <stdio.h> #include <stdlib.h> #include <strings.h> #include <sys/socket.h> #include <sys/type…

keep-alive 是 Vue 内置的一个组件,被用来缓存组件实例。

文章目录 简介注意点使用 keep-alive 有以下优缺点优点缺点 简介 keep-alive 是 Vue 内置的一个组件&#xff0c;被用来缓存组件实例。 使用 keep-alive 包裹动态组件时&#xff0c;被包裹的组件实例将会被缓存起来&#xff0c;而不会被销毁&#xff0c;直到 keep-alive 组件…

LSM零知识学习一、概念与框架机制

本文内容参考&#xff1a; LSM(Linux Security Modules)框架原理解析_lsm框架_pwl999的博客-CSDN博客 LSM相关知识及理解-布布扣-bubuko.com 一文了解Linux安全模块&#xff08;LSM&#xff09; - 嵌入式技术 - 电子发烧友网 在此特别致谢&#xff01; 一、什么是LSM LSM全…

HiFB 与Linux Framebuffer的对比

引言 HiFB和Linux Framebuffer是两种不同的图形缓冲区技术&#xff0c;它们在处理计算机图形显示方面有着重要的作用。以下是对这两种技术的简短定义&#xff1a; HiFB&#xff08;High-performance Intelligent FrameBuffer&#xff09;&#xff1a;HiFB是华为推出的一种高性…

Socket(五)

文章目录 1. 日志2. 如何记录日志 1. 日志 服务器要在无人看管的情况下运行很长时间&#xff0c;通常需要在很久以后对服务器中发生的情况进行调试&#xff0c;这很重要。由于这个原因&#xff0c;建议在存储服务器日志&#xff0c;至少要存储一段时间的日志。日志中通常希望记…

ARM微架构与程序编写

目录 1.流水线 2.指令流水线 3. 多核处理器​编辑 4. 工程搭建 4.1为Keil软件配置编译工具链 5.程序编写 5.1 数据处理指令 5.2 带标志位的加法ADC ADDS 5.3 跳转指令B\BL 5.4 单寄存器内存访问 5.5 批量寄存器内存访问 5.6 满减操作 1.流水线 2.指令流水线 3.…

算法基础学习笔记——⑭欧拉函数\快速幂\扩展欧几里得算法\中国剩余定理

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法基础学习 目录 ✨欧拉函数 &#x1f353;求欧拉函数 : &#x1f353;筛法求欧拉函数 : ✨快速幂 ✨扩展欧几里得算法 ✨中国剩余定理 前言&#xff1a;算法学习笔记记录日常分享&#xff0c;需要的看哈O(∩_∩)O&#…

chatgpt赋能python:Python中的倒序输出方法

Python中的倒序输出方法 在Python中&#xff0c;倒序输出是一个经常用到的操作。倒序输出可以用于字符串、列表、元组等数据类型&#xff0c;帮助我们更方便地处理数据。 字符串的倒序输出 对于字符串&#xff0c;我们可以使用字符串切片的方法倒序输出。例如&#xff0c;我…

十二、Vben之Vue3+vite跨域代理地址实现

在vue2中使用proxy进行跨域的原理是:将域名发送给本地的服务器(启动vue项目的服务,loclahost:8080),再由本地的服务器去请求真正的服务器。 代码如下: 1.在proxy中设置要访问的地址,并重写/api为空的字符串,这里如果不重写,会相当于在代理的地址上默认加了/api,所以…

chatgpt赋能python:Python中安装jieba分词器

Python中安装jieba分词器 介绍 中文分词是文本挖掘中非常重要的一个环节&#xff0c;而jieba是Python中最受欢迎的中文分词器之一。jieba分词器是基于汉语词汇库进行分词&#xff0c;并支持多种分词模式&#xff0c;可以满足不同场景的分词需求。 本文将介绍如何在Python环境…

chatgpt赋能python:Python中如何安装pip

Python中如何安装pip 什么是pip&#xff1f; pip&#xff0c;全称pip installs packages&#xff0c;是一个Python包管理工具&#xff0c;可以用来安装、升级和卸载Python包。它广泛地应用于Python社区&#xff0c;可以帮助Python开发者快速地获取和分享Python代码。 安装pi…

对比 RS232,RS422,RS485

对比 RS232,RS422,RS485 首先&#xff0c; 串口、UART口、COM口、RJ45网口、USB口是指的物理接口形式(硬件)。TTL、RS-232、RS-485、RS-422是指的电平标准(电信号)。 RS232,RS422,RS485 对比表格 通信标准RS-232RS-422RS-485工作方式单端差分差分通信线数量4 地线52 地线3节…

《深入理解计算机系统(CSAPP)》第5章 优化程序性能 - 学习笔记

写在前面的话&#xff1a;此系列文章为笔者学习CSAPP时的个人笔记&#xff0c;分享出来与大家学习交流&#xff0c;目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记&#xff0c;在复习回看时发现部分内容存在一些小问题&#xff0c;因时间紧张来不及再次整理…

Java中如何判断是否为闰年

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;Java经典程序设计 目录 ✨介绍 &#x1f353;引言&#xff1a;闰年的定义和在编程中的应用 &#x1f353;目的&#xff1a;介绍如何使用Java编写一个函数来判断年份是否为闰年 ✨闰年的条件 ✨提供数学原理和背景知识 &…

软考A计划-试题模拟含答案解析-卷十一

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

牛客网刷题学习SQL(三)

SQL23 统计每个学校各难度的用户平均刷题数 首先分析题目&#xff1a; 想要计算一些参加了答题的不同学校、不同难度的用户平均答题量 不同学校&#xff1a; group by 学校 不同难度&#xff1a; group by 难度 平均答题量&#xff1a;注意用户去重&#xff0c;还有指定questi…

python:绘制GAM非线性回归

作者&#xff1a;CSDN _养乐多_ 本文将介绍使用python语言绘制广义线性模型&#xff08;Generalized Additive Model&#xff0c;GAM&#xff09;非线性回归散点图和拟合曲线。并记录了计算RMSE、ubRMSE、R2、Bias的代码。 文章目录 一、GAM非线性回归详解二、代码三、计算RM…

华为OD机试真题B卷 Java 实现【统计字符】,附详细解题思路

一、题目描述 输入一行字符&#xff0c;分别统计出包含英文字母、空格、数字和其它字符的个数。 数据范围&#xff1a;输入的字符串长度满足 1 \le n \le 1000 \1≤n≤1000 。 二、输入描述 输入一行字符串&#xff0c;可以有空格。 三、输出描述 统计其中英文字符&#…

chatgpt赋能python:Python中如何空一行

Python中如何空一行 在Python编程中&#xff0c;许多情况下我们需要在输出内容的时候空出一行。今天我们将介绍如何在Python中实现空一行的方法。 方法1&#xff1a;使用print()函数 在Python中&#xff0c;我们可以使用print()函数打印空行。我们只需在print()函数中输入两…

并发编程 原子性 可见性 有序性

并发编程的三个重要特性 原子性所谓原子性是指在一次的操作或者多次操作中&#xff0c;要么所有的操作全部都得到了执行并且不会受到任何因素的干扰而中断&#xff0c;要么所有的操作都不执行。可见性可见性是指&#xff0c;当一个线程对共享变量进行了修改&#xff0c;那么另…