• Tea

    Tea

    Tea(Tiny Encryption Algorithm)|分组加密算法 Basic Elements: 参数 说明 明文 64 比特(分为两个 32 位部分) 密钥 128 比特(分为 4 个 32 位部分) 轮数 64 次(32 轮循环,每轮包含两个半轮操作) 常量 delta = 0x9E3779B9 (即黄金分割常数的整数近似) 首先,我们逐一对各个element进行分析解释: 明文:明文长度不一定是64bit明文不是 64 位(不是 8 字节)怎么办?——必须填充(padding)到 8 字节的倍数。填充完之后再做处理。 分组:明文填充(padding)到 8 字节的倍数需要分组。example:“helloctfgaoshou”,此字符串按照utf-8编码,标准的ASCII字符串的长度是15,很显然需要填充一个字符来达到8字节整数倍达到16字节。 此处按PKCS7Padding模式,按块所缺个数填充值。例如:填充至符合块大小的整数倍,填充值为填充数量数,需要填充7个字节,就全部填07。
  • RSA

    RSA

    RSARSA算法是一种非对称加密算法,它依赖于大数因子分解的难度,通过一对密钥(公钥和私钥)来实现数据的加密和解密。RSA算法的核心是两个大质数的选择和一系列数学运算。密钥生成过程 RSA算法的密钥生成过程涉及以下步骤:选择两个大质数 (p) 和 (q),并计算它们的乘积 (N = p * q),这个 (N) 将作为公钥和私钥的一部分。计算欧拉函数 (\Phi(N) = (p-1) * (q-1))。选择一个整数 (e),使得 (1 < e < \Phi(N)) 且 (e) 与 (\Phi(N)) 互质,这个 (e) 将作为公钥的另一部分。计算 (e) 的乘法逆元 (d),使得 (d * e≡1(mod\Phi(N))),这个 (d) 将作为私钥。加密和解密过程 加密和解密的数学表达式分别为:加密:(C = M^e \mod N)解密:(M = C^d \mod N)其中,(M) 是明文,(C) 是密文,(e) 和 (N) 组成公钥,(d) 和 (N) 组成私钥。数学证明 RSA算法的正确性基于数学证明,其中涉及到欧拉定理和模运...
  • Pyrdp-convert路径Errorsolve

    Pyrdp-convert路径Errorsolve

    Pyrdp-convert路径ErrorSolve1. 问题识别执行 pyrdp-convert rdp_dec.pcap -o out 命令时出现大量错误: 123[-] Failed to handle data, continuing anyway: [Errno 2] No such file or directory: 'D_\\Forensicstools\\envs\\out\\20170823082818_192.168.43.185_59921-192.168.43.130_3389.pyrdp' 注意到路径中的 D: 被错误地替换为 D_ (冒号变成了下划线),导致系统无法找到正确的文件路径。 2. 定位问题代码通过分析代码,我发现问题出在 d:\Forensicstools\envs\pyrdp\pyrdp\recording\recorder.py 文件中的 FileLayer 类: 12self.filename = fileNameself.filename = str(self.filename).replace(":&...
  • EzUSB

    EzUSB

    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

    UBIFS

    UBIFS(Unsorted Block Image File System)是针对闪存设备设计的文件系统。我详细介绍一下UBIFS镜像的处理和分析: UBIFS 概述特点 专为原始闪存设备设计 支持磨损均衡、坏块管理 提供数据压缩、数据完整性 用于嵌入式Linux系统 UBIFS镜像结构镜像组成text 1234UBIFS镜像 → UBI卷 → UBIFS文件系统 ↓ ↓ ↓ .ubif文件 包含多个 实际文件系统 物理擦除块 层次结构text
  • DNS Courier

    DNS Courier

    DNS Courier<from NSSCTF(CTF)> 发现访问了多次奇怪的域名请求。 过滤这类请求(自行想办法过滤) 然后将这类流量包提取打包成另一个pcapng文件(如果嫌原来的流量包分析起来慢的话) 可以发现按时间顺序排序的第一个域名请求包含504B0304,那么可以联想到作者将压缩包元数据作为域名请求了。 然后我们自然而然想到提取这些数据还原压缩包。 但是这里足足有20万条流量包,也就是最少需要20万行的批处理,这里有人说用代码跑,但是并不建议,我们先提取数据。
  • 攻防世界HITBGSEC CTF 2017 - arrdeepee (Misc)

    攻防世界HITBGSEC CTF 2017 - arrdeepee (Misc)

    Arrdeepee 题目描述: 我们某一个box被pwn了。在检查过程中,我们发现了一个叫mimikatz的东西,我们以前没有安装过,所以我们清除了,并且重新安装了box。但是,我们忘记备份我们的flag文件了。幸运的是,我们有一个攻击者网络流量捕获。你可以帮我们恢复出flag文件吗? 流量分析,废话不多说,直接开始. 发现大量tls,同时还有较为罕见的rdp流量,没接触过,试试. 我们知道rdp流量中 TPKT 是 RDP 的传输封装层,同时默认端口:TCP 3389, 这种情况下如果没有TPKT流量,就需要wireshark对协议进行解析: 将从59921端口发往3389端口的TCP协议解析为TPKT协议,就可以看到了.
  • VMware Linux Mouse Wheel Tuning and Smooth Scrolling

    VMware Linux Mouse Wheel Tuning and Smooth Scrolling

    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 &&...
  • traffic 1

    traffic 1

    traffic 1 有tcp无http,怀疑tls 过滤tls 大量tlsv1.2协议。 发现Encrypt字段,怀疑解密。 搜索key没有发现,再看了看发现有ftp协议,看看什么模式。
  • Block-chain Signln

    Block-chain Signln

    Block-chain Signln 题目给了我们区块hash,我们可以查询~TESTNET Sepolia (ETH) Blockchain Explorer 根据hash查询交易信息 这里click to SHOW MORE 发现一个INPUT DATA是hex转一下,得到flag。 ☆: .。. o(≧▽≦)o .。.:☆《☆》: .。. o(≧▽≦)o .。.:☆
123