如何用极路由+OpenWrt+RTL电视棒搭建一台SDR服务器,并隐秘地捕获和传输数据

本文作者:雪碧0xroot @漏洞盒子安全团队 cn0xroot.github.io
首发地址:http://www.freebuf.com/articles/wireless/121961.html

0x00 前言

近期因为有个从异地捕获无线信号的需求,便尝试着用OpenWrt+公网IP搭建了一台SDR服务器。如果有小伙伴嫌SDR硬件天线看起来太乱、或者电脑没有足够的USB接口也可在局域网搭建SDR服务器通过TCP/IP调用SDR硬件。

IMG_1741.JPG

HiWiFi router

0x01 获取root

刚买的极路由关闭了root功能,需要开启路由的开发者模式后才能通过SSH连入shell交互界面。申请开发者模式流程:进入路由器后台-云平台-路由器信息-高级设置-申请-绑定手机-输入验证码-绑定微信-微信账号绑定极路由账号。

下图是开启开发者模式前后的Nmap扫描结果:

Nmap

开启开发者模式后可通过1022端口进入路由器shell界面:

ssh root@192.168.199.1 -p 1022

ssh

0x02 极路由刷不死uboot

开启开发者模式后可对设备进行刷机,为了防止设备变砖可在设备刷入具有不死uboot之称的Breed Bootloader。在 http://breed.hackpascal.net/ 页面找到对应型号的uboot (极路由1s:HC5661、极路由2s:HC5761、极路由3:HC5861)

下载、刷入uboot

cd /tmp
wget http://breed.hackpascal.net/breed-mt7620-hiwifi-hc5861.bin
mtd -r write  breed-mt7620-hiwifi-hc5861.bin u-boot

显示rebooting后等待路由重启完成。

重启完毕后三灯亮起,这时需断开电源,按住路由器的RST重置键然后再通电,当看到电源灯闪烁时可以松开RST键。电脑通过网线接入后自动获取ip,用浏览器192.168.1.1即可登陆Breed控制台。

安全起见,备份所有内容:

0x03 极路由刷OpenWrt

由于SDR服务器需要一个USB接口来插电视棒,所以需要在购买极路由的时候选一款带USB接口的机器。其它带USB接口的OpenWrt路由器也适用下文的内容.

查看CPU信息:

cat /proc/cpuinfo

下载OpenWrt固件: 选择自己路由器对应的版本

cd /tmp
wget http://rssn.cn/roms/openwrt-15.05-ramips-mt7620-hc5861-squashfs-sysupgrade.bin
sysupgrade -F -n openwrt-15.05-ramips-mt7620-hc5861-squashfs-sysupgrade.bin

0x04OpenWrt安装RTL驱动

OpenWrt刷入重启后,进入管理界面:http://192.168.1.1user:rootpass:root

设置SSH密码

ssh root@192.168.1.1

Openwrt可以使用opkg命令对软件包进行管理

opkg update
opkg list |grep rtl
opkg install rtl-sdr

安装完成后便可将电视棒插入路由器的USB接口:

IMG_1743.JPG

启动OpenW上的rtl-sdr

OpenWrt终端执行:

rtl_tcp -a 192.168.1.1 -n 8 -b 8

之后OpenWrt上将开启1234端口:

0x05使用SDR服务

客户机上执行:

osmocom_fft -W -s 2000000 -f 144000000 -a 'rtl_tcp=192.168.1.1:1234'

osmocom_fft -F -s 1.5e6 -f 101e6 -a 'rtl_tcp=192.168.1.1:1234'

Clipboard Image.png

grqx

0x06利用场景

1.可在机场塔台、港口等地方使用SDR服务器监测ADB-S、AIS(船舶自动识别系统Automatic Identification System)

2.利用SDR+WIFI捕获 语音、图像数据:

Clipboard Image.png

Clipboard Image.png

更多细节可参考DefCon Paper:

Clipboard Image.png

Clipboard Image.png

Clipboard Image.png

How Hackers Could Wirelessly Bug Your Office
Video:YouTuBe

