当前位置: 首页 > news >正文

应急响应实战笔记05Linux实战篇(1)

第1篇:SSH暴力破解

0x00 前言

​ SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包含字母等,容易被攻击者破解,一旦被攻击者获取,可用来直接登录系统,控制服务器所有权限。

0x01 应急场景

​ 某天,网站管理员登录服务器进行巡检时,发现端口连接里存在两条可疑的连接记录,如下图:

  1. TCP初始化连接三次握手吧:发SYN包,然后返回SYN/ACK包,再发ACK包,连接正式建立。但是这里有点出入,当请求者收到SYS/ACK包后,就开始建立连接了,而被请求者第三次握手结束后才建立连接。
  2. 客户端TCP状态迁移: ​ CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED 服务器TCP状态迁移: ​ CLOSED->LISTEN->SYN recv->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED
  3. 当客户端开始连接时,服务器还处于LISTENING,客户端发一个SYN包后,服务端接收到了客户端的SYN并且发送了ACK时,服务器处于SYN_RECV状态,然后并没有再次收到客户端的ACK进入ESTABLISHED状态,一直停留在SYN_RECV状态。 在这里,SSH(22)端口,两条外网IP的SYN_RECV状态连接,直觉告诉了管理员,这里一定有什么异常。

0x02 日志分析

​ SSH端口异常,我们首先有必要先来了解一下系统账号情况:

A、系统账号情况

