玄机应急:linux入侵排查webshell查杀日志分析
目录
第一章linux:入侵排查
1.web目录存在木马,请找到木马的密码提交
2.服务器疑似存在不死马,请找到不死马的密码提交
3.不死马是通过哪个文件生成的,请提交文件名
4.黑客留下了木马文件,请找出黑客的服务器ip提交
5.黑客留下了木马文件,请找出黑客服务器开启的监端口提交
第一章linux:webshell查杀
1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
2.黑客使用的什么工具的shell github地址的md5 flag{md5}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
4.黑客免杀马完整路径 md5 flag{md5}
第一章:Linux的日志分析
1.有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割
2.ssh爆破成功登陆的IP是多少,如果有多个使用","分割
3.爆破用户名字典是什么?如果有多个使用","分割
4.成功登录 root 用户的 ip 一共爆破了多少次
5.黑客登陆主机后新建了一个后门用户,用户名是多少
第一章linux:入侵排查

启动环境,直接连上Xshell
1.web目录存在木马,请找到木马的密码提交
因为是web目录,直接进入到根目录
cd /var/www/html

web目录存在木马,可以用以下命令查找以jsp/php/asp/aspx结尾的文件
find ./ type f -name "*.jsp" | xargs grep "exec("find ./ type f -name "*.php" | xargs grep "eval("find ./ type f -name "*.asp" | xargs grep "execute("find ./ type f -name "*.aspx" | xargs grep "eval("
根据经验,这里我先查了以php文件结尾的

这里也是直接发现了最后一个文件是一句话木马,密码是1,直接提交
flag{1}
2.服务器疑似存在不死马,请找到不死马的密码提交
不死马:隐藏性强,持久性,多样化
根据不死马的特性持久性强,根据这个思路进行排查
查看计划任务:crontab -l

没有计划任务
查看启动项:
cat /etc/rc.local

查看系统启动和关闭时运行的一系列脚本文件:ls /etc/init.d/

查看和管理系统服务状态:systemctl list-unit-files --type=service

也是没有什么发现
刚才在筛选php后缀文件时发现一个shell.php ,查看一下

这个被MD5加密了,直接解密

尝试提交一下,是正确的
flag{hello}
3.不死马是通过哪个文件生成的,请提交文件名
根据刚才查找php后缀文件,分析index.php

查看:cat index.php 这个文件

可以看出,这个 index.php 文件生成的不死马
flag{index.php}
4.黑客留下了木马文件,请找出黑客的服务器ip提交
通过查看当前目录

发现一个shell(1).elf 文件
直接查看是一串乱码

根据题目说找到黑客的IP,说明黑客连接了这台机器
根据这个 以 elf 为后缀的文件,它是一个可执行程序

那么直接给它加权限运行
chmod 777 "shell(1).elf"./'shell(1).elf'

查看一下端口情况:
netstat -antlp | more

发现一个外部连接有一个陌生地址,这个应该是黑客的IP 和端口,直接提交
flag{10.11.55.21}
5.黑客留下了木马文件,请找出黑客服务器开启的监端口提交
根据上面找到的端口直接提交
flag{3333}
第一章linux:webshell查杀

开启环境,连上Xshell
1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
先进入到根目录
直接查找危险函数:
cd /var/www/htmlfind ./ type f -name "*.jsp" | xargs grep "exec("find ./ type f -name "*.php" | xargs grep "eval("find ./ type f -name "*.asp" | xargs grep "execute("find ./ type f -name "*.aspx" | xargs grep "eval("

发现三个可疑php文件,那么一个一个分析
cat ./include/gz.php

根据前三句话,可以看出这是一个哥斯拉的webshell
下面注释有点像要提交的flag格式,试一下,正确
flag{027ccd04-5065-48b6-a32d-77c704a5e26d}
2.黑客使用的什么工具的shell github地址的md5 flag{md5}
根据我们第一题分析的是一个哥斯拉webshell,要我们提交github地址,我们网上找一下

第一个就是, Godzilla地址:GitHub - BeichenDream/Godzilla: 哥斯拉
要提交地址的MD5,直接找一个在线网站加一下密MD5 在线加密工具 | 菜鸟工具 (jyshare.com)

flag{39392de3218c333f794befef07ac9257}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
因为是隐藏的,说明不能直接通过 ls 命令查看到
这里需要用到一个命令:ls -la 可以看到隐藏的文件
在之前查找php文件的时候,发现了一个以.结尾的隐藏文件

看一下这个文件是不是隐藏的shell
cat ./include/Db/.Mysqli.php

典型的哥斯拉webshell,猜测这就是要找的,查看进入这个目录,查看路径
cd ./include/Db/
pwd

