基于技术白皮书
http://go.armis.com/hubfs/BlueBorne%20Technical%20White%20Paper-1.pdf?t=1505319664351
看完后我的理解如下(第13页,下)
因此要利用(Linux 内核 RCE 漏洞 - CVE-2017-1000251),有两个攻击者攻击者和受害者
1) 攻击者发送带有 EFS 元素的配置请求,其中 stype 设置为 L2CAP_SERV_NOTRAFIC
2) 攻击者发送结果字段设置为 L2CAP_CONF_PENDING 的配置响应和可能重复的参数,例如许多 MTU 值,以触发堆栈溢出
我很困惑,因为我认为受害者应该根据攻击者的配置请求发送配置响应,但在论文中它是如上所述的。
这个对吗?我看错了吗?有人可以解释/纠正我吗?
谢谢,
更新1:
当它帮助某人时,这里是一个 Conf Request Wireshark 跟踪。
有这 2 个适配器
客户端 - 00:1A:7D:DA:71:13
服务器 - 34:F3:9A:10:52:C9
在这里,我与客户一起将 MTU 设置为 2000
./l2cap-client 00:1A:7D:DA:71:13
mtu: ok
./l2cap-server
accepted connection from 34:F3:9A:10:52:C9
有人可以解释一下吗?我有 TCP/IP 背景....
localhost() 是什么意思?
为什么它从 localhost() 发送到客户端 (Conf req) 而不是从客户端发送到 localhost() (Redvd Conf Req) 而不是服务器发送到 localhost() (Recvd Conf Req) 而不是从 localhost() 发送到服务器 (Sent Conf Response)发送并在最后客户端和服务器发送到 localhost() Recv Conf Response - 成功?
更新 2:
发现这一点,基于此,每个设备都应该发送一个 Conf Request,每个请求都应该收到一个 Conf Response。
为什么它看起来比我的 Wireshark 跟踪中的那么奇怪?
更新 3:
好吧,我想,我想通了......
攻击者
发送:
发送配置请求 (DCID: 0x0040)
攻击者发送带有 EFS 元素且 stype 设置为 L2CAP_SERV_NOTRAFIC 的配置请求
同时收到对方的conf请求:
Rcvd 配置请求 (DCID: 0x0040)
发送:
攻击者发送结果字段设置为 L2CAP_CONF_PENDING 的配置响应和可能重复的参数,例如许多 MTU 值,以触发堆栈溢出
更新 4:
进入下一步......制作框架,如果有人对 SO 感兴趣,这是我的下一个问题:
https://stackoverflow.com/questions/46317365/bluetooth-reply-data-frame-using-l2test