1、除root之外,是否还有其它特权用户(uid 为0)
[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
root2、可以远程登录的帐号信息
[root@localhost ~]# awk '/\$1|\$6/{print $1}' /etc/shadow
root:$6$38cKfZDjsTiUe58V$FP.UHWMObqeUQS1Z2KRj/4EEcOPi.6d1XmKHgK3j3GY9EGvwwBei7nUbbqJC./qK12HN8jFuXOfEYIKLID6hq0::0:99999:7:::

我们可以确认目前系统只有一个管理用户root。

接下来,我们想到的是/var/log/secure,这个日志文件记录了验证和授权方面的信息,只要涉及账号和密码的程序都会记录下来。

B、确认攻击情况:

1、统计了下日志,发现大约有126254次登录失败的记录,确认服务器遭受暴力破解
[root@localhost ~]# grep -o "Failed password" /var/log/secure|uniq -c126254 Failed password2、输出登录爆破的第一行和最后一行,确认爆破时间范围:
[root@localhost ~]# grep "Failed password" /var/log/secure|head -1
Jul  8 20:14:59 localhost sshd[14323]: Failed password for invalid user qwe from 111.13.xxx.xxx port 1503 ssh2
[root@localhost ~]# grep "Failed password" /var/log/secure|tail -1
Jul 10 12:37:21 localhost sshd[2654]: Failed password for root from 111.13.xxx.xxx port 13068 ssh23、进一步定位有哪些IP在爆破?
[root@localhost ~]# 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 | sort -nr 12622 23.91.xxx.xxx8942 114.104.xxx.xxx8122 111.13.xxx.xxx7525 123.59.xxx.xxx...................4、爆破用户名字典都有哪些?
[root@localhost ~]# grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr9402  root3265  invalid user oracle1245  invalid user admin1025  invalid user user.....................

C、管理员最近登录情况:

1、登录成功的日期、用户名、IP:
[root@localhost ~]# grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' 
Jul 9 09:38:09 root 192.168.143.100
Jul 9 14:55:51 root 192.168.143.100
Jul 10 08:54:26 root 192.168.143.100
Jul 10 16:25:59 root 192.168.143.100
............................
通过登录日志分析,并未发现异常登录时间和登录IP。2、顺便统计一下登录成功的IP有哪些:
[root@localhost ~]# grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more27 192.168.204.1

通过日志分析,发现攻击者使用了大量的用户名进行暴力破解,但从近段时间的系统管理员登录记录来看,并未发现异常登录的情况,需要进一步对网站服务器进行入侵排查,这里就不再阐述。

0x04 处理措施

​ SSH暴力破解依然十分普遍,如何保护服务器不受暴力破解攻击,总结了几种措施:

1、禁止向公网开放管理端口,若必须开放应限定管理IP地址并加强口令安全审计(口令长度不低于8位,由数字、大小写字母、特殊字符等至少两种以上组合构成)。
2、更改服务器ssh默认端口。
3、部署入侵检测设备,增强安全防护。

相关文章:

应急响应实战笔记05Linux实战篇(1)

第1篇&#xff1a;SSH暴力破解 0x00 前言 ​ SSH 是目前较可靠&#xff0c;专为远程登录会话和其他网络服务提供安全性的协议&#xff0c;主要用于给远程登录会话数据进行加密&#xff0c;保证数据传输的安全。SSH口令长度太短或者复杂度不够&#xff0c;如仅包含数字&#x…...

重装系统之后,电脑连网卡都没反应怎么办?

前言 有些电脑比较奇葩&#xff0c;安装完成之后会出现网卡连驱动都没有&#xff0c;这时候要安装电脑驱动可是真的烦躁。怎么下手呢&#xff1f; 如果确定电脑的网卡型号还好&#xff0c;直接找个电脑下载个对应的网卡驱动&#xff0c;用U盘复制过去就能安装。 但如果不知道…...

【三十五】【算法分析与设计】综合练习(2),22。 括号生成,77。 组合,494。 目标和,模拟树递归,临时变量自动维护树定义,递归回溯,非树结构模拟树

22. 括号生成 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["&#xff08;&#xff08;&#xff08;&#xff09;&#xff09;&#xff0…...

QT智能指针

一.概述 Qt智能指针是一种能够在不需要手动管理内存的情况下&#xff0c;自动释放资源的指针。它们是C11的std::shared_ptr的一种扩展&#xff0c;可以用于管理Qt对象&#xff0c;尤其是那些不是QObject的对象。 使用智能指针可以避免内存泄露和悬垂指针等问题&#xff0c;同时…...

C++笔记之pkg-config详解,以及g++、gcc编译时使用pkg-config

C++笔记之pkg-config详解,以及g++、gcc编译时使用pkg-config —— 2024-04-05 code review 文章目录 C++笔记之pkg-config详解,以及g++、gcc编译时使用pkg-config1.pkg-config详解`pkg-config` 的基本用法在 `g++`/`gcc` 编译时使用 `pkg-config`注意事项2.示例C++,普通编译…...

[Apple Vision Pro]开源项目 Beautiful Things App Template

1. 技术框架概述&#xff1a; - Beautiful Things App Template是一个为visionOS设计的免费开源软件&#xff08;FOSS&#xff09;&#xff0c;用于展示3D模型画廊。 2. 定位&#xff1a; - 该模板作为Beautiful Things网站的延伸&#xff0c;旨在为Apple Vision Pro用户…...

Qt Remote Objects (QtRO) 笔记

简介 Qt Remote Objects (QtRO) 是 Qt 的一个进程间通信模块。 术语 Source 是指提供服务或提供功能供其他程序使用的对象&#xff0c;是 RPC 中的被调用端。 Replica 是指 Source 对象的代理对象&#xff0c;用于 RPC 中的调用端&#xff0c;对 Replica 的调用请求将被转发…...

Unity类银河恶魔城学习记录12-6.5 p128.5 Create item by Craft源代码

此章节在原视频缺失&#xff0c;此过程为根据源代码推断而来&#xff0c;并非原视频步骤 Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩…...

UE4_如果快速做出毛玻璃效果_假景深

UE4_如果快速做出毛玻璃效果_假景深 2022-08-20 15:02 一个SpiralBlur-SceneTexture材质节点完成效果&#xff0c;启用半透明材质通过修改BlurAmount数值大小调整效果spiralBlur-SceneTexture custom节点&#xff0c;HLSL语言float3 CurColor 0;float2 BaseUV MaterialFloa…...

c# wpf LiveCharts 绑定 简单试验

1.概要 c# wpf LiveCharts 绑定 简单试验 2.代码 <Window x:Class"WpfApp3.Window2"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schem…...

【Kafka】Kafka安装、配置、使用

【Kafka】安装Kafka 1. 安装Kafka2. Kafka使用2.0 集群分发脚本xsync(重要)2.0.1 scp命令2.0.2 rsync远程同步工具2.0.3 写一个集群分发脚本xsync (Shell 脚本) 2.1 Zookeeper安装2.2 对Kafka进行分发2.2.1 执行同步脚本2.2.2 三台云主机配置Kafka环境变量 1. 安装Kafka Kafka…...

2024HW-->Wireshark攻击流量分析

在HW中&#xff0c;最离不开的&#xff0c;肯定是看监控了&#xff0c;那么就要去了解一些wireshark的基础用法以及攻击的流量&#xff01;&#xff01;&#xff01;&#xff01; 1.Wireshark的基本用法 比如人家面试官给你一段流量包&#xff0c;你要会用 1.分组详情 对于我…...

Lafida多目数据集实测

Lafida 数据集 paper&#xff1a;J. Imaging | Free Full-Text | LaFiDa—A Laserscanner Multi-Fisheye Camera Dataset 官网数据&#xff1a;https://www.ipf.kit.edu/english/projekt_cv_szenen.php 官网&#xff1a;KIT-IPF-Software and Datasets - LaFiDa 标定数据下载&…...

excel wps中编码格式转换

EXCEL报表&#xff1a;另存为CSV格式&#xff0c;转换成UTF-8编码 - 简书 (jianshu.com) 经验证管用...

【游戏分析】非游戏领空追字符串来源

通过NPC名称找NPC数组 扫描 NPC名字 ASIC型 发现全部都有后缀 那么采用 字节集的方式去扫描 也是扫不到 说明:不是ASIC型字符串 扫描 NPC名字 Unicode型 没有结果 那么转换成字节集去扫描 终于发现结果了 把结果挨个修改字符串 发现 其中两个是可以用的 22和23 …...

golang 数组和切片

区别 1.数组长度固定&#xff0c;切片长度可变 2.数组是深拷贝&#xff0c;切片是浅拷贝&#xff0c;切片是引用类型 扩容规则 不同版本不一样 https://www.jb51.net/article/280481.htm#_lab2_2_1 go1.18 1.如果期望容量大于当前容量的两倍就会使用期望容量&#xff1b; 2.如…...

物联网实战--入门篇之(九)安卓QT--开发框架

目录 一、QT简介 二、开发环境 三、编码风格 四、设计框架 五、总结 一、QT简介 QT是一款以C为基础的开发工具&#xff0c;已经包含了很多常用的库&#xff0c;除了基本的GUI以外&#xff0c;还有网络、数据库、多媒体、进程通信、串口、蓝牙等常用库&#xff0c;开发起来…...

【leetcode面试经典150题】16.接雨水(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…...

互联网面经

腾讯视频 代码&#xff1a;反转链表&#xff0c;单例模式 RAII,哪里用到 Web服务器怎样处理请求 get\post流程 项目使用的还是http1.0吗&#xff1b;http2.0&#xff1a;二进制、首部压缩、主动推送&#xff1b;Https Epoll/select/poll ET/LT 进程地址空间。3…...

xss介绍及作用

XSS&#xff08;Cross-Site Scripting&#xff09;是一种常见的网络安全漏洞&#xff0c;它允许攻击者向网站注入恶意的客户端脚本代码&#xff0c;从而在用户的浏览器中执行这些代码。 XSS攻击的原理是攻击者将恶意脚本插入到网页中的用户输入数据中&#xff0c;当其他用户访…...

如何快速掌握雀魂Mod Plus:解锁全角色皮肤的新手完全指南

如何快速掌握雀魂Mod Plus&#xff1a;解锁全角色皮肤的新手完全指南 【免费下载链接】majsoul_mod_plus 雀魂解锁全角色、皮肤、装扮等&#xff0c;支持全部服务器。 项目地址: https://gitcode.com/gh_mirrors/ma/majsoul_mod_plus 还在为无法获得心仪角色和皮肤而烦恼…...

InjectFix实战解析:在Unity IL2CPP环境下实现C#热修复的权衡与策略

1. InjectFix在IL2CPP环境下的核心价值 当你的Unity手游在应用商店上线后突然出现致命Bug&#xff0c;传统解决方案往往需要重新打包、提交审核、等待上架&#xff0c;这个过程可能耗时数天。而InjectFix提供的C#热修复能力&#xff0c;可以在不更新客户端的情况下快速修复线上…...

视频解密神器:3步搞定Widevine加密,重新掌控你的数字内容

视频解密神器&#xff1a;3步搞定Widevine加密&#xff0c;重新掌控你的数字内容 【免费下载链接】video_decrypter Decrypt video from a streaming site with MPEG-DASH Widevine DRM encryption. 项目地址: https://gitcode.com/gh_mirrors/vi/video_decrypter 还在为…...

Cadence焊盘绘制实战:从零到一构建PCB封装基石

1. 为什么焊盘设计是PCB封装的基石 刚入行硬件设计那会儿&#xff0c;我总以为画封装就是照着尺寸描边。直到有次量产时发现整批QFN芯片虚焊&#xff0c;才明白焊盘设计才是封装可靠性的命门。Cadence的分离式设计哲学——将焊盘&#xff08;Padstack&#xff09;与封装&#x…...

FreeRTOS在RISC-V上的第一个main.c:从创建任务到理解Hook函数的完整流程

FreeRTOS在RISC-V上的第一个main.c&#xff1a;从创建任务到理解Hook函数的完整流程 当你在RISC-V平台上第一次打开main.c文件准备编写FreeRTOS应用时&#xff0c;可能会被那些看似神秘的函数和配置选项所困扰。这篇文章将带你从零开始&#xff0c;逐步构建一个完整的FreeRTOS应…...

保姆级教程:在银河麒麟Normal模式下,用kysec_set给第三方软件‘开绿灯’

银河麒麟系统下第三方软件安全授权全流程指南 在国产操作系统逐步普及的今天&#xff0c;银河麒麟作为主流选择之一&#xff0c;其安全机制设计严谨但有时也会给日常运维带来挑战。最近连续三个项目部署中&#xff0c;我都遇到了相同的问题——开发团队提供的工具包在测试环境运…...

FPGA与ASIC核心技术对比与选型指南

1. FPGA与ASIC的本质差异解析在数字电路设计领域&#xff0c;FPGA&#xff08;现场可编程门阵列&#xff09;和ASIC&#xff08;专用集成电路&#xff09;代表着两种截然不同的技术路线。FPGA本质上是一种"硬件可重构"的半导体器件&#xff0c;其核心结构由可编程逻辑…...

45.什么是内联条件表达式(inline conditional expressions)?在事件处理里怎么用?

内联条件表达式指的是&#xff1a;你在 JSX 里直接用 JavaScript 条件语法&#xff08;如三元 ? :、逻辑与 &&、逻辑或 ||&#xff09;来决定事件处理函数是否执行、执行哪段逻辑&#xff0c;或给事件处理器提供一个默认值。它能让事件行为跟 props/state 动态绑定&am…...

Apache SeaTunnel 4 月有何新动作?连接器增强与 Zeta 稳定性提升等亮点速览

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

C++性能优化

C性能优化是个系统工程&#xff0c;不是靠一两个“奇技淫巧”就能搞定的。我把它拆成四个层次来讲&#xff0c;从最立竿见影的到最底层的&#xff0c;你面试或实战时按这个框架去思考&#xff0c;思路会非常清晰。 第一层&#xff1a;算法与数据结构&#xff08;性价比最高&…...