欢迎进Allbet欧博官网,Allbet欧博官网是欧博集团的官方网站。Allbet欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

首页科技正文

usdt充值接口(caibao.it):现代无线通信手艺(三) ——治理帧接见控制列表(MFACL)

admin2020-12-2795无线安全

在本系列文章的第二部门中,我们形貌了无线客户端安全性的改善若何削弱了我们对现代装备使用 Karma 攻击的能力(参见: https://posts.specterops.io/modern-wireless-attacks-pt-II-mana-and-known-beacon-attacks-97a359d385f9) 然后我们讨论了 MANALoud 模式 MANA 攻击和已知信标攻击,它们可以用来战胜这些改善。

在文本中,我们将讨论若何在 EAPHammer 中使用治理帧 ACL (MFACL)来对前面章节中形貌的攻击手艺举行粒度探测级控制(参见: https://github.com/s0lst1c3/EAPHammer ) 我们还将讨论这些攻击若何在算法级别事情,并深入领会使用 MFACL 若何影响 EAPHammer 的运行时效率。

治理帧ACL (MFACL)

KarmaMANA和已知信标攻击本质上是杂乱的手艺,可以很容易地导致你周围的所有装备毗邻到你的伪基站,无论装备是否在你当前的操作范围内。 即使是邪恶的伪基站克隆攻击在某些情形下也会遇到这个问题,例如当伪基站被赋予一个常用的 ESSID 时。

这带来了两个问题: 不仅是针对随便四周的装备本质上是非法的,它也不利于你的事情能力。 从攻击员的角度来看,伪基站攻击是有用的,我们需要能够精确地执行它们。 这意味着要限制它们的影响力和可见度,使它们仅限于我们预期的目的。

 

usdt充值接口(caibao.it):现代无线通信手艺(三) ——治理帧接见控制列表(MFACL) 无线安全 第1张

MFACL 算法

治理帧接见控制列表(MFACL)是解决这一问题的方案。 MFACL 是接见控制列表(ACL) ,在处置传入的探测请求帧之前由接见点举行检查。 它们既可以是基于 SSID 的,也可以是基于 MAC 的,可以在白名单模式或黑名单模式下使用。

下表列出了差异类型的 MFACL,以及它们使用时的效果:

 usdt充值接口(caibao.it):现代无线通信手艺(三) ——治理帧接见控制列表(MFACL) 无线安全 第2张

需要注重的是,MFACL 不能用来限制信标帧,以是若是你正在执行以下任何手艺,它们不能阻止客户端装备看到或实验毗邻到你的伪基站:

· 伪基站克隆攻击

· loud MANA 攻击

· 已知信标攻击

基于 MAC MFACL EAPHammer 中的应用

Hostapd 20194月公布的版本2.8更先就为基于 MAC MFACL 提供了内陆支持。 在将它们整合到 EAPHammer 中时,这为我节省了大量的事情,由于我必须对 hostapd 举行的唯一修改是与添加通配符支持。 有趣的是,Sensepost hostapd-mana 2016年更先支持基于 MAC MFACL,从2017年更先支持基于 SSID MFACL,这远早于 MFACL vanilla hostapd 中的应用(这绝对不是他们第一次领先于潮水)

基于 MAC MFACL 可以以文本文件的形式传递给 EAPHammer,每行包罗一个 MAC 地址:

# example EAPHammer MFACL file
78:f0:97:fc:b5:36
9a:35:e1:01:4f:cf
69:19:14:60:20:45
ce:52:b8:*:*:*
1f:5d:6b:c8:96:d2
c6:c8:64:79:e8:3b
32:99:49:e8:50:23
f5:e2:fe:d1:e2:78

注重上面示例中通配符的使用。 你可以用一个通配符替换任何八位元组,这样你就可以做一些简朴的事情,比如用一个特定的 OUI 忽略来自任何装备的探测请求。 这在处置使用 MAC 地址随机化的装备时异常有用(只管 EAPHammer 的实现不是一个完整的解决方案,由于不够结实的 MAC 模式匹配和无法使用指纹装备) 需要指出的是,这并不是 EAPHammer 的一个完全怪异的功效,由于 hostapd-mana airodump-ng 已经使用 bitmask 做了类似的事情很多年了。 现实上,EAPHammer 最终在运行时将通配符转换为位掩码,因此底层的实现异常相似。

一旦你创建了 MFACL 文件,你可以使用‘--mac-whitelist’标志或者‘--mac-blacklist’标志将其传递给 EAPHammer:

,

环球UG_ALLbet6.com

欢迎进入环球UG官网(UG环球):www.ugbet.us,环球UG官方网站:www.ugbet.net开放环球UG网址访问、环球UG会员注册、环球UG *** 申请、环球UG电脑客户端、环球UG手机版下载等业务。

,
# use MFACL whitelisting
./eaphammer -i wlan0 --essid exampleCorp --cloaking full --karma --mac-whitelist /path/to/mac/whitelist/file.txt
# use MFACL blacklisting
./eaphammer -i wlan0 --essid exampleCorp --cloaking full --karma --mac-blacklist /path/to/mac/blacklist/file.txt

基于 MAC MFACL 对运行时效率的影响

由于基于 MAC MFACL vanilla hostapd 的内置特征,因此它们举行了大量优化。 Vanilla hostapd 接受一个 MAC 地址列表作为设置参数,将单个 MAC 地址转换为字节数组,并在初始化基站之前将字节数组存储在排序的链表中。

基站启动并运行后,将使用二进制搜索执行 ACL 查找。 这种情形下发生最坏的情形的运行时效率是 O(log n),其中 n ACL 中的条目数。 对照是使用 os_memcmp 完成的,这是 Linux 必须提供的对照功效中更优化的一个。 只管如此,使用 MFACL 可能仍然会降低 AP 的速率,稀奇是在频谱拥挤的麋集城市环境中。 具有取笑意味的是,在这样的环境中使用 MFACL 稀奇主要,因此我小我私家的建议是只管缩短 MFACL,以制止处置时间过长。

现实的二进制搜索代码位于 hostapd 的源代码的‘src/ap/ap_config.c'文件中的‘hostapd_maclist_found()'函数中。 从程序员的角度来看,这绝对是一个绝佳的机遇来见证计算机科学的基本概念在现实环境中的使用 :

912 int hostapd_maclist_found(struct mac_acl_entry *list, int num_entries,
913               const u8 *addr, struct vlan_description *vlan_id)
914 {
915     int start, end, middle, res;
916
917     start = 0;
918     end = num_entries - 1;
919
920     while (start <= end) {
921         middle = (start + end) / 2;
922         res = os_memcmp(list[middle].addr, addr, ETH_ALEN);
923         if (res == 0) {
924             if (vlan_id)
925                 *vlan_id = list[middle].vlan_id;
926             return 1;
927         }
928         if (res < 0)
929             start = middle + 1;
930         else
931             end = middle - 1;
932     }
933
934     return 0;
935 }

不幸的是,在夹杂使用通配符时,现实上不能执行简朴的二分查找。 为了处置通配符问题,EAPHammer 更新的‘hostapd_maclist_found()'函数首先检查是否存在示意是否设置了通配符的标志。 若是将标志设置为 true,则该函数返回线性搜索。 否则,将使用二进制搜索。 我试图让线性搜索尽可能简朴,并确保尽可能行使“os_memcpy()”“os_memcmp()”

851     if ( eaphammer_global_conf.acl_has_wildcards ) {
852
853         // fall back to linear search if list contains wildcards
854         for (i = 0; i < num_entries; i++) {
855
856
857             // we need to use os_memcpy to copy addr into addr_cpy, since
858             // addr is a constant pointer
859             os_memcpy(addr_cpy, addr, ETH_ALEN);
860
861             // apply current entry's bitmask to addr_cpy
862             for (j = 0; j < ETH_ALEN; addr_cpy[j] &= list[i].mask[j++]);
863
864             res = os_memcmp(list[i].addr, addr_cpy, ETH_ALEN);
865             if (res == 0) {
866                 if (vlan_id) {
867                     *vlan_id = list[i].vlan_id;
868                 }
869                 return 1;
870             }
871         }
872     }
873     else {
874
875         // no wildcards? awesome - do the binary search
876         start = 0;
877         end = num_entries - 1;
878
879         while (start <= end) {
880             middle = (start + end) / 2;
881             res = os_memcmp(list[middle].addr, addr, ETH_ALEN);
882             if (res == 0) {
883                 if (vlan_id) {
884                     *vlan_id = list[middle].vlan_id;
885                 }
886                 return 1;
887             }
888             if (res < 0) {
889                 start = middle + 1;
890             }
891             else {
892                 end = middle - 1;
893             }
894         }
895     }
896
897     return 0;
898 }

local/hostapd-eaphammer/src/ap/ap_config.c (source: eaphammer )[9]

在使用 EAPHammer 的基于 MAC MFACL 功效时,需要记着这一点,由于它直接影响工具的运行时效率。 当使用通配符时,EAPHammer MAC 地址 ACL 查找的最坏情形下的运行时效率从 O(log n)下降到O(n),后者要慢得多。 再次强调,这应该不会造成太大的差异,除非你在一小我私家口麋集的环境中,而且过分使用 ACL

也许可以使用差异的容器结构和算法来执行更有用的通配符搜索(我们想到的是有向无环词图) 但正如他们所说,过早的优化是一切罪过的泉源。 直到我更先在Github上收到问题,埋怨探测响应时间过长,而且很显著搜索算法不是问题所在,否则我可能不会自己找麻烦,除非我真的很无聊。

基于 ESSID MFACL EAPHammer 中的应用

基于 ESSID MFACL 现在并不存在于 vanilla hostapd 中,但自2017年以来就存在于 hostapd-mana 中,自201910月以来存在于 EAPHammer 中。 与基于 MAC MFACL 一样,基于 ESSID MFACL 可以以文本文件的形式传递给 EAPHammer,每行只有一个条目:

# example ESSID-based MFACL file
apples
oranges
grapes
pears

EAPHammer 现在不支持其基于 ESSID MFACL 的通配符,只管未来可能会凭据可行性和用户需求而改变。

需要注重的是,EAPHammer 将允许你在文件的每一行的开头和结尾处放置空格字符,并将此空格解释为 ESSID 的一部门。 换句话说,在生产使用 ACL 之前,一定要校对基于 SSID ACL (我是否需要告诉你这一点?) .

一旦你创建了你的 MFACL 文件,你可以使用’--ssid-whitelist’标志或者’--ssid-blacklist’标志把它传递给 EAPHammer:

# use MFACL whitelisting
./eaphammer -i wlan0 --essid hackresponsibly --cloaking full --karma --ssid-whitelist /path/to/mac/whitelist/file.txt
# use MFACL blacklisting
./eaphammer -i wlan0 --essid hackresponsibly --cloaking full --karma --ssid-blacklist /path/to/mac/blacklist/file.txt

基于 SSID MFACL 对运行时效率的影响

当使用基于 SSID MFACL 时,接见点可能会受到性能影响,这种性能影响可能比使用基于 MAC MFACL 时更显著(是由于字符串对照的缘故原由) 与基于 MAC ACL 一样,只要 ACL 不是不合理的长度,这不应该是一个大问题。 然而,这仍然是需要注重的事情。

总结

本系列博文的第三部门到此竣事。 我们将以第四部门竣事本系列博文,在第四部门中,我们将向无线攻击实践职员先容一些基本的情报手艺建议,以及一些用于侦测伪基站攻击的高级防御建议。

参考资料

[1] https://w1.fi/cgit/hostap/tree/src/ap/ap_config.c?h=hostap_2_8
[2] https://w1.fi/cgit/hostap/tree/src/ap/beacon.c?h=hostap_2_8
[3] https://github.com/sensepost/hostapd-mana/commit/6f07621e40e4c0272215c5502352974c7ce8d2f0
[4] https://github.com/sensepost/hostapd-mana/commit/5420e7843cdfbccc083f598f9418291baff3dc6d
[5] http://aircrack-ng.org/doku.php?id=airodump-ng
[6] https://sensepost.com/blog/2016/handling-randomised-mac-addresses-in-mana/
[7] https://github.com/s0lst1c3/eaphammer/blob/master/local/hostapd-eaphammer/hostapd/config_file.c
[8] https://w1.fi/cgit/hostap/tree/hostapd/config_file.c?h=hostap_2_8
[9] https://github.com/s0lst1c3/eaphammer/blob/master/local/hostapd-eaphammer/src/ap/ap_config.c
[10] https://github.com/s0lst1c3/eaphammer/commit/6a421a0edf637fd4f336b7a5dadeb4c17e0a313b

网友评论

2条评论
  • 2020-12-27 00:03:44

    皇冠即时比分www.huangguan.us是一个提供皇冠代理APP下载、皇冠会员APP下载、皇冠体育最新登录线路、新2皇冠网址的的体育平台。新皇冠体育官网是多年来值得广大客户信赖的平台,我们期待您的到来!眼睛看酸了

  • 2021-02-11 00:01:10

    二胎后章子怡似乎也更会保养了,破洞牛仔照样加了打底的单品,紧身裤露出麻杆腿,比生二胎前感受更瘦了。难过以这种偏生活化的休闲装造型出镜,大size Mo&Co. 搭配瘦腿裤,很好平衡了比例和身体曲线问题,这次搭配在线,不仅减龄效果好还稀奇有亲和力,内扣锁骨发更显得气质柔和,轻松遮住产后发际线后移的问题。我也想写,求教

最新评论