最后拼接上隐藏文件即可:
/var/www/html/include/Db/.Mysqli.php
MD5加密:

flag{aebac0e58cd6c5fad1695ee4d1ac1919}
4.黑客免杀马完整路径 md5 flag{md5}
因为做了免杀,常规排查方法不可行,那么直接看日志
查看Apache2日志:位于:/var/log/apache2/access.log
cat /var/log/apache2/access.log

发现一个执行了 phpinfo() , 可能是我们要找的,但是提交了发现不对
继续往下找,又发现了一个

又发现一个
直接拼接路径加密

flag{eeff2eabfd9b7a6d26fc1a53d3f7d1de}
第一章:Linux的日志分析

开启环境,连上Xshell
1.有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割
先进入日志目录:
cd /var/log
直接筛选爆破失败的IP和次数
cat auth.log.1 | grep -a "Failed password for root" | awk '{print $11}' | sort | uniq -c | sort -nr | more

直接提交
flag{192.168.200.2,192.168.200.31,192.168.200.32}
2.ssh爆破成功登陆的IP是多少,如果有多个使用","分割
筛选登录成功的IP和次数
cat auth.log.1 | grep -a "Accepted " | awk '{print $11}' | sort | uniq -c | sort -nr | more

flag{192.168.200.2}
3.爆破用户名字典是什么?如果有多个使用","分割
筛选登录尝试失败的用户名称
cat auth.log.1 | grep -a "Failed password" |perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

flag{user,hello,root,test3,test2,test1}
4.成功登录 root 用户的 ip 一共爆破了多少次
筛选以root用户爆破失败的次数
cat auth.log.1 | grep -a "Failed password for root" | awk '{print $11}' | sort | uniq -c | sort -nr | more

发现以root用户登录失败的次数是4
flag{4}
5.黑客登陆主机后新建了一个后门用户,用户名是多少
直接筛选日志中新建的用户
cat auth.log.1 |grep -a "new user"

