欢迎访问Sunbet官网(www.sunbet.us),Allbet欧博官网(www.ALLbetgame.us)!

首页Sunbet_安全防护正文

当代无线通信手艺(三) ——治理帧接见掌握列表(MFACL)

b9e08c31ae1faa592019-11-2682无线安全

在本系列文章的第二部份中,我们形貌了无线客户端安全性的革新怎样减弱了我们对当代装备运用 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 时。

这带来了两个题目: 不仅是针对恣意四周的装备本质上是不法的,它也不利于你的事变才能。 从进击员的角度来看,伪基站进击是有用的,我们须要可以精确地实行它们。 这意味着要限定它们的影响力和可见度,使它们仅限于我们预期的目的。

 

当代无线通信手艺(三) ——治理帧接见掌握列表(MFACL)  无线安全 第1张

MFACL 算法

治理帧接见掌握列表(MFACL)是处置惩罚这一题目的计划。 MFACL 是接见掌握列表(ACL) ,在处置惩罚传入的探测要求帧之前由接见点举行搜检。 它们既可所以基于 SSID 的,也可所以基于 MAC 的,可以在白名单情势或黑名单情势下运用。

下表列出了差异范例的 MFACL,以及它们运用时的结果:

 当代无线通信手艺(三) ——治理帧接见掌握列表(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:

双加载的ZIP文件传播Nanocore RAT

大多数通过邮件分发到恶意软件都是打包为ZIP、RAR、7z等进行传播的。近日,研究人员发现一个新型的伪造恶意打包文件的方式。本文对隐藏在NanoCore恶意软件中的奇怪的ZIP文件格式进行解释。 垃圾邮件 研究人员发现一个信件主题的垃圾邮件攻击活动。该消息声称来自USCO快递公司的出口业务专员,是受客户要求发送到邮件。除此之外,还有很多可疑的地方: · Header不匹配。Reply-To和From的邮件地址是不同的。而且,Reply-To中的邮件地址是免费的Gmail邮箱。 · 消息主体可疑。消息中两次提到了附件,以确保引起用户对附件的注意。 · 可疑的附件名。附件“SHIPPING_MX00034900_PL_INV_pdf.zip” 的

# 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 不是不合理的长度,这不应当是一个大题目。 但是,这仍然是须要注重的事变。

总结

本系列博文的第三部份到此完毕。 我们将以第四部份完毕本系列博文,在第四部份中,我们将向无线进击实践职员引见一些基础的情报手艺发起,以及一些用于侦测伪基站进击的高等防备发起。

本文翻译自:https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38

网友评论