标签 DNS Rebinding 下的文章


前言

IDA-PRO-MCP是我经常用的一个工具,看爆漏洞了,于是来分析了一下,大家记得更新升级

漏洞概述

IDA Pro的Machine Control Protocol (MCP)在本地回环地址(`127.0.0.1:13337`)上暴露了一个未认证的JSON-RPC接口。当`py_eval`工具启用时,该接口可以执行任意Python代码。由于缺乏认证、CORS验证和浏览器来源保护,恶意网页可以通过DNS rebinding攻击实现远程代码执行(RCE)。

漏洞分析/复现

IDA PRO MCP

IDA Pro MCP是一个JSON-RPC over HTTP服务,默认监听在:http://127.0.0.1:13337/mcp

image.png



py_eval

py_eval是MCP提供的一个工具,允许通过JSON-RPC接口执行Python代码:

image.png



image.png



例如执行calc命令

image.png



DNS rebinding

DNS Rebinding是一种攻击技术,利用DNS解析的时间窗口:

1 初始解析:浏览器首次访问evil.com时,DNS返回攻击者控制的IP(如1.2.3.4

2 TTL过期:DNS记录的TTL(Time To Live)很短(如0秒)

3 重新绑定:浏览器再次解析时,DNS返回127.0.0.1

4 绕过同源策略:浏览器认为evil.com127.0.0.1是同源的(因为域名相同)

漏洞复现

使用在线网站生成域名

https://lock.cmpxchg8b.com/rebinder.html

image.png



通过DNS Rebinding技术启用py_eval

image.png



image.png



成功通过DNS Rebinding来执行命令

image.png



引用

https://github.com/taviso/rbndr

https://lock.cmpxchg8b.com/rebinder.html

https://github.com/mrexodia/ida-pro-mcp/issues/201