漏洞利用¶
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-无线安全);红队演练中"物理近源 + 无线"组合。
武器化流程(渗透语境)¶
- PoC 获取:exploit-db/CVE 详情/GitHub;searchsploit 本地检索。
- 环境差适配:版本/架构/路径差异调整;先在相似环境验证。
- 稳定性:重试逻辑、崩溃恢复(watchdog)、失败回滚意识(生产环境!)。
- 载荷选择:回连 shell(内网可达性)、内存执行免落地、与 C2 框架对接(msf/Cobalt Strike → 后渗透)。