MayBe还能通过SDR服务器利用MouseJack漏洞对办公区域的键盘鼠标输入进行监听:

http://www.freebuf.com/articles/terminal/97011.html

http://www.freebuf.com/articles/wireless/115440.html

0x07 Refer

https://github.com/rssnsj/openwrt-hc5x61

http://www.binss.me/blog/install-openwrt-on-hiwifi-router/

http://www.right.com.cn/forum/thread-161906-1-1.html

http://www.levey.cn/352.htm

http://www.right.com.cn/forum/thread-161906-1-1.html

http://yo2ldk.blogspot.com/2016/03/wireless-sdr-receiver.html

http://adventurist.me/posts/0050

http://sdr.osmocom.org/trac/wiki/rtl-sdr
*本文作者:雪碧0xroot @漏洞盒子安全团队 cn0xroot.github.io,本文提供的工具、方法仅供安全研究用途,禁止非法使用

Wireless Hacking With SDR And GnuRadio

0x01 信号捕获

市面上常见的无线遥控工作的频段,通常工作在315Mhz、433Mhz,也有少数的会采用868Mhz.915Mhz这几个频点。 我们可以用电视棒、HackRF、BladeRF等SDR硬件来确定遥控的工作频率: 打开软件按下遥控器后,能在瀑布图上看到明显的反应:

osmocom_fft -F -f 443e6 -s 4e6

gqrx

无线遥控中心频率:433870000

0x02 录制信号

SDR软件通常支持录制信号,可将遥控的信号保存为wav音频文件或者以.cfile、.raw格式保存。

这里用gnuradio-companion流图来实现信号录制以及信号重放。

左侧osmocom Source模块调用SDR硬件,我们设置其中心频率为433.874MHz,采样率为2M:

右侧上边 QT GUI Sink模块将捕获到的信号在瀑布图上展示出来,右侧下边的File Sink将录制到的信号保存为/tmp/key.raw文件:

执行流图,按下遥控前:

按下遥控:

转到/tmp 缓存目录:

0x03 信号重放

接下来再用gnuradio-companion写个信号重放的流图:

左侧File Source调用捕获到的key.raw信号文件,osmocom Sink调用HackRF、BladeRF将信号发射出去,与此同时QT GUI Time Sink、QT GUI Frequency Sink模块分别在屏幕上显示时间轴(时间域)、频率幅度(频率域),执行流图:

bingo!

0×04 演示视频 demo

https://v.qq.com/x/page/m0332e0zdo7.html

0x05 信号分析

inspectrum key.raw

信号分析&转码细节参考: 如何使用SDR+inspectrum逆向分析无线遥控信号 一文。

s = ''
a = [0.333033, 0.326189, 0.0332124, 0.388094, 0.326704, 0.0154539, 0.322883, 0.0270275, 0.0150091, 0.443235, 0.362946, 0.027745, 0.430879, 0.443824, 0.0277048, 0.330736, 0.0290668, 0.0133217, 0.376686, 0.0123277, 0.00931546, 0.446231, 0.397617, 0.0162406, 0.447861, 0.0050071, 0.0109479, 0.389289, 0.0271959, 0.0138626, 0.32109, 0.0268736, 0.0129828, 0.401142, 0.326009, 0.0303488, 0.379368, 0.0229494, 0.0134011, 0.318115, 0.346288, 0.017666, 0.333818, 0.326769, 0.0141554, 0.341832, 0.0291055, 0.0153984, 0.446665, 0.399975, 0.024566, 0.316297, 0.0159851, 0.010876, 0.428384, 0.444201, 0.0214323, 0.376211, 0.00628675, 0.0105036, 0.44565, 0.0195615, 0.012549, 0.445242, 0.366523, 0.0225733, 0.324775, 0.0192127, 0.0134437, 0.318991, 0.381386, 0.0149852, 0.00882163, 0.447015]
for i in a:
    if i > 0.1:
        s +='1'
    else:
        s +='0'
print s
python test.py 
 11011010011011010010011010010010011010011011010011010011010010011010011001