发现有两个,两个中肯定有一个后门用户,一个一个提交试试
最后发现test2就是后门用户
flag{test2}
其实还可以查看用户列表:
cat /etc/passwd
一般最后一个用户即为添加的后门用户
相关文章:
玄机应急:linux入侵排查webshell查杀日志分析
目录 第一章linux:入侵排查 1.web目录存在木马,请找到木马的密码提交 2.服务器疑似存在不死马,请找到不死马的密码提交 3.不死马是通过哪个文件生成的,请提交文件名 4.黑客留下了木马文件,请找出黑客的服务器ip提交 5.黑客留…...
python爬虫安装教程
Python爬虫是用于从网站上自动抓取信息的程序。在开始之前,请确保您了解并遵守目标网站的服务条款,尊重版权法,并且在合理合法的范围内使用爬虫技术。 安装环境 安装Python:首先确保您的计算机上已经安装了Python。推荐版本为3.…...
田忌赛马五局三胜问题matlab代码
问题描述:在可以随机选择出场顺序的情况下,如果把比赛规则从三局两胜制改为五局三胜制,齐王胜出的概率是上升了还是下降了?五局三胜的赛制下,大家的马重新分为5个等级。前提条件仍然是齐王每种等级的马都优于田忌同等级…...
Spring循环依赖问题的解决
项目启动提示如下异常: The dependencies of some of the beans in the application context form a cycle 这表明在我们的应用中存在了循环依赖,示例: Bean A 中注入了Bean B依赖,然后 Bean B 中注入了Bean A依赖。也就是说&…...
KAN-Transfomer——基于新型神经网络KAN的时间序列预测
1.数据集介绍 ETT(电变压器温度):由两个小时级数据集(ETTh)和两个 15 分钟级数据集(ETTm)组成。它们中的每一个都包含 2016 年 7 月至 2018 年 7 月的七种石油和电力变压器的负载特征。 traffic(交通) :描…...
鸿蒙学习自由流转与分布式运行环境-价值与架构定义(1)
文章目录 价值与架构定义1、价值2、架构定义 随着个人设备数量越来越多,跨多个设备间的交互将成为常态。基于传统 OS 开发跨设备交互的应用程序时,需要解决设备发现、设备认证、设备连接、数据同步等技术难题,不但开发成本高,还存…...
【k8s深入理解之 Scheme 补充-2】理解 register.go 暴露的 AddToScheme 函数
AddToScheme 函数 AddToScheme 就是为了对外暴露,方便别人调用,将当前Group组的信息注册到其 Scheme 中,以便了解该 Group 组的数据结构,用于后续处理 项目版本用途使用场景k8s.io/apiV1注册资源某一外部版本数据结构࿰…...
uni-app写的微信小程序每次换账号登录时出现缓存上一个账号数据的问题
uni-app写的微信小程序每次更换另外账号登录时出现缓存上一个账号数据的问题? 清除缓存数据:在 onShow 钩子中,我们将 powerStations、list 和 responseRoles 的值重置为初始状态,以清除之前的缓存数据。重新获取数据:…...
数据分析流程中的Lambda架构,以及数据湖基于Hadoop、Spark的实现
文章目录 一、Lambda架构1、Lambda的三层架构2、简单解释:3、Lambda架构的优缺点 二、数据湖基于Hadoop、Spark的实现1、架构2、数据管理(存储层的辅助功能) 一、Lambda架构 1、Lambda的三层架构 Batch View(批处理视图层&#…...
Android 原生解析 Json 字符串
Android 原生解析 JSON 字符串 1. JSON 基础2. Android 原生 JSON 解析方法2.1 解析 JSON 字符串到 JSONObject关键方法 2.2 解析 JSON 数组到 JSONArray关键方法 2.3 解析嵌套的 JSON 对象 3. 处理异常4. 总结 在 Android 开发中,我们经常需要从服务器获取 JSON 格…...
Windsurf可以上传图片开发UI了
背景 曾经羡慕Cursor的“画图”开发功能,这不Windsurf安排上了。 Upload Images to Cascade Cascade now supports uploading images on premium models Ask Cascade to build or tweak UI from on image upload New keybindings Keybindings to navigate betwe…...
Qt UI设计 菜单栏无法输入名字
在UI界面“在这里输入”,直接双击填写名称,无论是中文还是英文都没有反应。解决方案 2个: 1.双击“在这里输入之后”,在可编辑状态下,空格→enter键,然后在右下角属性框的title中直接填写中文或英文名&…...
blender 视频背景
准备视频文件 首先,确保你有想要用作背景的视频文件。视频格式最好是 Blender 能够很好兼容的,如 MP4 等常见格式。 创建一个新的 Blender 场景或打开现有场景 打开 Blender 软件后,你可以新建一个场景(通过点击 “文件” - “新建…...
【python】OpenCV—Tracking(10.5)—dlib
文章目录 1、功能描述2、代码实现3、效果展示4、完整代码5、涉及到的库函数dlib.correlation_tracker() 6、参考 1、功能描述 基于 dlib 库,实现指定类别的目标检测和单目标跟踪 2、代码实现 caffe 模型 https://github.com/MediosZ/MobileNet-SSD/tree/master/…...
音视频入门基础:MPEG2-TS专题(9)——FFmpeg源码中,解码TS Header的实现
一、引言 FFmpeg源码对MPEG2-TS传输流/TS文件解复用时,在通过read_packet函数读取出一个transport packet后,会调用handle_packet函数来处理该transport packet: static int handle_packets(MpegTSContext *ts, int64_t nb_packets) { //..…...
解决“磁盘已插上,但Windows系统无法识别“问题
电脑上有2块硬盘,一块是500GB的固态硬盘,另一块是1000GB的机械硬盘,按下开机键,发现500G的固态硬盘识别了,但1000GB的机械硬盘却无法识别。后面为了描述方便,将"500GB的固态硬盘"称为X盘…...
论文笔记-WWW2024-ClickPrompt
论文笔记-WWW2024-ClickPrompt: CTR Models are Strong Prompt Generators for Adapting Language Models to CTR Prediction ClickPrompt: CTR模型是大模型适配CTR预测任务的强大提示生成器摘要1.引言2.预备知识2.1传统CTR预测2.2基于PLM的CTR预测 3.方法3.1概述3.2模态转换3.…...
53 基于单片机的8路抢答器加记分
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 首先有三个按键 分别为开始 暂停 复位,然后八个选手按键,开机显示四条杠,然后按一号选手按键,数码管显示30,这…...
【java数据结构】二叉树OJ题
【java数据结构】二叉树OJ题 一、检查两颗树是否相同二、另一颗树的子树三、翻转二叉树四、对称二叉树五、判断一颗二叉树是否是平衡二叉树六、给定一个二叉树, 找到该树中两个指定节点的最近公共祖先七、根据一棵树的前序遍历与中序遍历构造二叉树练习:八、二叉树前…...
IIC和SPI的时序图
SCL的变化快慢决定了通信速率,当SCL为低电平的时候,无论SDA是1还是0都不识别: ACK应答:当从设备为低电平的时候识别为从设备有应答: 谁接收,谁应答: 起始位和停止位: IIC的时序图&am…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
