CVE-2018-25265LanSpy 2.0.1.159版本在扫描功能模块中存在严重的本地缓冲区溢出漏洞。由于软件未正确处理用户输入,本地攻击者无需任何认证即可利用该漏洞。攻击者可以通过精心构造恶意Payload,利用结构化异常处理(SEH)链覆盖技术及Egghunter技巧,劫持程序执行流并执行任意恶意代码,最终完全控制受影响系统,造成高危安全风险。
该漏洞属于典型的本地栈溢出,利用点位于LanSpy的扫描功能模块。当程序处理特定的扫描请求或数据包时,未对输入的数据流进行严格的边界长度检查,导致向固定大小的缓冲区写入超长数据,引发栈溢出。攻击的核心在于利用Windows系统的结构化异常处理(SEH)机制。攻击者首先向缓冲区注入大量填充数据以覆盖栈空间,随后精确覆盖SEH链中的异常处理程序指针。为了应对缓冲区空间受限或地址随机化(ASLR)的问题,攻击者常采用Egghunter技术:在内存中搜索特定的标记以定位存放在溢出缓冲区后方的Shellcode。通过控制SEH处理指针指向POP POP RET指令序列,攻击者能够劫持程序流程,使其跳转至Shellcode执行,从而实现本地任意代码执行。