用户
搜索
  • TA的每日心情
    无聊
    2021-4-14 18:53
  • 签到天数: 57 天

    连续签到: 1 天

    [LV.5]常住居民I

    管理员

    Rank: 9Rank: 9Rank: 9

    81

    主题

    265

    帖子

    2345

    魔法币
    收听
    0
    粉丝
    5
    注册时间
    2018-8-22

    春秋达人积极活跃奖

    发表于 2021-3-7 22:46:28 816147
    1.前言
      在之前的很长一段时间里,无线安全一直没有被人们正确认识。多数人还以为就是用万能钥匙“蹭网”。大概到了2015年,年仅10岁的我被老师安排观看3.15晚会。在此节目中,我被演示的一个绵羊墙震惊。随后便对这些技术持有了学习的态度,所谓技多不压身。
    绵羊墙:绵羊墙(The Wall of Sheep)是在西方举行的各种黑客大会或安全大会上经常出现的趣味活动,源自于黑客大会的鼻祖DEFCON
    在下文可能有部分是引用、摘抄、翻译于网络。对于转载感谢,这里声明出可能引用、摘抄的用户名: Darren Kitchen、腾讯安全、企安、恒阳日报、FreeBuf等,同时感谢来自支持的GitHub项目大佬Hak5等。

    u=259058942,2262663835&fm=11&gp=0.png

       在晚会现场,观众加入主办方指定的一个 Wi-Fi 网络后,用户手机上正在使用哪些软件、用户通过微信朋友圈浏览的照片等信息就都被显示在了大屏幕上。不仅如此,现场大屏幕上还展示了很多用户的电子邮箱信息。在现在比较火的“护网”中,无线安全已经是一个比较热门的话题了。下面我们着重讲一下两大类,让大家了解一些简单、容易取得信息的攻击方式。
    u=1141492977,1595660129&fm=26&gp=0.jpg

    2.示例
    2.1无线热点攻击
      我们通常可以使用deauth或者mdk认证的方式去攻击一个热点,致使用户连不上此WiFi设备。这是一个简单的攻击,常见于我们之前讲过的WiFi杀手。(观看视频
    2.2无线DNS钓鱼(1)
      我们这里同样可以使用ESP8266进行无线钓鱼,诸如之前我发过的一篇帖子:DNS劫持,不过我们不能光是DNS劫持。可以看视频中的分析,在dns服务器配置的地方,一个通配符“*”可以修改为例如bbs.ichunqiu.com,通过此配置,可以将网页相应内容改为i春秋的登录页面。最后将网页的password和username保存到一个String的变量中。那么我们就可以输出到一个指定网页,然后查看他。
    2.3无线认证钓鱼(2)
      声明:下述操作为授权测试。
      之前在我们这一小四线城市中最好的咖啡厅,和他们经理商量到磨破了嘴皮,终于得到了授权和渗透模拟授权。最终在一部Nethunter的设备(之前讲的是Nexus,目前已换一加)、一个OTG接口和一个无线网卡,拿下3个人的QQ账号。原理是通过Nethunter运行fluxion攻击咖啡厅的WiFi,在无线认证提示需要登录QQ最终得到QQ账号密码。我们可以自由编写fluxion的页面,具体可以看视频

    2.4无线内网(1)
      由于这样的典型例子没有见过太多,举一例非无线:之前第一次带队打CTF的时候,在郑州中学的宿舍使用他们自己的网络。由于都处于一个路由下方,所以我们都可以探测对方的电脑。就比如**ec战队的一位成员的电脑,就被某队伍的人们打CVE漏洞利用打掉。
    2.5无线内网(2)
         上面这个例子,虽然是没有利用无线,但是如果当时给我们开放了无线,不管有线无线其实都是一个道理。

    3.无线钓鱼原理剖析  本节将通过搭建一个无线钓鱼热点,展示该攻击方式的危害性、隐蔽性和低成本性。
    3.1无线网卡选择
      由于linux的硬件驱动生态不是非常的完美,如果是非免驱动的国内其实不好找,我们通常是使用下面这款:
    QQ截图20210307204017.png

    这种是插上就能用的那种

      我下面的演示,也都是使用这款网卡。

    3.2创建无线AP

      hostapd是用于AP和认证服务器的守护进程,它实现了与IEEE 802.11相关的接入管理,支持IEEE 802.1X、WPA、WPA2、EAP、OPEN等认证方式。首先,创建配置文件pen.conf:

    [Bash shell] 纯文本查看 复制代码
    [/p][p=26, null, left]#open.conf
    interface=wlan0
    ssid=FreeWiFi
    driver=nl80211
    channel=1
    hw_mode=g[/p][p=26, null, left]

      其中 interface 表示无线网卡接口名称,ssid 表示热点名称,channel 表示信道,hw_mode 用于指定无线模式,g代表 IEEE 802.11g。读者可根据实际情况做相应修改。

    除了创建接入点本身外,还需要配置 DHCP 和 DNS 等基础服务。 dnsmasq 是一款可同时提供 DNS 和 DHCP 服务功能、较易配置的轻量工具。其默认配置文件为/etc/dnsmasq.conf,其中包含大量的注释,用以说明各项功能及配置方法。在默认情况下,它会开启 DNS 功能,同时加载系统/etc/resolv.conf 文件中的内容作为上游 DNS 信息。只需要在配置文件中设置特定的 DHCP 地址池范围和所服务的网络接口即可。代码如下:

    [Bash shell] 纯文本查看 复制代码
    #/etc/dnsmasq.conf
    
    dhcp-range=172.5.5.100, 172.5.5.250, 12h
    
    interface=wlan0

    在运行 hostapd 创建热点前,还需要使用几条命令消除系统对网卡 AP 功能的限制,同时为网卡配置 IP 地址、掩码等信息,最后才能启动 hostapd 程序。命令如下:

    [Bash shell] 纯文本查看 复制代码
    nmcli radio wifi off
    
    rfkill unblock wlan
    
    ifconfig wlan0 172.5.5.1/24
    
    systemctl restart dnsmasq
    
    hostapd open.conf

    3.3吸引用户连接

      将热点名称设置为 Free WiFi 类似的字眼就能吸引许多蹭网的用户主动连接。除此外,攻击者还有其他办法让手机等设备自动连上热点,例如构建一个用户之前连过的热点名称(如CMCC、StarBucks 等),同样为无加密的方式。当无线设备搜索到该同名、同加密类型的历史连接热点(后文称为已保存网络列表)就会尝试自动连接。那么,是否可以通过某种方式获取无线设备的已保存网络列表信息呢?

      无线设备为了加快连接速度,在执行主动扫描时会对外广播曾经连接过的无线热点名称。一旦攻击者截获这个广播,自然就能知道用户连过哪些热点,随后把所有的无线热点名称伪造出来欺骗设备自动连接。

      2004 年,Dino dai Zovi 和 Shane Macaulay 两位安全研究员发布了 Karma 工具。Karma 能够收集客户端主动扫描时泄露的已保存网络列表并伪造该名称的无密码热点,吸引客户端自动连接。一个客户端发出了对两个不同热点名称(Home 和 Work)的 Probe Request 请求, Karma 对包含这两个热点名称的请求都进行了回复。这实际上违反了 802.11 标准协议,无论客户端请求任何 SSID,Karma 都会向其回复表示自己就是客户端所请求的热点,使客户端发起连接。

      一款知名的无线安全审计设备——WiFi Pineapple(俗称“大菠萝”)便内置了 Karma 攻击的功能,由无线安全审计公司 Hak5 开发并售卖,从 2008 年起到目前已经发布到第七代产品。

    src=http___5b0988e595225.cdn.sohucs.com_images_20180918_582fcd9a3c594a6cb42191dd.jpg



      不过在今天,Karma 攻击已经不太好使了。因为各手机厂商了解到 Directed Probe Request 会泄露已保存网络列表信息,可能导致终端遭到钓鱼攻击,所以在较新版本的手机系统中都改变了主动扫描的实现方式:主要是使用不带 SSID 信息的 Broadcast Probe Request 取代会泄露信息的 Directed Probe Request。

    我们可以采取一些简单的策略吸引用户连接:

    ·选择一家提供免费无线网络、还提供电源和座位的咖啡馆

    ·热点名称改为与店里的免费热点名称一致

    ·同时发起deauth拒绝服务攻击使周围客户端掉线触发重连

    如此就可以将周围的无线客户端吸引到我们的钓鱼热点上。

    src=http___article.fd.zol-img.com.cn_t_s640x2000_g5_M00_0D_05_ChMkJ1bqGiKIFK1KAA.jpg

    3.4嗅探信息

      当我们的设备能通过无线或有线的方式接入互联网时,为了使用户设备上的软件有更多网络交互并获取更多的信息,可以将钓鱼网络的流量转发至拥有互联网权限的网卡,从而使钓鱼网络也能连上外网。可以按照下面的操作步骤进行。首先开启 IP 路由转发功能:

    [Bash shell] 纯文本查看 复制代码
    sysctl -w net.ipv4.ip_forward=1

      随后还需设置 iptables 规则,将来自钓鱼网络的数据包进行 NAT(network address translation,网络地址转换)处理并转发到外网出口。

    [Bash shell] 纯文本查看 复制代码
    iptables -t nat - POSTROUTING -o eth0 -j MASQUERADE

      当用户连入网络后,由于所有的网络请求都将经由我们的网卡进行转发,所以可以使用 Wireshark、 Tcpdump 等工具直接观察经过该无线网卡的所有流量。

      Driftnet 是一款简单、实用的图片捕获工具,可以很方便地抓取网络流量中的图片。使用

    [Bash shell] 纯文本查看 复制代码
    driftnet -i wlan0

    命令运行 Driftnet 程序,会在弹出的窗口中实时显示用户正在浏览的网页中的图片。

    3.5恶意DNS

      之前我们那种DNS劫持工具,其实并不算是恶意DNS。

      很多时候,我们会面临无外网的情况,用户设备上的软件由于无法与其服务器交互,大大减少了敏感信息暴露的机会。除了被动嗅探流量中的信息外,还可以在本地部署钓鱼网站来诱导用户填入敏感信息。

      无线客户端连接网络时,通过 DHCP 服务不仅能获取到本地的 IP 地址,还包括 DHCP 服务指定的 DNS 服务地址。当我们可以决定用户的 DNS 解析结果时,钓鱼攻击就可以达到比较完美的效果——界面和域名都与真实网址一致。在本节中,我们将学习如何操纵用户的 DNS 解析结果,从而将用户对任意网址的访问解析到本地。

      实验目的:克隆 www.google.cn 界面到本地,并使无线客户端对指定网页的访问指向该克隆界面。

    (1)打开网页 www.google.cn,通过把网页“另存为”的方式,将代码下载到本地。接着需要配置 Web 服务器,以 nginx 为例,打开配置文件/etc/nginx/sites-enable/default,输入以下内容:

    server {listen 80 default_server;root /var/www/fakesite;index index.htmllocation / {try_files $uri $uri/ /index.html;}}

    (2) 该配置文件指定本地 Web 服务监听 80 端口并以/var/www/fakesite 为根目录,将下载的 HTML代码放置到 Web 目录中并重启 nginx 服务,随后通过浏览器访问 172.5.5.1 查看效果。随后对 DNS 服务进行配置,同样打开 dnsmasq 的配置文件/etc/dnsmasq.conf,以 address=/url/ip的格式写入解析规则,表示将指定 URL 解析到指定 IP 地址。如果 url 处填写为#,将解析所有的地址,随后重启 dnsmasq 服务。

    [Bash shell] 纯文本查看 复制代码
    #/etc/dnsmasq.conf
    
    address=/#/172.5.5.1
    
    systemctl restart nginx
    
    systemctl restart dnsmasq

    (3)通过手机连接该热点,对任意地址进行访问测试(如 baidu.com),如果配置无误,将会返回你设置的内容。

    3.6无线认证

      Captive Portal 认证通常被部署在公共无线网络中,当未认证用户连接时,会强制用户跳转到指定界面。

      在 iOS、Android、Windows、Mac OS X 等系统中其实已经包含了对 Captive Portal 的检测,以 Android 系统为例,当设备连入无线网络时会尝试请求访问clients3.google. com/generate_204并根据返回结果来判断网络状况。

    当返回 HTTP 204 时,表示网络正常;
    如果返回了HTTP 302 跳转,手机就会认为该网络存在网络认证,并以弹窗等方式显示在手机中。
    iOS、Windows 等系统也都采取类似的检测逻辑。

      单击该提示就会直接打开认证界面。显然,一个热点配置了 Captive Portal 后会更显得像是一个“正式”的热点,同时利用该特性能让用户直达钓鱼界面。

      我们使用iptables来转换流量。iptables 是一种能完成封包过滤、重定向和网络地址转换(NAT)等功能的命令行工具。借助这个工具可以把用户的安全设定规则执行到底层安全框架 netfilter 中,起到防火墙的作用。

    通过 iptables 对来自无线网络的流量进行配置:

    [Bash shell] 纯文本查看 复制代码
    iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to-destination 172.5.5.1:80
    
    iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j DNAT --to-destination 172.5.5.1:53
    
    iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 53 -j DNAT --to-destination 172.5.5.1:53

    在上述命令中,第1行表示将来自 NAT 网络的对 80 端口的数据请求都指向 172.5.5.1 的 80 端口;第 2~3 行表示将来自 NAT 网络的对 53 端口的 TCP、UDP 请求都指向 172.5.5.1的 53 端口。

    接下来的任务是在本地启动HTTP服务,并配置网页信息及对相应请求的 302跳转等。同样以nginx为例,打开/etc/nginx/sites-enabled/default 文件,修改为以下配置:

    server {listen 80 default_server;root /var/www/html;location / {try_files $uri $uri/ /index.html;}location ~ \.php$ {includesnippets/fastcgi-php.conf;fastcgi_passunix:/var/run/php/php7.0-fpm.sock;}}

    在上述配置中,会将/var/www/html 指定为 Web 根目录,当访问不存在的路径时都会被 302 跳转到 index.html 文件。同时还开启了对 PHP 文件的解析,因为后续会使用 PHP 程序来将用户输入的账号保存到本地。

    使用网络上下载的Gmail钓鱼模板,将提交账号信息的form表单指向post.php。

    #post.php<?php$file = 'log.txt';file_put_contents($file, print_r($_POST, true), FILE_APPEND);?><meta http-equiv="refresh" content="0; url=./.." />

    最后,重启nginx 及php 服务使配置生效,命令如下:

    [Bash shell] 纯文本查看 复制代码
    systemctl restart nginx
    
    systemctl restart php7.0-fpm

    使用手机连接该热点,会立即得到需要认证的提示。打开提示后便出现了预设的钓鱼界面。可以尝试在登录框中输入任意账号密码并单击Sign in 按钮进行提交。

    在Web 根目录下,可以查看记录了用户输入信息的log.txt 文件。




    本帖被以下淘专辑推荐:

    末心网络安全团队 | Q群374327762 | QQ1044631097
    牛哇
    个人博客:http://535yx.cn QQ210246020
    使用道具 举报 回复
    发表于 2021-3-8 10:13:16
    不错
    让我们一起干大事!
    有兴趣的表哥加村长QQ:780876774!
    使用道具 举报 回复
    发表于 2021-3-8 10:19:05
    学到了
    My blog :http://www.e-wolf.top
    使用道具 举报 回复
    只会用ESP8266刷Wipwn得我。。。
    使用道具 举报 回复
    发表于 2021-3-8 10:58:48
    感谢末心大神的分享   大神辛苦啦~
    使用道具 举报 回复
    学到了学到了
    使用道具 举报 回复
    发表于 2021-3-8 11:32:46
    感谢分享
    使用道具 举报 回复
    发表于 2021-3-8 14:41:21
    AquariusGirlYX 发表于 2021-3-8 10:19
    只会用ESP8266刷Wipwn得我。。。

    我前面讲的还不是wipwn
    末心网络安全团队 | Q群374327762 | QQ1044631097
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册