Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Cisco-ASA-vulnerability-research — 对 Cisco ASA 的 lina 二进制进行系统性逆向工程,以发现并分析内存破坏漏洞,包括 CVE-2025-20333 和 CVE-2025-20362,重点聚焦于寻找远程代码执行原语。 | Kitploit
工具/GitHubGitHub/cobbbex/cisco-asa-vulnerability-research
漏洞分析漏洞利用逆向工程Web安全模糊测试网络安全二进制分析
GitHubcobbbex/cisco-asa-vulnerability-research

Cisco-ASA-vulnerability-research

对 Cisco ASA 的 lina 二进制进行系统性逆向工程,以发现并分析内存破坏漏洞,包括 CVE-2025-20333 和 CVE-2025-20362,重点聚焦于寻找远程代码执行原语。

查看仓库
3天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

LINA_FULL_RE — 对 lina 的全覆盖逆向工程

创建时间: 2026-08-12 目标: lab_asav9-12-4-67/lina(ASAv 9.12(4)67,ELF x86-64,PIE;Ghidra 映像基址 0x100000;112,687 个函数,映射约 167 MB,642,707 个符号) 轨道目标: 对 lina 二进制文件进行系统性、完整的逆向工程覆盖——以补充迄今已完成的假设驱动型定向逆向工程——从而猎取实验室尚未找到的原语(20362+20333 上现实世界中未认证 root RCE 已被证实,因此它必然存在)。


为何设立此轨道

此前所有逆向工程均为定向(故障 PC 反编译、字符串锚点交叉引用遍历、绑定范围扫描)。它已关闭每一个经审计的范围(H4-1/2/3/4、tostring(userdata) 反射、SSH/SNMP/IKE %p、备选溢出家族、生存预言机)——参见 ../RCE_BLOCKERS.md、../NEW_ROADS_TO_CODE_EXECUTION.md。这些关闭结论均按范围逐一成立;一个 112k 函数二进制文件中,正是 APT 缺失原语的必然藏身之处。此轨道以取代“猜测下一个攻击面”。

未经审计的剩余部分
覆盖率

与关键路径的关系: 已知利用链的硬性关口仍是 P0(实时远程信息泄露);CIFS readdir 越界读取(步骤 19i,4 字节窗口)是唯一经实证确认的泄露,并仍是当前的实证主轨道。LINA_FULL_RE 是系统性的对冲手段:在未审计代码中找到更优的泄露/原语,或证明其不存在。

首批分流目标(用户于 2026-08-12 选定)

  1. 泄露汇聚点 —— 任何可从网络到达、能够输出 0x55..(lina)或 0x7f..(libc/堆)qword 的路径:格式字符串发射器(对指针使用 %p/%lx/%x)、越界读取(长度不受已初始化数据约束)、堆残留的反射、未初始化缓冲区回显。
  2. 溢出汇聚点 —— 所有长度受攻击者影响且不受目标容量约束的复制(memcpy/memmove/strcpy/strcat/sprintf/vsprintf/gets 类 + 自定义复制循环),覆盖所有协议面(不仅是已穷尽的 WebVPN Lua 绑定——参见 ../LINA_ALT_OVERFLOW_FAMILIES_RE.md)。
  3. 调用图可达性 —— 从所有外部入口点(WebVPN/HTTPS 分发器、SSH、SNMP、IKE/ISAKMP、DTLS、ASDM、故障转移 csco_config)构建前向调用图,以便按实际可从网络线路到达的程度对分流命中进行排序。

(用户暂缓:CVE-2025-20363 汇聚点搜寻——OSINT 显示它消费一个泄露,与 20333 同类;参见 ../CVE-2025-20363_OSINT.md。)

方法 —— 漏斗(而非平铺通读 112k 个函数)

阶段内容工具输出
1. 语料库将全部 112,687 个函数批量反编译到磁盘,每个函数一个 .c 文件,按地址分片Ghidra run_script_inline(Java,DecompInterface),分块 + 可断点续跑corpus/<shard>/<addr>.c
2. 机械式分流用 ripgrep 在语料库中搜索汇聚点模式(下述泄露 + 溢出类别)本地脚本、triage/命中表(CSV/MD)
3. 可达性过滤保留可从网络入口点到达的函数中的命中Ghidra 调用图(get_function_call_graph/脚本)+ 入口点种子列表排序后的命中列表
4. 深度挖掘对排序命中进行定向逆向工程(沿用现有 ghidra-re 子代理模式)ghidra-mcp本文件夹中的发现文档