pip install bitstring`
python
import bitstring

bitstring.BitArray(bin='11011010011011010010011010010010011010011011010011010011010010011010011001').tobytes()

Image

Automated RF/SDR Signal Analysis [Reverse Engineering]

Payload: \x36\x9b\x49\xa4\x9a\x6d\x34\xd2\x69\x9

thanks for tresacton‘s help (GitHub)

0x06 Hacking The world with watch

德州仪器生产的EZ430 Chronos手表由于采用了MSP430芯片,该芯片支持发射1GHz以下频率的无线信号,覆盖市面上各种常见的无线遥控频率(315MHz、433MHz、868MHz、915MHz):

 6.1 开发环境搭建

到 TI德州仪器官网下载:(需注册账号) CCS studio (Code Composer Studio ):http://processors.wiki.ti.com/index.php/Download_CCS

FET-Pro430-Lite程序:http://www.elprotronic.com/download.html

SmartRF Studio : http://www.ti.com.cn/tool/cn/smartrftm-studio

以及GitHub上面的 miChronos项目代码:http://github.com/jackokring/miChronos

百度网盘:https://pan.baidu.com/s/1hsse2Ni

windows 7如果不是Service Pack 1 则需下载安装Windows 7 和 Windows Server 2008 R2 Service Pack 1 (KB976932)补丁,否则无法安装 Code Composer Studio 下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=5842

0x07 refer

Michael Ossmann: Software Defined Radio with HackRF, Lesson 11: Replay YouTuBe https://www.youtube.com/watch?v=CyYteFiIozM

TI eZ430-Chronos Hacking quickstart http://timgray.blogspot.jp/2012/12/ti-ez430-chronos-hacking-quickstart.html

The hackable watch: a wearable MSP430 MCU http://www.itopen.it/the-hackable-watch-a-wearable-msp430-mcu/

You can ring my bell! Adventures in sub-GHz RF land… http://adamsblog.aperturelabs.com/2013/03/you-can-ring-my-bell-adventures-in-sub.html?m=1

TI EZ430 Chronos watch, quick guide / tutorial to hacking the firmware https://www.youtube.com/watch?v=20dVNyJ8fYw&feature=youtu.be

Author:雪碧0xroot Blog

永不消逝的电波(二)| HackRF入门:家用无线门铃信号重放

作者:雪碧 0xroot

0x00 前言

在第一篇文章:永不消逝的电波(一):无线电入门篇 我们了解了一下无线电的发展史以及无线电的一些物理知识,在第二篇里我们将用HackRF录制家用门铃的无线信号,然后重放门铃信号。

门铃从某宝买的,如图:

看到红色部分的时候,雪碧同学的表情是这样的:

好像买完什么,用不了多久就降价了,233…. 我可以退货再买吗?

0x01 环境搭建:

MAC下可以用gqrx和hackrf (需要有Xcode、Mac Port的支持)

sudo port install gnuradio
sudo port install hackrf
sudo port install rtl-sdr
sudo port install gr-osmosdr
sudo port install hackrf

 

sudo port install gqrx

 

也可以参考:在Mac上安装HackRF环境

0x02 步入正题:

安装完成以后,插入HackRF,终端执行 hackrf_info:

hackrf_info 
Found HackRF board.
Board ID Number: 2 (HackRF One)
Firmware Version: git-815d1f6
Part ID Number: 0xa000cb3c 0x00664f49
Serial Number: 0x00000000 0x00000000 0x583064c0 0x2640ad4b
#通过终端启动gqrx
gqrx

按下遥控器,我们可以看到信号的频率在314.100000Mhz(读作:314.1兆赫兹)左右

1Mhz=1000000hz;
1Khz=1000hz

314.1Mhz=314100000hz;

关掉gqrx启动hackrf

hackrf_transfer Usage:

Usage:
    -r  # Receive data into file. 把接收到的信号、数据保存到文件中;(信号录制)
    -t  # Transmit data from file. 从文件中提取、发送射频信号;(信号播放)
    -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 (8/10/12.5/16/20MHz, default 10MHz).
    [-n num_samples] # Number of samples to transfer (default is unlimited).
    [-c amplitude] # CW signal source mode, amplitude 0-127 (DC value to DAC).
    [-b baseband_filter_bw_hz] # Set baseband filter bandwidth in MHz.
    Possible values: 1.75/2.5/3.5/5/5.5/6/7/8/9/10/12/14/15/20/24/28MHz, default < sample_rate_hz.
hackrf_transfer -r /dev/stdout -f 314100000 -a 1 -g 16 -l 32 -s 8000000

没按遥控器

按下遥控器:

由于hackrf_transfer后面没带解码参数,so我们看到一堆乱码数据;

0x03 录制信号&信号分析

录制遥控的无线信号:

hackrf_transfer -r door.raw -f 314100000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000

终端输出:

hackrf_transfer -r door.raw -f 314100000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000
call hackrf_sample_rate_set(8000000 Hz/8.000 MHz)
call hackrf_baseband_filter_bandwidth_set(3500000 Hz/3.500 MHz)
call hackrf_set_freq(314100000 Hz/314.100 MHz)
call hackrf_set_amp_enable(1)
Stop with Ctrl-C
16.0 MiB / 1.005 sec = 15.9 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.0 MiB / 1.004 sec = 15.9 MiB/second
16.3 MiB / 1.004 sec = 16.2 MiB/second
16.0 MiB / 1.002 sec = 16.0 MiB/second
16.0 MiB / 1.001 sec = 16.0 MiB/second
16.0 MiB / 1.004 sec = 15.9 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.3 MiB / 1.003 sec = 16.2 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.0 MiB / 1.005 sec = 15.9 MiB/second
^CCaught signal 2
 8.1 MiB / 0.510 sec = 15.9 MiB/second

User cancel, exiting...
Total time: 11.54724 s
hackrf_stop_rx() done
hackrf_close() done
hackrf_exit() done
fclose(fd) done
exit

—————————————萌萌的分割线—————————————题外话—————————————

信号波形分析:

这里用到的软件是Audacity,导入录制的音频信号(未压缩原始数据)

然后出现如下界面:

使用默认参数,直接导入:

中间的那部分就是按下遥控时录制到的无线信号,我们使用Audacity的放大镜放大来看:

继续放大我们可以看到:

继续放大:

再放大:

这时经验比较丰富的童鞋可以通过图形,把无线射频信号转换成二进制数据:01010101**** ,接着可以把二进制写到GRC(Gnu Radio Cpmpainon),制作一个框图,使用GNC项目重放无线信号,大致方法如下:

启动Gnu Radio Cpmpainon :Kali Linux—->无线攻击—>Software defined Radio—>GnuRadio-Companion

源:在右侧Misc一栏找到Vector Source

通过搜索添加Repeat(old)、Moving Average、osmocom Sink

四个组件:

按照流程连线:

GNC用得不多,暂时还不上手,这种方法以后再试 :)

—————————————萌萌的分割线—————————————题外话结束—————————————

0x04 信号重放

使用hackrf_transfer重放信号:

hackrf_transfer -t door.raw -f 314100000 -x 47 -a 1 -s 8000000 -b 4000000

 

终端输出:

hackrf_transfer -t door.raw -f 314100000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000
call hackrf_sample_rate_set(8000000 Hz/8.000 MHz)
call hackrf_baseband_filter_bandwidth_set(3500000 Hz/3.500 MHz)
call hackrf_set_freq(314100000 Hz/314.100 MHz)
call hackrf_set_amp_enable(1)
Stop with Ctrl-C
16.0 MiB / 1.004 sec = 15.9 MiB/second
16.0 MiB / 1.004 sec = 15.9 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.0 MiB / 1.001 sec = 16.0 MiB/second
16.0 MiB / 1.000 sec = 16.0 MiB/second
16.3 MiB / 1.001 sec = 16.2 MiB/second
16.0 MiB / 1.003 sec = 16.0 MiB/second
16.0 MiB / 1.001 sec = 16.0 MiB/second
16.0 MiB / 1.005 sec = 15.9 MiB/second
16.0 MiB / 1.003 sec = 15.9 MiB/second
16.3 MiB / 1.003 sec = 16.2 MiB/second
 8.4 MiB / 1.004 sec =  8.4 MiB/second

Exiting... hackrf_is_streaming() result: HACKRF_ERROR_STREAMING_EXIT_CALLED (-1004)
Total time: 12.03184 s
hackrf_stop_tx() done
hackrf_close() done
hackrf_exit() done
fclose(fd) done
exit

 

0x05 演示视频

http://v.qq.com/iframe/player.html?vid=d0173868gnw&tiny=0&auto=0
binggo

熊孩子的正确使用姿势是这样的:

for i in {1..999}; do hackrf_transfer -t door.raw -f 314100000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000; done

 

嗯,你没看错,重复播放九百九十九次 :)

0x06 参考:

Hacking fixed key remotes

Exploring Bluetooth & iBeacons – from software to radio signals and back.

中文版:HackRF嗅探蓝牙重放iBeacons信号

GNU_Radio入门_V0.99

*本文原创作者:雪碧(0xroot),转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

文章首发于FreeBuf

原文:http://www.freebuf.com/news/special/83650.html

永不消逝的电波(一):无线电入门篇

很久没写东西了 贴一下之前首发在FB的一篇无线电的文章

文/漏洞盒子安全团队-雪碧

0x00 无线电发展简史

· 1837年,摩斯发明了电报,创造了摩斯密码(Morse code),开始了通信的新纪元。
· 1865年,英国的麦克斯韦总结了前人的科学成果,提出电磁波学说。 
· 1876年,贝尔发明了电话,能够直接将语言信号变为电能沿导线传送。 
· 1887年,德国科学家赫兹(Hertz)用一个振荡偶子产生了电磁波,在历史上第一次直接验证了电磁波的存在。 
· 1897年,意大利科学家马可尼(Marconi)在赫兹实验的基础上,实现了远距离无线电信号的传送,这个距离在当时不过一百码,但一年后他就实现了船只与海岸的通信。 
· 1901年12月12日,马可尼做了跨越大西洋传送无线电信号的表演。这一次他把信号从英国的Cornwall发送到加拿大的Newfoundland。 马可尼因此获得1909年度诺贝尔奖。与他分享这一年度诺贝尔奖的是布劳恩(Braun),因为布氏发现金属硫化物具有单向导电性,这一成果可用于无线电接收装置。 
· 1904年,英国科学家弗莱明(Fleming)获得了一项专利,在专利说明书中描述了一个高频交变电流整流用的两极真空管,标志着进入无线电电子学时代。  
· 1906年,美国科学家弗雷斯特(Forest)发明了真空三极管,是电子技术发展史上第一个重要里程碑。同年,美国科学家费森登(Fessenden)在Massachusetts领导了第一次广播。 
· 1912年,英国科学家埃克尔斯(Eccles)提出了无线电波通过电离层传播的理论,这一理论使得一群业余爱好者在1921年实现了短波试验性广播; 同年,美国的费森登(Fessenden)和阿姆斯特朗(Armstrong)改进了接收机的工作方式,发明了外差式接受系统,这种形式仍是目前许多无线电接收机的主要工作方式。

在新中国成立后相当长的一个时期内,由于考虑国家安全等问题,国家对无线电台实行“少设严管”的政策,无线电台成为军队、邮电、广播、公安和交通等国家要害部门进行信息通信的重要工具。改革开放以后,各种无线电新技术、新业务在国民经济和社会生活的各个领域得到了越来越广泛的应用,我国逐步成为全球无线电应用大国。

近年来,国际电联划分的43 多种无线电业务,已在我国通信、广电、铁路、交通、航空、航天、气象、渔业、科研等行业和领域得到广泛应用,有力地推动了经济和社会发展的进程。

0x01 电磁波与无线电

1. 混为一谈OR完全割裂

有人会把电磁波、光、无线电波混为一谈,也有人会把它们完全割裂开来,这些都是不正确的。

在快速变化的电流周围会产生电磁波,为了描述电磁波的特征,科学家们引入了频率、波长、波速三个物理参数:

物理量       概念                          单位
频率(f)    电磁波1s振荡的次数             赫兹(Hz)
波长(λ)    电磁波每振荡一次向前传播的距离  米(m)
波速(c)    电磁波每1s向前传播的距离       米/秒(m/s)

公式    C=λf(波速=波长×频率)

2. 电磁波波段划分:

L波段、S波段、C波段、X波段、Ku波段、K波段、Ka波段。

这种划分方式是雷达业内的通俗叫法,没有一个严格、统一的标准。通常的划分是:

L波段 1~2GHz;
S波段 2~4GHz;
C波段 4~8GHz;
X波段 8~12GHz;
Ku波段 12~18GHz;
K波段 18~27GHz;
Ka波段 27~40GHz;
U波段 40~60GHz;
V波段 60~80GHz;
W波段 80~100GHz.

3. 电磁波的速度&分类:

电磁波产生之后,传播时不需要任何介质,在真空中也能传播,其在真空中传播速度为固定值,是宇宙中物质运动的最快速度,与光速相同,数值为3×10^8 (3乘10的八次方) m/s;

电磁波根据波长的大小,分为短波、中波、长波、微波、红外线、可见光、紫外线、Χ射线、γ射线等。

4. 无线电波传播途径:

无线电波广泛地应用于无线电通讯、广播、电视等方面,无线电波的发射和接受通过天线实现,其传播分为三种途径:天波、地波、微波。

地波:沿地球表面空间传播的无线电波叫做地波。由于地球是一个大导体,地球表面会因地波的传播引起感应电流,因此地波在传播过程中要损失能量,频率越高损失的能量也越多,所以地波主要适用于长波、中波和中短波。
天波:依靠电离层的反射来传播的无线电波叫做天波。电离层对于不同波长的电磁波的反射和吸收表现不同的特性,波长越长,吸收越强反射越弱,因此短波最适宜以天波的形式传播。
微波:微波是由于频率高、波长短,它既不能以地波的形式传播,又不能依靠天波的形式传播,和光一样,沿直线传播。

5. 无线电与电磁波

频率在数百千赫兹到数百兆赫兹之间的电磁波叫做无线电波,它包括短波、中波、长波、微波,无线电波也仅仅是电磁波的一部分,但电磁波不仅仅只有无线电波,仅仅只有频率相对较低的一部分电磁波才叫无线电波。

0x02 无线电信号调制

1. 什么叫调制,为什么要调制?

声音的频率是20HZ-20KHZ,转变成电磁波后也是这个频率,属于低频。电磁波的频率越高越容易传送得更远。所以音频需搭载在高频信号上才能传输得更远,音频搭载上高频信号的过程就叫调制。

调频波波形

无线电信号是原始信号和已调振荡信号的总称。声音、图像、文字、电码等欲传送的信息,通过转换设备后,转变成为相应变化的电压或电流,这种变化的电压或电流称为原始信号。在发射机中原始信号是用来调制高频振荡的,或者说是用来控制高频振荡的某一参数的,因此又称为调制信号或控制信号。经过调制的高频振荡,或者说参数按调制信号规律变化的高频振荡,称为已调振荡(已调波)。

调制的目的是为了把音频传送到更远的地方。目前常用的方法有调幅(AM)和调频(FM)两种方法。

AM(Amplitude Modulation 调幅):调制幅度,高频信号的幅度随着音频信号幅度的改变而改变,当音频信号的幅度高时高频信号的幅度也跟着高,反之跟着变低,形成音频信号的幅度包络,但高频信号的频率保持不变;调幅的特点是频宽宽,距离短。频宽宽的意思是对阻碍物的穿透能力强,但是传输距离较短
FM(Frequency Modulation 调频):调制频率,高频信号的频率随着音频信号幅度的改变而改变,当音频信号的幅度高时高频信号的频率也跟着高,反之跟着变低,但高频信号的幅度保持不变。调频的特点是频宽窄,距离长。频宽窄的意思是对阻碍物的穿透能力弱,但是传输距离长。

注:

频率:波在一定时间内震动次数
幅度:波在震动时候上下的幅度大小
调制器:    用于实现调制信号对高频载波信号的调制,产生已调波输出。
高频放大器:    对产生的已调波进行功率及幅度的放大后送至天线发射出去。
电源:    为电路各个部分提供电源。

数字信号波形

0x03 日常生活中的无线电

1. 收音机(无线广播)

在一般的收音机或收录音机上都有AM及FM波段,这两个波段是用于收听国内广播的,若收音机上还有SW波段时,那么除了国内短波电台之外,还可以收听到世界各国的广播电台节目。

一般中波广播(MW: Medium Wave)采用了调幅(AM)的方式,在不知不觉中,MW及AM之间就划上了等号。实际上MW只是诸多利用AM调制方式的一种广播,像在高频(3-30MHz)中的国际短波广播所使用的调制方式也是AM,甚至比调频广播更高频率的航空导航通讯(116-136MHz)也是采用AM的方式,只是我们日常所说的AM波段指的就是中波广播(MW)。

2. 遥控器

 

3. 路由器

频率:2.4GHz、5GHz

双频路由:2.4G&5GHz


4. 卫星天线

目前,卫星电视广播采用了三种方式:

一、通过普通的通信卫星将模拟或数字电视信号转发到本地电视台、有线电视网或集体接收站进入千家万户;
二、采用模拟技术,使用大功率电视直播卫星直接向家庭广播电视信号,由于这种电视信号未经数字压缩处理,每个转发器只能直播一路电视节目信号,每颗卫星一般只能直播几路电视节目;
三、采用Ku频段数字视频压缩卫星电视直播。每个卫星转发器可向装有约为0.5~0.8m左右的小口径卫星接收天线的家庭直播5~8路电视节目,一颗卫星可以直播100多路电视信号。这种业务亦称卫星数字电视直播(DVB-S);
随着航天技术、数字电视技术、微电子技术、码率压缩技术的突破性进展,使卫星电视由原来的C频段转播进入了数字Ku频段的直播卫星阶段。卫星数字电视直播的发展已成为全球热点。

C波段天线&Ku波段天线

c波段卫星 机顶盒的大锅 直径1.2米

户户通(村村通)直播星小锅 直径0.3米

卫星天线的一些小知识:

· 在卫星通信中,要先从地面站向卫星上发送通信信号,叫上行,经过卫星上的星载设备进行放大,再发送回地面的另一个接收站接收,叫下行。
· 为防止上行和下行频率重叠干扰,系统中上行和下行各采用一个频率进行发送,从地面向卫星发送上行信号的频率叫上行频率,从卫星向地面发送下行信号的频率叫下行频率。

· 卫星天线调试参数:本振频率、下行频率、符号率、极化方式,不过目前大多数机顶盒自带自动搜索功能,所以这些参数无需牢记。

亚洲七号卫星部分节目参数

近期FreeBuf报道也曾报道过,APT 组织 Turla 使用基于卫星的通信实现 C&C

上面提及的间谍组织使用使用了DVB-S调制器(下图):

这里我们稍微了解一下:DVB-S(ETS300421) 数字卫星广播系统标准。

特点:卫星传输具有覆盖面广、节目容量大等特点。数据流的调制采用四相相移键控调制(QPSK)方式,工作频率为11/12GHz。

FreeBuf也曾报道过,今年的BlackHat大会上也有个卫星相关的议题《利用卫星接收器扩展僵尸网络》。

5. 机场塔台与飞机

一般来说,降落的灰机高度在6K的时候会通过无线电与机场塔台联系,首次联系时会向机场塔台报告本次航班的编号、已经收到的机场通播编号等(起飞的时候灰机和塔台之间也会有通信联系)。

然后机场塔台会回复该航班,是否已经从雷达上看到该航班、该航班应继续进行的操作(例如保持目前航向等),然后该航班会重复一次机场塔台刚刚发布的指挥信息。这就完成了一次联系。

机场塔台&飞机

参考知乎:机场塔台的无线电环境有什么要求?在其周围私设电台会对塔台和飞机通讯造成哪些影响?

我国民航使用的无线电频率:1090MHz

民用对讲机使用的无线电频率:408-409MHz

警用频率:350-390MHz

0x04 使用软件无线电接收飞机信号

1. 接收飞机信号的常用设备

电视棒

优势:廉价(四五十元) 接地气

不足:只能接收、不能发射信号

HackRf

优势:开源、可以接收、发射信号

不足:USB2.0传输速率低于接收速率

其它设备:bladeRF

优势:USB3.0;支持300MHz到3.8GHz

缺陷:最高只能支持 3.8GHz,不可能用bladeRF来实现5GHz频段的802.11n

电视棒的核心芯片:

淘宝搜索”电视棒”一词是被屏蔽的,想买的同学可以搜电视棒的芯片名:“RTL2832U”。

USB DVB-T & RTL-SDR Realtek RTL2832U & R820T,这是螃蟹( Realtek)的一个芯片型号,原本是做电视棒芯片的。

后来被人发现这个芯片具有非常广的频率接收范围,然后就被用来做sdr应用了,rtl的sdr应用。

其实,某宝两三百的无线电接收器也是根据电视棒芯片改装的。

(都是用的RTL2832U。左边价格三百,右边四十多,知道真相的我曾经哭晕在厕所)

2. 电视棒使用的一些软件

硬件有了,那么软件呢?

Linux:(Ubuntu)环境搭建

硬件驱动:rtl-sdr

接收信号&解码:dump 1090

sudo apt-get install git
sudo apt-get install cmake
git clone https://github.com/pinkavaj/rtl-sdr.git
cd rtl-sdr/ 
mkdir build 
cd build
cmake ../
make 
sudo make install 
sudo ldconfig

编译安装dump 1090:

git clone https://github.com/antirez/dump1090.git 
cd dump1090/ 
make

软件启动:

cd /home/$user/dump1090 #转到dump 1090的主目录
sudo ./ dump1090 --interactive --net

软件截图:

软件界面参数:

HEX:16进制数据
Flight:航班号
Altitude:灰行高度(海拔)
Speed:灰行速度
Lat/Lon:地理坐标(经纬度数)

dump启动时会开启自带的WEB服务器,并且WEB调用了谷歌地图的API 接收到飞机的一些信息后 会在页面地图上描绘出飞机的轨迹(谷歌地图目前需要翻墙):

Windows:

驱动-zadig:类似于驱动精灵。可以在win上安装电视棒、HackRf的驱动;

sdrsharp:可以用来听广播&录制无线电信号 并把信号保存为音频文件;

HDSDR:把音频转化为信号,可配合HackRF使用进行信号输出;

rtl1090:可以接收灰机信号;

Audacity:音频分析(信号分析);

另外,之前在网上查阅资料的时候看到一张图片,思路很Nice:(原文使用HACKRF巡视钓鱼岛(HACKRF ADS-B out) )

 

理论上来说,这种思路是可以实现的,但是法律上不可能允许民众私自占用无线频段,(一定要遵守无线电管理法规!一定要遵守无线电管理法规!一定要遵守无线电管理法规!重要的事情要说三遍),PS:通过无线电信号的“伪造”灰机,那么雷达那边如何才能瞒天过海?

第一篇先到这里,接下来的文章中我们将通过windows上一些软件(sdrsharp、HDSDR、Audacity)进行信号分析并使用HackRF进行简单的遥控信号重放。(其实,写完这句话的时候我的内心是崩溃的,牛皮吹大了,万一不能实现怎么破?!趴在厕所马桶上哭完,坚强地回到工位 o(╯□╰)o囧 然后终于顿悟:生命在于折腾,自己吹的牛逼流着泪也要实现!)

*参考资料:人民教育出版社 、无线电通信发展简史、新时期的无线电技术应用维基百科、google、百度、知乎,雪碧整理发布,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

首发于:http://www.freebuf.com/articles/wireless/77819.html