漏洞利用

PEN · 知识域。漏洞验证与武器化。标签:缓冲区溢出、格式化字符串漏洞、整数溢出、栈溢出、堆溢出、UAF漏洞。

触发特征

  • 渗透题/实战中遇到服务端二进制漏洞(自研服务、工控软件、网络设备)。
  • 技术本体在 Pwn 方向;本页讲"渗透语境下的武器化"。

缓冲区溢出(Windows 实战传统)

  • 服务监听端口 + 长输入崩溃 → offset 计算(cyclic)、坏字符分析(\x00\x0a\x0d)、mona(!mona pattern/jmp -r esp)。
  • shellcode 空间与编码:msfvenom -p windows/exec CMD=... -b '\x00';分阶段(stager:reverse_tcp 小头 + 二段拉取)。
  • DEP/ASLR 时代的链:ROP(mona rop 模块按模块非 ASLR 段找 gadget)。

格式化字符串漏洞

  • 服务日志/报错路径 printf 用户输入(→ Pwn-格式化字符串 全技术)。
  • 渗透场景:直接 %n 写 GOT → 循环 shell;泄露版(只读)→ 打栈上凭据后另寻执行点。

整数溢出

  • 长度计算绕过(negative length → memcpy 超大拷贝,→ Pwn-逻辑漏洞 类型混淆)。
  • 商业软件的历史富矿:解析器长度字段、协议头 size 累加溢出。

栈溢出

  • 技术全表 → Pwn-栈漏洞利用;渗透场景差异:
  • 目标多为远程服务(fuzz 发现 → 验证稳定崩 → 打 exploit)。
  • 可靠性优先:不依赖精确地址的方案(SEH 覆写老 Windows、jmp esp 静态地址)。
  • Windows 老系统(实战中仍常见):VEH/SEH、栈结构差异。

堆溢出

  • Windows 堆:LFH 占位(堆喷+占位重用)、browser/kernel 场景的 grooming;技术谱系 → Pwn-堆漏洞利用(Linux glibc 为主)。
  • UAF:浏览器/办公软件漏洞(1-day 复现场景,CVE+PoC 改造 → Pwn-内存破坏漏洞)。

应用层漏洞的渗透语境(WebShell/RCE/注入)

  • 远程代码执行(RCE)与命令注入:渗透主得分面——Web 层 RCE(→ WEB 各语言页)、服务组件 RCE(中间件 N-Day,→ WEB-Windows相关)、二进制服务溢出(→ 下文)。验证次序:回显 RCE > 盲打(时间/DNS 外带)> 内存马。
  • WebShell 利用:马落地后的能力面——文件管理/命令执行/数据库管理/流量加密;蚁剑/冰蝎/哥斯拉连接与免杀(→ WEB-文件上传 上传后动作、Misc-WEB流量分析 流量特征);内存马(Filter/Servlet)无文件落地更隐蔽。
  • 后门植入(武器化环节):持久化的第一层——启动项/服务/计划任务/webshell 多点(完整持久化体系 → 后渗透 持久化节);植入位置避开常规扫描路径。
  • 代码注入(打点阶段):把执行单元注入存续进程规避落地检测——进程注入套件 → Reverse-代码注入;利用代码注入执行 payload(如 sRDI)是红队常规链。
  • 提权漏洞利用:打点后低权 → 系统(→ 后渗透 权限提升节);本页关注"提权漏洞作为首次打点"的场景(如目标直接暴露可未授权 RCE 的服务)。
  • 无线网络攻击:无线作为入口面—— rogue AP / evil twin 抓凭据、WPA 破解进内网、蓝牙/RF 门禁绕过(技术细节 → IoT-无线安全);红队演练中"物理近源 + 无线"组合。

武器化流程(渗透语境)

  1. PoC 获取:exploit-db/CVE 详情/GitHub;searchsploit 本地检索。
  2. 环境差适配:版本/架构/路径差异调整;先在相似环境验证。
  3. 稳定性:重试逻辑、崩溃恢复(watchdog)、失败回滚意识(生产环境!)。
  4. 载荷选择:回连 shell(内网可达性)、内存执行免落地、与 C2 框架对接(msf/Cobalt Strike → 后渗透)。

转向

评论