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

Linux应急响应——知攻善防应急靶场-Linux(1)

文章目录

  • 查看history历史指令
  • 查看开机自启动项
  • 异常连接和端口
  • 异常进程
  • 定时任务
  • 异常服务
  • 日志分析
  • 账户排查
  • 总结

靶场出处是知攻善防
Linux应急响应靶机 1

前景需要:
小王急匆匆地找到小张,小王说"李哥,我dev服务器被黑了",快救救我!!

挑战内容:
黑客的IP地址
遗留下的三个flag


开机后桌面找到题解脚本,终端运行起来即可。

靶机中相关账户密码:
defend/defend
root/defend

题目如下:
在这里插入图片描述

按照自己的思路看能找到多少个flag

查看history历史指令

当前用户是defend
备份一下.bash_history文件
然后查看,没发现异常
在这里插入图片描述
切换root用户查看
然后.bash_history同理也是先备份一份
在这里插入图片描述
发现一个flag:flag{thisismybaby}

然后看历史指令发现他动了rc.local开机自启动,所以断定这里肯定是不对劲的。
那就先顺着思路看开机自启动项

查看开机自启动项

cat /etc/rc.d/rc.lcal
一眼v我50,拿到flag:flag{kfcvme50}

在这里插入图片描述

异常连接和端口

netstat -alntup # 这里肯定没问题,因为我虚拟机是仅主机模式

异常进程

ps -ef 和 top 都可以查看是否有异常进程占用

也是没啥问题
ps -ef
在这里插入图片描述
top

在这里插入图片描述

定时任务

这里本来是到开机自启然后到定时任务的,因为我们history查看历史指令的时候已经发现动过开机自启了所以先去查看开机自启。
这里的 定时任务查看指令如下:
crontab -l #查看定时任务
还可以进入/var/spool/目录中对应查看定时任务。
这里的定时任务没有问题。

在这里插入图片描述

异常服务

查看所有自启动的服务,这里可以跟运维进行沟通是否有异常的,因为自己也看不出哪些是需要和哪些是不需要的,当然排除大佬一眼看出。
下面服务自启中都没有问题。
systemctl list-unit-files --type=service | grep enabled
在这里插入图片描述

日志分析

日志分析就要看他有哪些服务应用。
日志一般都放在/var/log中,直接进去看有哪些相关应用服务日志即可。
当然这一步是可以和运维沟通的哈。
我这里进入/var/log目录后看到有redis,那就直接看redis的日志

查看redis.log后,发现日志记录的是什么时候开启了redis和端口号是啥,还有连接情况,那么这里连接情况就是可以判断是否是黑客的入侵ip地址了。

在这里插入图片描述

看完后,发现redis连接成功了的日志信息包含“ Accepted”,那就筛选一下即可。

cat redis.log | grep ’ Accepted’
可以发现,外部地址连接进来的ip就可能是黑客的ip了。
所以这里记录一下疑似黑客ip为:192.168.75.129
在这里插入图片描述

账户排查

排查是否有黑客进来或者创建了用户,同事在这里也可以排查一下是否有黑客暴力破解ssh。

  • w #查看当前登录进来的用户操作

  • /etc/passwd #查看是否有可疑账号

  • /etc/shadow #查看影子文件是否有问题

  • 过滤特权用户
    查看是否有其他可疑的特权用户
    awk -F: ‘$3==0{print $1}’ /etc/passwd

  • 过滤远程登录用户
    查看是否有其他可疑远程登录用户
    awk ‘/$1|$6/{print $1}’ /etc/shadow


若发现可疑用户,跟运维沟通确认后直接删掉

usermod -L user    禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
userdel user       删除 user 用户
userdel -r user    将删除 user 用户,并且将 /home 目录下的 user 目录一并删除

到这里基本没有发现了。

整理一下成果:

flag{thisismybaby}flag{kfcvme50}192.168.75.129

还差一个flag,到这里基本没思路了,
由于是找flag,那就使出我的终极大招

find / -type f '*.*' | xargs -i grep 'flag{' {}

