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

20250415_信安一把梭_encode

Tags:流量分析, 应急响应, 数据解析, tcp, pyshark, 正则匹配, json, 信安一把梭

0x00. 题目

请分析某设备导出的流量包,找到攻击IP和正确密码(攻击IP以分析后的为主而不是流量包中的Source和Destination)

格式如下:例如攻击IP为192.168.1.1密码为admin,则flag{192.168.1.1_admin)


附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件

附件名称:20250415_信安一把梭_encode.zip

0x01. WP

1. 流量包分析

发现流量大多为TCP协议,其中部分有DATA数据,对应字段进行Base64解码后为json格式日志,其中目测info内容还需要进行Base64解码

image

2. 数据抽取

exp.py

# -*- coding: utf-8 -*-
import pyshark, os, re,time
import base64
import json# 为排除解决raiseRuntimeError(‘This event loop is already running’)报错问题
import nest_asyncio
nest_asyncio.apply()# Author: Jason.J.Hu# 初始化全局参数
strCapPath = "20250415_encode.pcapng"iHTTP=0
strFomula="((tcp) && (data))"cap = pyshark.FileCapture(strCapPath, display_filter=strFomula)print(time.strftime("%H:%M:%S", time.localtime()), "HTTP分析开始 ... ...")for pkt in cap:intRequestNumber = pkt.number# print("\r\tFrame Number: %s " % str(intRequestNumber), end="")for layer in pkt.layers:# 如果请求地址为120.142则对data节点提取数据后在进行json解析并对日志内容进行二次解析if pkt.ip.src=="192.168.120.142":if layer.layer_name == "DATA":  # 指定协议层sData=layer.get_field_value("data_data")  #指定字段            sData="".join((sData.split(":")))sData=bytes.fromhex(sData).decode('utf-8')sData=base64.b64decode(sData).decode('utf-8')sJSON = json.loads(sData)sLog = base64.b64decode(sJSON.get("info")).decode('utf-8')print(sLog)else:# 如果ip.src不是120.142,直接对data进行Base64解析if layer.layer_name == "DATA":  # 指定协议层sData=layer.get_field_value("data_data")  #指定字段            sData="".join((sData.split(":")))sData=bytes.fromhex(sData).decode('utf-8')sData=base64.b64decode(sData).decode('utf-8')print(sData)iHTTP += 1print("\r")
print(time.strftime("%H:%M:%S", time.localtime()), "HTTP分析结束。")

3. 日志分析

# 由于日志量较大,直接将结果输出到文件
python3 exp.py > log.log

发现爆破行为,返回值有Login xxx字样,筛选出Login Success结果并找到对应的请求

得到最终flag:flag{192.168.120.137_zxcv123}

image

http://www.zskr.cn/news/9565.html

相关文章:

  • Linux开机启动进入紧急模式emergency mode的解决方法 - 规格严格
  • Apifox调试报错信息
  • 故障处理:Oracle 19.20未知BUG导致oraagent进程内存泄漏的案例处理
  • esp32 stm32 ros2 三者区别
  • 前端 10 个 JS 神 API,开箱即用
  • 故障处理:清除 DBA_DATAPUMP_JOBS 视图中的异常数据泵作业
  • Web自动化测试智能体详解
  • Playwright自动化测试框架与AI智能体应用
  • Python __init__.py文件
  • 20250330_信安一把梭_考试篇
  • VS Code配置Conda环境完整指南
  • 三度蝉联Gartner SASE领导者:唯一厂商的技术实力解析
  • 水水水 || CSP-S 2025 初赛
  • HCM 性能优化函数
  • Nginx配置里alias和root的区别
  • 国产DevOps生态崛起:Gitee如何赋能企业数字化转型
  • 【OpenCV】10 图像滤波
  • 50系GPU上安装MMCV
  • 20250308_信安一把梭_web
  • 萤石设备视频接入平台EasyCVR国标GB28181视频平台整合铁路抑尘喷洒智能视频监控方案
  • 从零到Offer:Java Socket面试通关秘籍-Socket面试为何总让人“心跳加速”? - 实践
  • 详细介绍:Linux驱动开发笔记(七)——并发与竞争(下)——自旋锁信号量互斥体
  • 2025年项目管理软件革命:AI与空间计算如何重塑企业协作范式
  • C语言 第三讲:分支和循环(上) - 教程
  • Vue3 新趋势:弃用 ECharts!最强图表库诞生!
  • 群晖安装套件跳过版本检查
  • 微信个人号开发API/文档/教程
  • 个人微信号二次开发API调用、微信API接口
  • 建筑行业能源管理破局:MyEMS 打造商业楼宇 “能耗可视化 + 智能调控” 方案
  • 科研必读|提升酿酒酵母表达蛋白产量的关键技术