文章目录

    • 一、冰蝎3.0流量特征
    • 二、索引
    • 三、题目列表
      • 步骤#1
        • 黑客IP是什么?
      • 步骤#2
        • 黑客上传的Webshell名是什么?
      • 步骤#3
        • 黑客上传WebShell的时间是多少?(格式如:flag{YYYY-MM-DD HH:MM:SS})
      • 步骤#4
        • 木马的解密key是什么?
      • 步骤#5
        • 黑客执行的第一个命令是什么?
      • 步骤#6
        • 黑客上传的文件内容是什么?
      • 步骤#7
        • 黑客下载的文件内容是什么?
      • 步骤#8
        • 服务器内的flag是什么?

一、冰蝎3.0流量特征

  • Content-Type
    POST请求的 Content-Type 固定为 application/octet-stream,属于强特征

  • User-Agent
    内置了16个 User-Agent 头,通信时会随机挑选一个,但大多为老旧浏览器或罕见设备头,如果同一IP频繁变换UA且为这16个之一,可以高度怀疑是冰蝎
  • Accept、Cache-Control
    Accept头常设为 Accept: text/html, image/gif, image/jpeg, */*; q=.2, */*; q=.2 或类似值,Cache-Control和Pragma常设为no-cache,表示直接从源服务器获取最新的响应,这些是冰蝎流量默认带的HTTP头,普通业务流量较少见

在这里插入图片描述

  • Content-Length/请求包长度
    因为冰蝎3.0使用AES-256加密算法,加密后的数据体积会膨胀,请求包长度一般会很大,超过正常业务范围

想要更深入了解冰蝎3.0可以参考文章:冰蝎3.0流量特征分析(附特征)

二、索引

三、题目列表

步骤#1

黑客IP是什么?

先用wireshark语法筛选出http流量

快速分析一遍流量,大部分都是404,说明黑客正在进行目录扫描。拉到最后那里可以看到有个异常流量,通过PUT方法上传了indeX.jsp文件,且在请求头中伪造了多个指向本地地址的字段(如X-Forwarded-For),这种组合是典型的攻击特征,由此可判定该请求为攻击者发起的恶意文件上传行为

因此黑客IP就是192.168.31.61

flag{192.168.31.61}

步骤#2

黑客上传的Webshell名是什么?

继续分析流量包,可以看到攻击者通过POST数据包与indeX.jsp进行通信,且响应内容为加密数据

因此webshell名就是这个文件

flag{indeX.jsp}

步骤#3

黑客上传WebShell的时间是多少?(格式如:flag{YYYY-MM-DD HH:MM:SS})

找到刚才黑客通过PUT方法上传的文件直接查看时间即可

flag{2025-02-22 07:47:38}

步骤#4

木马的解密key是什么?

同样也是PUT方法的那个流量包,右键追踪HTTP流

可以看到黑客上传的内容,具体利用的漏洞是Tomcat通过PUT方法进行任意文件写入(CVE-2017-12615),感兴趣的可以网上了解一下

可以看到木马连接密码就在文件内容当中,长度为16字节(128位),一般用于AES对称加密

flag{3f0af7bb4dbcfbd7}

步骤#5

黑客执行的第一个命令是什么?

已知黑客是通过POST与indeX.jsp进行通信,我们修改wireshark语法搜索包含indeX.jsp的流量

http contains "indeX.jsp"

然后复制请求体data内容的ASCII值,如图所示

这里用到希潭实验室的蓝队分析工具箱,下载地址:蓝队分析研判工具箱

把复制的数据和之前得到的密钥放进去解密

可能受环境影响,我这边显示有点问题,不过内容还是可以看得懂。经过分析,前面几个数据包是冰蝎用于连接用的,分析到第四个时可以看到黑客执行的命令

因此黑客执行的第一个命令是ifconfig

flag{ifconfig}

步骤#6

黑客上传的文件内容是什么?

继续分析,发现长度为362的流量记录了创建文件的命令

4ZmxhZ3s0ODUzNzViN2IwNmFkODU2YTc4OGMwZDk1MjI5ZjM1Y30=

但是解码后得到一堆乱码,那只能登进目标服务器查看对应文件内容了