直接出来flag了,就问你牛不牛批,三个都出来了,我们前面一顿操作猛如虎,难道还不如一个指令??
其实不是的,这是个耍赖行为,做题目无非是提升自己的实力,所以还是按照正常思维做好,现实中的黑客不会给你写个flag就走了。
在这里插入图片描述

没思路就去看writeup,原来redis.conf文件中还存在一个flag
过滤一下就出来了:cat /etc/redis.conf | grep ‘flag’
flag{P@ssW0rd_redis}
在这里插入图片描述

总结

题解:

192.168.75.129
flag{thisismybaby}
flag{kfcvme50}
flag{P@ssW0rd_redis}

在这里插入图片描述

反思一下为什么没有想到配置文件,给他忽略了,flag藏在里面。
其实仔细想想确实有道理,因为黑客入侵后,基本的应急角度来看,他做的东西也有可能是掩耳盗铃,比如自启动和log日志中记录的一些攻击行为,让人觉得已经没有其他手脚被动过了。
但其实不然,配置文件中留下手脚这种被忽略后,照样能够通过这个后门进来。
一开始还想吐槽一下怎么flag还在配置文件中的,仔细一想,我确实被被摆了一道,配置文件后门没找出来,确实太菜了。。。。

相关文章:

Linux应急响应——知攻善防应急靶场-Linux(1)

文章目录 查看history历史指令查看开机自启动项异常连接和端口异常进程定时任务异常服务日志分析账户排查总结 靶场出处是知攻善防 Linux应急响应靶机 1 前景需要: 小王急匆匆地找到小张,小王说"李哥,我dev服务器被黑了",快救救我&…...

基于CDMA的多用户水下无线光通信(1)——背景介绍

