金磊 博雯 发自 凹非寺 量子位 报道 | 公众号 QbitAI
几个高中生聚在一起能干出什么事来?
把整个学校都给搞瘫痪!
瞧瞧,教室的投影、屏幕,全都被控制得死死的:
这操作,直接把老师整不会了(视频由黑客录制):
好吧,我们遇到了一些……我不知道 我们的项目被“顶”掉了……
这场面,是有够无奈的了,于是,老师和学生们就只得静等倒计时的结束。
而且高中生团队所攻击的规模,可不是一间教室那么简单——是11000名在校生、6个校区组成的那种!
事发之后,“领头人”还非常高调和骄傲,扬言道:
只要学校有屏幕的地方,我都能黑进去!
他甚至还在网上公布了教程……
此事一出,立即吸引了网友们的一大波眼球:
甚至有网友直呼“看了2遍不过瘾,期待接下来的进展”。
“劫持”学校所有显示器
OK,现在你肯定好奇的是,倒计时结束后到底发生了什么。
不卖关子,直接揭晓“答案”:
万万没想到,让全校师生屏住呼吸,期待(或紧张)的一幕,竟然就这:
歌曲《Never Gonna Give You Up》的MV!
没错,所有人都被这位黑客Rickroll了。
(可以感受一下这支魔性视频)
此处需要“插播”一下,Rickroll在国外大致就是一个被整蛊了的梗。
举个例子,你看到一个文件标题叫做《日本老师800G合集》,通宵达旦下载了一晚上,结果里面全是葫芦娃。
恭喜你,这时你就被Rickroll了。
……
面对此情此景,被整蛊的师生们也是非常无语了:
好吧~大家周末愉快!
以为这就完了?
不不不,这位高中黑客匆忙拿着手机跑出教师,录下了学校其它地方的情况。
来到另外一间教室,得知被整蛊的师生沉浸在笑声中。
走廊里,放学的学生们也在笑着窃窃私语:
我们被玩了。
不仅是教室,就连学校机房的屏幕也被稳稳地拿捏。
……
就这样,在这位高中生一波“神操作”之下,整个学校都被Rickroll了。
所到之处,完美同步,皆是《Never Gonna Give You Up》的魔性音乐。
“蓄谋已久”的实施计划
这次恶搞可以说是相当的成功,那么问题来了:
他们为什么要侵入整个学校?又是如何一步步实现如此大规模的攻击的呢?
这不,在事情结束之后,“领头人”自己发了篇博客,对这些问题一一做了解答。
故事还要从这位小黑客高一的时候开始讲起。
当时的他,对于“黑客攻击”方面的技术道德、责任等东西,可以说是一无所知。
于是,只要逮到个机会,他就会“肆意破坏、攻击”。
久而久之,小黑客就心生一个想法:
我们学校的技术水平咋样呢?
说干就干。
他招呼了两三好友,开始对学校局域网范围内的所有IP进行扫描。
不扫不知道,一扫吓一跳,连他们自己都没想到能一下子扫出来这么多IP。
多到甚至惊动了学校技术主管,一度要求他们马上停止。
虽然小团队按要求停了下来,但截至当时,就已经扫出来了8388606个IP!
而从拿到的这些结果,他们发现学校的各种设备都暴露在了局域网络内。
例如打印机、IP电话……甚至还包括没有任何密码认证的安全摄像头。
瞧,下面这张图,就是14岁的小黑客,用iPad远程访问摄像头的截图。
这波操作又惊动校方的技术团队,他们马上对摄像头加上了ACL限制,把它们保护了起来。
然而,真正的博弈才刚刚开始。
小黑客想到了另外一个“突破口”——IPTV系统。
简单来说,IPTV就是交互式网络电视,主要包含三个部分:
- 接收器(AvediaPlayer)
- 编码器(AvediaStream)
- 管理(AvediaServer)
首先是AvediaPlayer接收器,它是连接投影仪和电视的蓝色小盒子。
它们可以向各自的设备发送串行命令,来打开/关闭显示器,改变输入/音量,切换通道等等。
这些接收器包括一个web接口和一个SSH服务器来执行串行命令。
其次是AvediaStream编码器可以连接到直播视频的设备上。
它们将来自这些设备的实时消息,编码到AvediaPlayer接收器,从而显示流。
而AvediaServers则允许管理员同时控制所有接收器和编码器。
它们有典型的x8664处理器,并运行企业级Linux发行版CentOS。
与接收器和编码器一样,AvediaServers也有web接口和SSH服务器。
而这一整套系统,小黑客在高一的时候就已经玩儿的非常溜了,用他自己的话就是:
只是随便玩了几次,就可以完全驾驭了。
而这,也为他们刚刚完成的大规模整蛊买下了伏笔。
是时候展示真正的技术了
通过IPTV整蛊的想法,一直在小黑客的脑中盘旋。
直到高三下学期,因为疫情久久上网课的学生们,终于迎来了大规模返校的机会。
此时的他突然想到——“是时候搞点大动静了”。
于是火速把小伙伴们召集在了一起,开始制定整蛊计划,还起了个响亮的代号——“the Big Rick”。
首先要解决的一个问题就是:
如何同时控制所有的投影仪。
虽然可以使用web接口向每个接收器发送命令,但他们发现,同时向每个接收器发送HTTP流并不是个理想的做法。
因此,他们使用每个接收器上的SSH访问,作为命令和控制(C2)通道。
团队开发了一个简单的shell脚本,可以作为分阶段的有效负载,提前上传到每个接收器。
这个脚本包含各种函数,可以在接收器本地执行对web接口的请求。
而由于增加了有效负载的灵活性,他们还可以在整蛊结束后,备份和恢复接收器的设置到文件系统。
代码语言:javascript复制#!/bin/sh
# get IP address of receiver's main interface for use in HTTP requests to self
# web server is not bound to localhost, so this IP has to be used
ip_address=$(/sbin/ifconfig | grep -E "([0-9]{1,3}.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{print $2}' | cut -f2 -d:)
# POST helper function
sendRequest() {
content=$1
length=${#content}
header="POST /cgi-bin/json_xfer HTTP/1.1rnHost: $ip_addressrnContent-Type: application/jsonrnContent-Length: $lengthrnAuthorization: Basic bnVueWE6YnVzaW5lc3M=rnrn"
echo -e "${header}" "${content}" | nc "$ip_address" 80
}
# JSON POST data to send "power on" serial command
jsonSerialPowerOn='{"params":{"TVCtrlType":"serial","serialPort":"Serial","standbyActions":"tv_off","unstandbyActions":"tv_on","ToggleDelay":"0","serialActions":"tv_on"},"action":"apply_send"}'
# ... more JSON data payloads
# sample macro function to loop request for three minutes
exampleMacro() {
secs=180
endTime=$(( $(date %s) secs ))
while [ $(date %s) -lt $endTime ]; do
sendRequest "$jsonSerialPowerOn"
sleep 10
done
}
# delete script from filesystem
selfDestruct() {
rm -- "$0"
}
# ./b1gr1ck.sh 1
if [ "$1" -eq "1" ]; then
exampleMacro
# ./b1gr1ck.sh 2
elif [ "$1" -eq "2" ]; then
selfDestruct
为了防止有人在整蛊过程中关闭投影仪或静音,团队还专门搞了循环命令,每隔10秒钟就会打开电源并把音量调到最大。
他们处理的第二大难题,就是建立一个定制的视频流,来实时播放Rickroll。
但由于ACL的限制,只有AvediaStream编码器或AvediaServers管理可以做到这一点。
这个部分可以说是最痛苦的,因为他们白天在学校没法执行。
于是,挪到了晚上进行测试!
具体来说,就是他们通过远程连接到计算机实验室的一台电脑,让前置摄像头对着投影仪。
然后他们就会录制一段视频,来测试投影机是否正确地显示了流。
……
而就在这次整蛊计划实施的前三天,意想不到的事情发生了。
团队在扫描IP的时候,突然发现了几个新的物联网设备。
后来才知道,原来是学校最近安装了新的铃声系统 (bell system),叫做教育寻呼和对讲机通信(EPIC)。
这些设备大多都被安装在了教室或走廊,当扬声器用。
“咦?要不把铃声全部改成《Never Gonna Give You Up》?”
突然的灵感,成功地勾起了团队的兴趣,于是,说干就干。
他们火速破解系统,控制了学校所有的铃声系统……
终于,团队终于要迎来“高光时刻”了。
但他们还有一些顾虑,例如造成课堂过于混乱,再例如期末考试也将来临等。
所以团队还针对整蛊,定制了缜密的时间表:
……
不得不说,是有够“有组织、有计划”了……
社区上门求合作
这场绝妙的恶作剧最终大获成功。
不少目击者已经po出了现场报道:
还有老师选择直接加入:
而YouTube上由本人发布的“嫌疑人返场”视频(也就是我们文章开头的动图来源),已经有超过6万次播放:
那么对于这一热度如此之高的“入侵”行为,学校和当地政府又是什么反应呢?
——上门求合作。
其实,这场看似心血来潮的黑客入侵行为并非是真的恶作剧。
在「Big Rick」计划完成后,这群高中生黑客团队将他们发现的安保系统的漏洞、相关建议、以及一切行为都整理成了一份26页的技术文档,并发送给了当地社区的技术团队。
而在数天后,他们收到了社区技术总监的回应,邮件中表示:
社区并不会控告他们的行为,甚至还要感谢他们的发现,并希望他们能够对社区的技术团队做一个简单汇报。
到这里,这场恶作剧也就落下了帷幕。
其实,这种“少年黑客入侵学校”的新闻并不是某一所学校的专利。
国内外的少年黑客们,一直都在勇敢地创造奇迹。
比如说这位在1999年就带头攻破了人大附中校园网的侯晓迪同学:
同样是完全出自兴趣的恶作剧,侯晓迪也没有收到学校的批评,还在校方的支持下组建了维护校园网的实验室,并向全国媒体公布了相关系统的漏洞和解决方案。
不同的是,20年后的侯晓迪以市值85亿美元的无人车公司,图森未来的CTO的身份,再一次站到了聚光灯中心。
当然,也并非每次都能这样皆大欢喜。
有不是出于兴趣,而是真的为了牟利而入侵系统,最后获刑五年的:
也有炫技把自己炫进去的:
而当我们远离这些玩得很大的黑客,其实也会发现,身边也会时不时地出没一些关键词查分、选课、教务系统的人物传说……
对于这些事例,我们也只能感叹一句:
参考链接: [1]https://whitehoodhacker.net/posts/2021-10-04-the-big-rick [2]https://www.youtube.com/watch?v=2ddFrmOcT50 [3]https://twitter.com/WhiteHoodHacker
— 完 —