题目没有给出对应的服务器账号密码,需要我们渗透进去,那我们可以仿照前面黑客PUT上传文件的方法,用抓包工具修改发包

先自己随便选一个协议,生成服务端

然后复制生成的jsp代码,粘贴到body中,同时修改请求体信息与之前黑客PUT上传的内容一样

PUT /6.jsp/ HTTP/1.1
Host: 你的玄机靶机地址:8081
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: JSESSIONID=3F426B8219ACAB91DF13B18D987842BC
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
Priority: u=0, i
Content-Type: application/x-www-form-urlencoded
Content-Length: 782你的冰蝎jsp代码

然后发包即可,状态码显示201表示成功

在冰蝎连接webshell,根据你之前选的协议选择对应的类别即可

连接后在文件管理处,找到/home/xj/up.txt,打开文件查看内容,成功拿到flag

flag{485375b7b06ad856a788c0d95229f35c}

步骤#7

黑客下载的文件内容是什么?

继续分析流量包,分析到最后一个请求包时发现有黑客执行下载文件的命令

对应路径为/opt/apache-tomcat-8.5.19/conf/server.xml,用冰蝎查看对应文件,成功找到flag

当然也可以查看对应的响应包,同样也给出了flag

flag{3aacab9ca36a6894c75048e4faf47052}

步骤#8

服务器内的flag是什么?

用冰蝎在服务器内找就可以,最终发现flag在/root/flag.txt里面

flag{ae1d04dd3d15c6a18f904fe50fdf7eca}

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

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

相关文章

基于物理信息神经网络(Physics-Informed Neural Network, PINN)的三维热传导方程求解器MATLAB