研究生期间做多用户水下无线光通信(Underwater Optical Wireless Communication,UOWC),写几篇博客分享一下学的内容。导师给了大方向,让我用直接序列码分多址(Direct Sequence Code Division Multiple Acce…...

vlan三层交换技术--交换机--(自作)

...

基于springboot websocket和okhttp实现消息中转

1、业务介绍 消息源服务的消息不能直接推给用户侧,用户与中间服务建立websocket连接,中间服务再与源服务建立websocket连接,源服务的消息推给中间服务,中间服务再将消息推送给用户。流程如下图: 此例中我们定义中间服…...

@PostConstruct 注解的方法用于资源的初始化

PostConstruct 是 Java EE 5 引入的一个注解,主要用于依赖注入完成之后,需要执行的方法上。这个注解的方法会在依赖注入完成后自动被容器(如 EJB 容器或 Spring 容器)调用,并且只会被调用一次。 PostConstruct 注解的…...

(一)SvelteKit教程:hello world

(一)SvelteKit教程:hello world sveltekit 的官方教程,在这里:Creating a project • Docs • SvelteKitCreating a project • Docs • SvelteKit 我们可以按照如下的步骤来创建一个项目: npm create s…...

华为Atlas NPU ffmpeg 编译安装

处理器:鲲鹏920 NPU:昇腾 310P3 操作系统:Kylin Linux Advanced Server V10 CANN:Ascend-cann-toolkit_8.0.RC1_linux-aarch64.run FFmpeg:AscendFFmpegPlugin(不要用AscendFFmpeg) AscendFFmpegPlugin下载地址&…...

Python 虚拟环境 requirements.txt 文件生成 ;pipenv导出pip安装文件

搜索关键词: Python 虚拟环境Pipenv requirements.txt 文件生成;Pipenv 导出 pip requirements.txt安装文件 本文基于python版本 >3.9 文章内容有效日期2023年01月开始(因为此方法从这个时间开始是完全ok的) 上述为pipenv的演示版本 使用以下命令可精准生成requirement…...

Less与Sass的区别

1. 功能和工具: Sass:提供了更多的功能和内置方法,如条件语句、循环、数学函数等。Sass 也支持更复杂的操作和逻辑构建。 Less:功能也很强大,但相比之下,Sass 在功能上更为丰富和成熟。 2、编译环境&…...

力扣-2663

题目 如果一个字符串满足以下条件,则称其为 美丽字符串 : 它由英语小写字母表的前 k 个字母组成。它不包含任何长度为 2 或更长的回文子字符串。 给你一个长度为 n 的美丽字符串 s 和一个正整数 k 。 请你找出并返回一个长度为 n 的美丽字符串&#…...

CausalMMM:基于因果结构学习的营销组合建模

1. 摘要 在线广告中,营销组合建模(Marketing Mix Modeling,MMM) 被用于预测广告商家的总商品交易量(GMV),并帮助决策者调整各种广告渠道的预算分配。传统的基于回归技术的MMM方法在复杂营销场景…...

编译 CUDA 程序的基本知识和步骤

基本工具 NVCC(NVIDIA CUDA Compiler): nvcc 是 NVIDIA 提供的 CUDA 编译器,用于将 CUDA 源代码(.cu 文件)编译成可执行文件或库。它可以处理 CUDA 和主机代码(例如 C)的混合编译。nvcc 调用底层…...

[SAP ABAP] 排序内表数据

语法格式 整表排序 SORT <itab> [ASCENDING|DESCENDING]. 按指定字段排序 SORT <itab> BY f1 [ASCENDING|DESCENDING] f2 [ASCENDING|DESCENDING] ... fn [ASCENDING|DESCENDING].<itab>&#xff1a;代表内表 不指定排序方式则默认升序排序 示例1 结果显…...

【UML用户指南】-21-对基本行为建模-活动图

目录 1、概念 2、组成结构 2.1、动作 2.2、活动节点 2.3、控制流 2.4、分支 2.5、分岔和汇合 2.6、泳道 2.7、对象流 2.8、扩展区域 3、一般用法 3.1、对工作流建模 3.2、对操作建模 一个活动图从本质上说是一个流程图&#xff0c;展现从活动到活动的控制流 活动图…...

【web2】jquary,bootstrap,vue

文章目录 1.jquary&#xff1a;选择器1.1 jquery框架引入&#xff1a;$("mydiv") 当成id选择器1.2 jquery版本/对象&#xff1a;$(js对象) -> jquery对象1.3 jquery的页面加载事件&#xff1a;$ 想象成 window.onload 1.4 jquery的基本选择器&#xff1a;$()里内容…...

独角兽品牌獭崎酱酒:高性价比的酱香之选

在酱香型白酒领域中&#xff0c;獭崎酱酒以其独特的品牌定位和高性价比迅速崛起&#xff0c;成为市场上备受关注的独角兽品牌。作为贵州茅台镇的一款新秀酱香酒&#xff0c;獭崎酱酒不仅传承了百年酿造工艺&#xff0c;还以创新的商业模式和亲民的价格赢得了广大消费者的青睐。…...

java打印菱形和空心菱形

java打印菱形 菱形分上下两个部分。其中上部分同打印金字塔&#xff1b;下部分循环部分i是递减 &#xff08;ps:菱形层数只能为奇数&#xff09; import java.util.Scanner;public class Lingxing{public static void main(String[] args) {Scanner myScanner new Scanner(S…...

Day10 —— 大数据技术之Scala

Scala编程入门 Scala的概述什么是Scala&#xff1f;Scala的重要特点Scala的使用场景 Scala的安装Scala基础Scala总结 Scala的概述 什么是Scala&#xff1f; Scala是一种将面向对象和函数式编程结合在一起的高级语言&#xff0c;旨在以简洁、优雅和类型安全的方式表达通用编程…...

Linux应用系统快速部署:docker快速部署linux应用程序

目录 一、背景 &#xff08;一&#xff09;引入docker的起因 &#xff08;二&#xff09;docker介绍 &#xff08;三&#xff09;Docker部署的优势 1、轻量级和可移植性 2、快速部署和扩展 3、一致性 4、版本控制 5、安全性 6、资源隔离 7、简化团队协作 8、多容器…...

三目运算符中间的表达式可以省略吗(a?:c)?

熟悉C语言的童靴对三目运算符都非常熟悉&#xff0c;a? b : c; 如果a为true&#xff0c;则整个运算符的值为b,否则为c;那么问题来了&#xff0c;三目运算符中间的表达式可以省略吗?即a? : c; 1、linux内核中出现的省略情况 本人在阅读内核代码是发现了下面的代码: preferr…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...