阶段 1 是纯计算(预计数小时至数天,无人值守、可断点续跑)。阶段 2–3 成本低且本地运行。阶段 4 是唯一大量依赖人工/LLM 的阶段,并且受漏斗约束。

目录结构

root@kitploit:~
Research notes/LINA_FULL_RE/
  README.md            — this file (master plan + status)
  TRIAGE.md            — sink-pattern catalog + reachability plan (stage 2/3 spec)
  scripts/             — decompile + triage + driver scripts
  corpus/              — stage-1 output: decompiled functions, sharded (corpus/2c/02c6cc80.c)
    _progress.txt      — resumable progress marker (done count, last address)
    _errors.txt        — per-function decompile failures
  triage/              — stage-2/3 outputs (hit tables, ranked lists)
  findings/            — stage-4 deep-dive writeups (one MD per confirmed candidate)

状态

阶段状态备注
1. 语料库已完成 2026-08-12(约 19:03 UTC-4)111,997/111,997 个函数,0 错误,corpus/ 中 548 MB;通过 scripts/decompile_all.py(GhidraMCP batch_decompile,每次调用 20 个函数上限)耗时 26,214 秒(约 7.3 小时),平均 4.3 个函数/秒
2. 分流已完成 2026-08-13scripts/triage_stage2.py;各类别命中表位于 triage/*_hits.csv;排序合并结果位于 triage/RANKED.md
3. 可达性已完成 2026-08-13(重跑,已修正种子)语料库调用+引用图(427,198 条边);26,291/111,997 可达(23.5%)——预认证 26,278 / 管理 13 / post20362 0。种子已修正:注册器 0317b4e0、会话 0317c0a0(旧的 030ab4e0/030ac0a0 并非函数起始地址)。仍为下界(vtables 未计入)。
4. 深度挖掘进行中 2026-08-17L1 已关闭。 L2 C 路径 GO(静态): WebVPN UCTE create_type3_message 复制攻击者的 Type-2 TargetInfo 时未做钳制;泄露随 Type-3 Authorization: NTLM 一路回到攻击者的 HTTP 服务器(findings/L2_NTLM_C_PATH_TYPE3.md)。Lua ntlm.parseType2 是休眠的孪生兄弟。O1/O5 协议扫描已关闭(静态): IKE/SSH/SNMP/EWS/PDTS 的复制要么以目标大小受限、要么在发送侧、要么是已知项(031af6d0 / 02ff2f30)。O1“其他”725 项已关闭(静态): 经栈/全局/param+const 过滤 → 无新的目标溢出 GO;015a8b30 是一个未钳制的 addrtype 辅助函数,其调用者仅传入 AF 大小 4/0x10(findings/O1_OTHER_SWEEP.md)。O2 已关闭(静态): 605 个可达复制循环;无新的目标溢出 GO。FUN_02fd7270 = ucte_ntlm_authenticate_connection → 与 L2 C 路径 GO 相同的 create_type3_message(findings/O2_SWEEP.md)。下一步:实验室 NTLM 探测(post-20362)——若出现 0x7f../0x55.. qword,其在窗口上胜过 CIFS。可选静态项:O3/O4。

恢复/控制: 驱动程序会跳过输出文件已存在的函数——随时重新运行 python3 scripts/decompile_all.py 即可继续。优雅停止:touch corpus/STOP。若 Ghidra 或 MCP 插件重启,只需重新运行驱动程序即可。

已发现的插件限制(2026-08-12): run_script_inline 已被禁用(未设置 GHIDRA_MCP_ALLOW_SCRIPTS)→ 语料库仅使用 HTTP 批量端点;batch_decompile 将 ?functions=0x..,0x..,.. 作为 GET 查询参数(而非 JSON 请求体)接收,并静默将响应截断为 20 个函数 → 驱动程序块大小 = 20。

约定

  • 文档/脚本中的所有地址均为 lina RVA(链接基址 0)。语料库文件名是 list_functions 所返回的精确 RVA(已验证:corpus/02/02c6cc80.c = luaH_get = RVA 0x2c6cc80)。注意:GhidraMCP HTTP 插件报告的是 RVA 风格的地址,而非 Ghidra VA = RVA + 0x100000。
  • 若无新证据,不要推翻已有的关闭结论;当“新”候选与已关闭路线重叠时,请引用 ../RCE_BLOCKERS.md / ../TODO.md。
  • 深度挖掘的发现必须注明:可达性(预认证 / post-20362 绕过 / 管理)、泄露类别(0x55.. 对比 0x7f.. 对比堆),以及在可靠性上是否胜过 CIFS readdir 原语(步骤 19i)。
下载工具