代码实现了一个基于物理信息神经网络(Physics-Informed Neural Network, PINN)的三维热传导方程求解器。以下是详细分析:🧠 一、主要功能 main.m: 构建一个全连接神经网络用于近似三维热传导方程的解 ( u(x, y, z, t) …

按钮计数器:jQuery / AngularJS / Vue / React / dagger.js 实现对比与技术解读

代码来源:https://codepen.io/dagger8224/pen/myeKgVQ 任务:实现“按钮点击 1”计数器,对比不同框架的写法与特性,并给出选型建议。 目录 代码解读(逐框架) jQuery(命令式 DOM)Angu…

useEffect中直接使用 await报错

在 useEffect 中直接使用 await 会报错,因为 useEffect 的回调函数不能是 async 函数。有几种正确的方式来处理异步操作: 方法一:在 useEffect 内部创建 async 函数并立即调用 这是最常用的方式。 import React, { useEffect } from react;co…

卷积神经网络为什么要填充(Padding)

填充(Padding)是卷积神经网络中一个至关重要且巧妙的设计。它的核心目的可以概括为:为了解决卷积操作导致的特征图尺寸缩小和边缘信息丢失问题。

C++ 并发编程:全面解析主流锁管理类

在 C 的并发世界里,管理共享资源就像是在一个繁忙的十字路口指挥交通。如果指挥不当,就会发生混乱甚至致命的“死锁”。C 标准库提供的各种锁管理工具,就是我们手中的“交通信号灯”,它们各自拥有独特的职能,帮助我们编…

Spring boot 启用第二数据源

1. 数据源配置代码:import com.alibaba.druid.pool.DruidDataSource; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilde…

Wi-Fi 时延与掉包的关键因素全解析

在无线网络性能优化中,时延(Latency)与掉包(Packet Loss)是最核心的两个指标。本文将从 物理层、MAC层、系统栈、业务形态与环境 等多个维度,对 Wi-Fi 时延与掉包的关键因素进行全面梳理,并结合…

《Python 文本分析实战:从单词频率统计到高效可视化的全流程指南》

《Python 文本分析实战:从单词频率统计到高效可视化的全流程指南》 一、引言:小任务背后的大世界 在我多年的开发与教学中,文本处理始终是一个绕不开的主题。无论是日志分析、自然语言处理,还是搜索引擎、推荐系统,几乎所有数据驱动的系统都离不开对文本的理解。而“统计…

12KM无人机高清图传通信模组——打造未来空中通信新高度

在无人机技术飞速发展的今天,高清图传和稳定的通信模块无疑是提高无人机作业效率和可靠性的关键因素。作为新一代无人机核心技术之一,深圳云望物联12KM无人机高清图传通信模组凭借其卓越的性能,正逐步成为行业内的宠儿,成为无人机…

【LeetCode 热题 100】62. 不同路径——(解法二)递推

Problem: 62. 不同路径 文章目录整体思路完整代码时空复杂度时间复杂度:O(m * n)空间复杂度:O(m * n)整体思路 这段代码同样旨在解决 “不同路径” 问题,但它采用的是一种 自底向上(Bottom-Up)的动态规划 方法&#x…

C++ 高阶错误解析:MSVC 与 Qt 全景指南

在 C 开发中,尤其是在 Windows 平台使用 MSVC 或 Qt 框架 时,程序员经常会遇到编译错误、链接错误和运行时异常。本文将系统梳理这些问题,按 语法错误、类型错误、链接错误、Qt 运行错误 分类,并给出 触发示例、原因分析及修复策略…

基于Net海洋生态环境保护系统的设计与实现(代码+数据库+LW)

摘要 随着全球气候变化和人类活动的加剧,海洋生态系统面临着前所未有的威胁。污染、过度捕捞、栖息地破坏等问题严重影响了海洋生物多样性和生态平衡。为了应对海洋生态系统面临的严重威胁,如污染、过度捕捞和栖息地破坏等问题,利用C#语言和…

DoIP路由激活报文

目录 DoIP路由激活报文详解 基本概念 报文结构 响应报文 通信流程 注意事项 **DoIP (Diagnostics over Internet Protocol) 报文详解** **1. DoIP 报文结构** **1.1 通用报文格式** **2. 常见 DoIP 报文类型** **3. 典型 DoIP 报文示例** **3.1 车辆识别请求(广播)** **3.2 车…

学习Python中Selenium模块的基本用法(8:元素操作-2)

定位网页元素后,调用is_displayed函数可以判断元素的显示状态,如百度网站中有默认隐藏的元素,此时即可使用is_displayed函数判断该元素的显示状态,如下面代码所示:driver webdriver.Chrome() driver.get("https:…

双指针:从「LC11 盛最多水的容器」到「LC42 接雨水」

LC11 盛最多水的容器 选择两条线,它们与x轴构成的容器可以盛的水量取决于两条线中较短的那条以及两条线之间的距离。 朴素的思想是使用i和j遍历height中的所有线,但是这样的时间复杂度是O(n2)O(n^2)O(n2)。 我们让i从0开始,j从n-1开始&…

WINTRUST!_GetMessage函数分析之CRYPT32!CryptSIPGetSignedDataMsg函数的作用是得到nt5inf.cat的信息

UEDIT打开nt5inf.cat。第一部分:BOOL _GetMessage(CRYPT_PROVIDER_DATA *pProvData) {DWORD dwMsgEncoding;SIP_SUBJECTINFO *pSubjInfo;SIP_DISPATCH_INFO *pSip;DWORD cbEncodedMsg;BYTE *pbEncodedMsg;DWORD …

编译esp32报错解决办法

报错信息:CMake Error at build/CMakeFiles/git-data/grabRef.cmake:48 (file):file failed to open for reading (No such file or directory):这个错误是由于 Git 的安全检查导致的。从错误信息可以看出,Git 检测到了"可疑的所有权"&#xf…

【AI】常见8大LLM大语言模型地址

序号AI名称地址1 ChatGPT (OpenAI)https://chat.openai.com/2Gemini (Google personal AI assistant)https://gemini.google.com/app3Grok (xAI Grok LLM)https://x.ai/4DeepSeek (DeepSeek AI chatbot)DeepSeek5Claude (Anthropic Claude AI)App unavai…

软件系统的部署方式:单机、主备(冷主备、热主备)、集群

一、单机部署单机部署是将软件系统所有组件(应用、数据库等)部署在单台服务器上,架构简单、成本低但存在单点故障风险,适用于低负载或测试场景。一台服务器坏了,软件系统无法服务。二、主备(冷主备、热主备…

从体验到系统工程丨上手评测国内首款 AI 电商 App

作者:王晨(望宸) 产品界面,往往体现了产品的设计哲学,界面是产品的第一入口。 近期,1688 推出了 1688 AI App,这貌似是国内第一个电商领域的独立 AI App 应用(若不是,欢…