[流量分析]2024强网杯-谍影重重5.0
题目给了一个流量包,用wireshark查看分析,主要的有smb、rdp、tls等 第一个点在smb: 有两次尝试登录的请求,第一次 SMB 登录失败在 10–13 号包,第二次成功登录在 120–123 号包。发现后门的smb是加密的 需要解密smb,而SMB 里这一步最重要的是 NTLMSSP(微软开发的一种安全协议,主要用于在 Windows 操作系统之间进行身份验证)。 Windows 在 SMB 认证时,经常会出现 NTLM 三步: Type 1:协商 Type 2:服务器挑战 Type 3:客户端带响应认证 第一步NTLM 挑战 - 响应认证参考:SMB流量分析-CSDN博客 NTLM 是一个基于哈希的挑战 - 响应(Challenge-Response)协议,核心目标是: 客户端不直接发送明文密码,仅用密码哈希 + 服务器随机挑战值,证明自己知道密码,完成身份认证 验证操作 Windows 系统会将用户明文密码 → 经过 MD4 哈希 → 生成 NT Hash 在Type 2中服务器生成一个 8 字节的随机挑战值 在Type 3中客户端用密码哈希 +...
[SHCTF2024]easyLogin
出题人blog:[SHCTF]easyLogin(出题小记) – Sw’Blog 运行APK文件后发现一个要输入服务器地址的弹窗 这里输入地址后发现无法链接上去,弹窗去不了,无法进行一下一步 用Jadx分析源码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145package com.swdd.easylogin;import...
Android NDK 构架了解与逆向
SDK、NDK 和 JNI、SO、ELF 的关系NDK是安卓原生开发工具包,作用:把 C/C++ 代码 → 编译成 .so(ELF 文件) SDK是安卓Java/Kotlin 开发工具包 ,作用:写 APP 界面、逻辑、四大组件。 JNI是Java ↔ C/C++ 的调用桥梁 概念 作用 NDK 安卓原生开发工具包,作用:把 C/C++ 代码 → 编译成 .so(ELF 文件) SDK 安卓Java/Kotlin 开发工具包 ,作用:提供 API、编译器、模拟器 JNI Java ↔ C/C++ 的调用桥梁 关系链1234567Java 代码 (SDK 编写) ↓ (需要调用 C 功能) JNI 桥梁 ↓C/C++ 代码 (NDK 编译) ↓ .so 文件 (ELF 格式) JNI 基础开发流程完整流程图 1234567891011121314Kotlin/Java 声明 native 方法 ...
安卓的基本结构
最近打算专攻Android逆向,在这里记录一下最开始的Android基础知识 安卓的四大组件Activity、Service(服务)、BroadcastReceiver(广播接收器)、Content Provider(内容提供者) ActiviyActivity 是 Android 应用中负责用户界面和交互的核心组件。每个应用至少有一个 Activity,它通常作为应用的启动点,用于展示 UI 并处理用户输入。Activity 通过生命周期方法管理与用户的交互,并通过 Intent 在多个 Activity 之间进行跳转。 主要功能: 负责用户界面的展示和用户的交互。 每个应用至少有一个 Activity,通常应用的启动点就是一个 Activity。 可以通过 Intent 在不同的 Activity 之间进行跳转。 ServiceService 是一个在后台运行的应用组件,它不与用户直接交互,但可以在后台执行长时间的任务。比如,下载文件、播放音乐或进行网络请求等。Service...
时序侧信道攻击
看到nk战队的wp上HyperJump题用的时序侧信道攻击,参照nk战队的wp进行时序攻击的学习和思考 时序测信道攻击的原理和防范措施核心思想:通过测量一个系统执行操作所花费的时间,系统的执行时间与处理的数据内容、内部操作序列密切相关,攻击者通过精准测量执行时间并分析差异来推断出系统内部的秘密信息(如加密密钥、密码等)。 防范措施:既然攻击者利用的是操作时间差,那么我们就能知道防御的核心原则是——消除执行时间与秘密数据之间的任何依赖关系。 恒定时间编程 添加随机延迟 算法级屏蔽 操作执行前,先用一个随机值对秘密数据进行盲化。操作完成后,再去除盲化因子。这样,算法核心处理的就是随机化的数据,其执行时间不再与原始秘密相关 以上三种措施都能有效防范该攻击 对wp中的exp分析123456789101112131415161718192021222324252627282930import subprocess #用于启动外部程序并与其交互import timeit #用于精确测量代码执行时间import string #提供字符串常量(如字母、数字) ...
SM4加密原理解析
参考文章:SM4算法过程密码学基础——SM4算法 SM4算法介绍SM4 是一种中国国家密码算法标准,广泛应用于无线局域网产品中的数据加密保护。它是一个分组对称加密算法,类似于 AES 算法,但结构和细节不同。 基础概念概览 项目 描述 算法类型 对称加密算法 分组长度 128 比特(16 字节) 密钥长度 128 比特(16 字节) 轮数 通常为32 轮 主要结构 Feistel 类似结构(实际上是非经典 Feistel) 用途 国密标准中的数据加密,WAPI 无线局域网等 整体流程概览 密钥扩展(密钥调度):输入 128bit 的密钥,生成 32 个轮密钥(每个 32bit)。 分组加密过程: 将 128bit 明文分成 4 个 32bit 的字(X0, X1, X2, X3); 每一轮: 使用轮密钥和前四个字进行非线性变换,生成一个新的字; 滑动更新 4 个字; 加密结果为最后 4 个字的逆序连接(Y0= X35, Y1= X34, Y2= X33, Y3=...
Flutter与so文件动调
Flutter与so文件动调这是2024-CtfNewStar的Week5 Ohn_flutter!!!一个Flutter的安卓题目,这里只讲如何恢复符号表和so文件动调,具体WP请看CtfNewStar Flutter是谷歌的移动UI框架,Flutter 使用编译型语言 Dart 开发,代码会被编译为原生机器码(而非通过 JavaScript 桥接),运行速度接近原生应用。 工具准备blutter 环境配置 前置知识Flutter 应用的结构Flutter 应用的核心文件通常包括: libapp.so(Android)或 App.framework(iOS):包含 Dart 编译后的原生代码。 flutter_assets/:存放资源文件(图片、字体、配置文件等)。 isolate_snapshot_data 和 vm_snapshot_data:Dart 虚拟机的快照数据(用于启动应用)。 libflutter.so(Android):Flutter 引擎库。 恢复符号表配置好blutter环境以后,打开x64 Native Tools Command...
详谈RC5加密
参考文章: RC5 RC5 分组密钥算法 C语言实现 背景与历史RC5是Ron...
L3HCTF2025
TemporalParadox拿到这道题目,我运行程序后发现报错 检查了一下我没缺少动态库就没管了,直接静态分析 主函数里面有两个分支,当程序在特定的时间点v58 > 1751990400 && v58 <=...
OLLVM简单理解
OLLVM简单理解OLLVM是什么?OLLVM 是一个基于 LLVM 编译器框架的开源代码混淆工具,旨在通过多种混淆技术增强程序的安全性,使逆向工程(反编译、反汇编)变得更加困难。 OLLVM 的核心功能OLLVM 通过修改 LLVM 的中间表示(IR),在编译阶段对代码进行混淆,主要支持以下技术: 控制流平坦化(Control Flow Flattening) 将程序的控制流图(CFG)转换为 状态机 结构,使分支和循环逻辑变得难以分析。 指令替换(Instruction Substitution) 将简单的算术运算(如 +, -, *****, /)替换为更复杂的等效表达式。 虚假控制流(Bogus Control Flow) 插入 永远不会执行 的代码块(基于恒真/假条件),干扰逆向分析工具。 字符串加密(String...

![[流量分析]2024强网杯-谍影重重5.0](/img/%E5%8E%9F%E7%A5%9E-%E6%B0%B4%E4%B8%AD.png)
![[SHCTF2024]easyLogin](/img/image_download_1733912732798_compressed.jpg)





