EzUSB
一个简单的USB流量
点开第一个流量发现抓捕到payload,第三个字节为09.
表示USB Device向HOST发送了信息,“Leftover Capture Data” 就是 USBPcap 抓到的 EP 数据(payload)
根据HID 键盘标准表:
以下kecode对应的就是usage ID
Keycode
键
ASCII
0x04
a
61
0x05
b
62
0x06
c
63
0x07
d
64
0x08
e
65
0x09
f
66
0x0A
g
67
0x0B
h
68
0x0C
i
69
0x0D
j
6A
0x0E
k
6B
0x0F
l
6C
0x10
m
6D
0x11
n
6E
0x12
o
6F
0x13
p
70
0x14
q
71
0x15
r
72
0x16
s
73
0x17
t
74
0x18
u
75
0x19
v
76
0x1A
w
77
0x1B
x
78
0x1C
y
79
0x1D
z
7A
那...
UBIFS(Unsorted Block Image File System)是针对闪存设备设计的文件系统。我详细介绍一下UBIFS镜像的处理和分析:
UBIFS 概述特点
专为原始闪存设备设计
支持磨损均衡、坏块管理
提供数据压缩、数据完整性
用于嵌入式Linux系统
UBIFS镜像结构镜像组成text
1234UBIFS镜像 → UBI卷 → UBIFS文件系统 ↓ ↓ ↓ .ubif文件 包含多个 实际文件系统 物理擦除块
层次结构text
DNS Courier<from NSSCTF(CTF)>
发现访问了多次奇怪的域名请求。
过滤这类请求(自行想办法过滤)
然后将这类流量包提取打包成另一个pcapng文件(如果嫌原来的流量包分析起来慢的话)
可以发现按时间顺序排序的第一个域名请求包含504B0304,那么可以联想到作者将压缩包元数据作为域名请求了。
然后我们自然而然想到提取这些数据还原压缩包。
但是这里足足有20万条流量包,也就是最少需要20万行的批处理,这里有人说用代码跑,但是并不建议,我们先提取数据。
Arrdeepee
题目描述:
我们某一个box被pwn了。在检查过程中,我们发现了一个叫mimikatz的东西,我们以前没有安装过,所以我们清除了,并且重新安装了box。但是,我们忘记备份我们的flag文件了。幸运的是,我们有一个攻击者网络流量捕获。你可以帮我们恢复出flag文件吗?
流量分析,废话不多说,直接开始.
发现大量tls,同时还有较为罕见的rdp流量,没接触过,试试.
我们知道rdp流量中 TPKT 是 RDP 的传输封装层,同时默认端口:TCP 3389, 这种情况下如果没有TPKT流量,就需要wireshark对协议进行解析:
将从59921端口发往3389端口的TCP协议解析为TPKT协议,就可以看到了.
VMware Linux命令窗口鼠标滑轮体验优化解决方案为什么 VMware 下鼠标滚轮手感差
虚拟机的输入延迟: VMware 把宿主机的鼠标输入“翻译”成虚拟信号发送到客机,滚轮事件分辨率很低(一次滚动往往是好几行)。
libinput 默认步长过大: Linux 桌面默认按“行”滚动,而不是“像素滚动”,导致特别跳。
没有加速度补偿: 虚拟设备(如 VirtualPS/2 VMMouse)通常不支持高精度滚动(不像真实 USB 鼠标那样有分级信号)。
启用平滑滚动(针对 GNOME / libinput)在命令行执行:
1sudo nano /etc/libinput/local-overrides.quirks
添加以下内容:
1234[VMware Virtual Mouse]MatchName=VMware VMware Virtual USB MouseAttrScrollMethod=buttonAttrScrollPoints=1
然后重启或运行:
1sudo udevadm control --reload-rules &&...
Block-chain Signln
题目给了我们区块hash,我们可以查询~TESTNET Sepolia (ETH) Blockchain Explorer
根据hash查询交易信息
这里click to SHOW MORE
发现一个INPUT DATA是hex转一下,得到flag。
☆: .。. o(≧▽≦)o .。.:☆《☆》: .。. o(≧▽≦)o .。.:☆
traffic 1
有tcp无http,怀疑tls
过滤tls
大量tlsv1.2协议。
发现Encrypt字段,怀疑解密。
搜索key没有发现,再看了看发现有ftp协议,看看什么模式。
evil_mcp
ez_AI:打开环境
这里思路是编写一个脚本注入获取flag
12345678910111213141516from typing import Any@tool( name="get_flag", description="Get the flag from the server", input_schema={ "type": "object", "properties": {}, "required": [] })async def get_flag(arguments: dict[str, Any], context: Any) -> Any: """Get the flag.""" with open('/flag', '...
ESP(扩展栈指针)principle:
*在程序执行过程中,栈的操作与函数调用、局部变量存储等密切相关。当程序执行到某个函数调用时,会将函数的参数、返回地址等信息压入栈中,而 ESP 则始终指向栈顶。*X86 exp寄存器存储的是当前栈顶的内存地址。
Function:
ESP 定律的核心原理基于栈的平衡机制。在一些情况下,特别是在加密程序或存在代码保护机制的软件中,程序可能会对自身代码进行加密或混淆处理,使得直接分析原始代码变得困难。然而,当程序执行到特定关键代码段(如解密后的代码部分)时,通常会涉及到栈的操作,导致 ESP 的值发生有规律的变化。通过监测 ESP 的值变化,我们可以找到这些关键代码的执行点。
CPP:
123456789101112131415161718192021`#include <iostream>``void encryptedFunction() {``// 这里假设是一些加密后的代码逻辑``std::cout << "This is the encrypted part of the code.&qu...