美文网首页
为一部烂片点赞 -《Blackhat》观影小记

为一部烂片点赞 -《Blackhat》观影小记

作者: FunFeast | 来源:发表于2016-12-11 22:33 被阅读131次

    这是去年看过电影《Blackhat》之后写的一篇文章,因为最近看《Zero Days》,又联想到了这部电影,所以翻出以前写的文章整理了一下。这篇文章主要聊了一下电影中出现的技术细节,虽然有大量剧透,但是仍然不建议先看电影。原因嘛,看了豆瓣4.0的评分就应该懂了。


    不知道是不是因为最近几年各种黑客活动闹得很凶,连娱乐圈也开始关注这个话题,于是就有了这部中美合作的烂片大片——《Blackhat》。虽然这部电影有无数可以吐槽的地方,不过有一点让人十分佩服,那就是影片中出现的每一个技术细节都力求真实。片名“blackhat”,直译过来就是“黑帽子”,是指黑客当中为了利益专门进行恶意破坏的一个群体。同理,还有跟黑帽相反的白帽,以及游移于两者之间的灰帽。相比“黑客”这个笼统的称呼,“黑帽”的含义更明确,从这里就能看出制作人员严谨的态度。下面就跟随剧情的发展来看看影片是如何表现各种技术细节的。

    故事从香港柴湾的核电站被黑客攻击开始。力宏扮演的中国军方网络安全专家受命进行调查。为了分析攻击所用的恶意软件,力宏联络了FBI(美国也曾收到同样的攻击)并得到了恶意软件的源码。在力宏啃代码的这段戏里,可以清楚的看到几个源码片段。很多函数名、变量名都毫无意义,因为这并不是人写的,而是从可执行文件反编译得到的。虽然内容有限,不过勤劳的歪果网友还是找到了这段代码的出处。这段代码就是当年名噪一时的Stuxnet蠕虫,专门攻击西门子某些型号的工业控制器,破坏水厂、电站等基础设施,堪称蠕虫界的“X日天”。关于Stuxnet,今年(2016)的纪录片《Zero Days》是不错的参考。如果有兴趣一睹这段代码的芳容,请移步这里。吐槽一下,看代码居然没有语法高亮,道具组还是图样了。

    源码片段1 源码片段2 源码片段3

    之后美国的股票交易所也受到攻击,黑客卷走了一大笔钱。于是力宏来到美国寻求合作。一个看起来牛B哄哄的美方专家正在给大家讲解攻击的原理:先在目标机器上安装RAT(Remote Access Trojan),然后下载payload(也就是另一个恶意软件)实施攻击。RAT就是所谓的特洛伊木马,是很常见的黑客攻击方式,身为高级专家,居然只能讲出实习生水平的粗浅分析,难怪被力宏鄙视。

    砖家分析

    由于美方专家水平捉鸡,在力宏的要求下,美方放出了正在坐牢的黑客雷大锤协助调查,再加上力宏的妹妹汤美女,三人核心调查组就成立了。一行人来到交易所被入侵的数据中心。管理员对于入侵的方式百思不得其姐,而大锤用了一条cat命令就让恶意软件现了形。原来管理员的U盘被临时工动了手脚(编剧一定是中国人),加了一个autorun.inf,只要插上电脑就会自动执行名为.mssvc的恶意程序。autorun.inf这个机制是windows特有的,它是怎么感染Linux服务器的,只有天知道了。不过大锤用xdd命令dump二进制文件的样子,还是满拼的。

    autorun

    大锤分析U盘上的可执行文件寻找线索。虽然是二进制文件,但还是能看到不少文本片段,比如图中红框标出来的,有函数名,还有注释。这是编译完代码之后不strip的结果。这个故事告诉我们,做羞羞的事情一定要把屁股擦干净。想当年国防科大号称研发了自主知识产权的银河麒麟操作系统,也是二进制文件没有strip,被人发现其内核函数名跟FreeBSD的相似度达到99.45%。多年后的今天,再也没有人提银河麒麟,只有一个叫中标麒麟的Linux发行版本。

    dump二进制文件

    大锤带着汤美女赶到临时工住的出租屋调查,可惜已经人死茶凉。汤美女发现临时工上网一直都有带TOR。TOR是洋葱路由(The Onion Router)的简称,著名的匿名网络工具。黑客用它来隐藏自己的真实IP地址,防止被追查。当然,在某些国家,它还有一个更重要的用途——科学上网。汤美女来上这么一段解说大概是为了刷刷存在感,反正对剧情是没有什么帮助的。

    带tor上网

    临时工死掉之前打开了自己的邮箱没关。大锤发现了一封待回复的email,对方很可能是幕后boss,于是以临时工的名义约其去韩国餐馆见面。然而对方并没有出现,原来幕后boss早已入侵了餐馆里的监控服务器,看穿了一切。大锤发现之后,噼里啪啦的敲了几条命令:who、whois和write。好吧,虽然这种近似大白话的命令看起来没什么B格,但都是货真价实的存在。首先,大锤用who命令发现有个叫sdksdk的用户远程登录了这台机器。接下来,用whois命令查询到sdksdk所用的IP地址属于乌克兰。有点常识的人一眼就能看出来,这个IP是假的:IPv4地址是4个字节,每个字节8位,所以最大的数是2^8-1=255。当然,这点是可以理解的,如果放个真的IP上去可能引起不必要的麻烦。最后,大锤用write命令向对方表白挑战:我要上了你(i am onto you)。write命令可以向登录同一台机器的其他用户发送信息。

    who whois write

    调查走进了死胡同,大锤只好带着汤美女到柴湾跟其他人会合,旅途中顺便推倒了汤美女。导演实在太小气,汤美女的内涵我们都是见识过的,为什么还要安排这种蜻蜓点水的戏份?来到柴湾,现场工作人员告诉大家,电站里控制水泵的PLC被入侵了。PLC可以简单的理解为一种专用CPU,主要用于工业控制,前面说的Stuxnet就是专门攻击这种控制器的。编剧确实做了功课,不过还是差了一点点,PLC的全称是Programmable Logic Controller。

    PLC

    调查小组联合香港警方对几个嫌疑人进行了跟踪,发现了油麻地的一个可疑地点,于是前去调查。只见大锤拿出一个安卓手机,打开一个叫WiPry的app,对着屏幕上华丽的波形图,来回一晃悠,就找到了一个黑客藏在草丛里的设备。WiPry这个东西还真不是瞎编的,用来做频谱分析的,不要问我是什么意思,我也完全不懂。只不过使用WiPry必须要有相应的硬件支持,并不像电影里面一样随便一个手机就可以的。真正的完全体看起来应该是这个样子

    安卓机 wipry

    大锤找到的设备是蓝牙发射器,里面的数据都是GPG加密过的,密钥至少512位,很难破解。 GPG全称Gnu Privacy Guard,是著名的开源加密软件。只要密钥够长,NSA对它也是没有什么办法的,据说Snowden跟记者联络爆料的时候就是用这个加密的。所以如果你有什么东西不想让人看,可以考虑一下GPG。

    GPG

    大锤冒险进入被污染的核电站控制室取出被感染的硬盘。可惜硬盘已经损坏,调查小组必须要用NSA的一个叫作black widow的系统来恢复数据,但是对方傲娇的联络人就是不给帐号。大锤只好自己动手,使用坑蒙拐骗偷社会工程学手段窃取帐号。在任何一个系统里,最不安全的既不是软件也不是硬件,而是人。社会工程学就是从人下手来对安全系统进行渗透。关于社会工程学,可以看看另一部类似题材的德国电影《Who Am I》。大锤用的方法是钓鱼,伪装成上级发邮件给NSA联络人,要求对方修改帐号密码。附件的pdf实际上是个键盘记录器,只要打开,所有的按键操作都会被记录发送给黑客。钓鱼是一种常用的欺骗手段,比如我就收到过很多次冒充QQ安全中心发送的邮件(下面第三张图),邮件里的链接会把你带到一个伪造的QQ安全中心网页。这种是很容易识别的,只要留心看一下发件人的邮箱地址和网页的网址就很容易发现有问题。还有更变态的,比如通过假的手机基站为装成10086发送钓鱼短信,以及来历不明的微信红包

    钓鱼邮件,中国躺枪 引诱下载 现实中的钓鱼邮件

    通过硬盘中恢复的数据,调查组查到幕后boss的真身在雅加达。但是在接下来的各方势力撕B中,力宏牺牲了。大锤和汤美女来到雅加达找幕后boss报仇。大锤开车撞进了黑客服务器所在的数据中心,在一片混乱中悄悄摸进了机房,窃取恶意软件源码。只见大锤启动服务器,见到了熟悉的grub启动界面。然后一阵捣鼓,就进入了命令行界面,还是root(相当于Windows的管理员)。大锤在不知道密码的情况下,是怎么进入系统的呢?注意下面第二张图,大锤在启动命令行(第一张图里kernel那一行)的最后加了一个single,这是Linux内核的启动参数,表示进入单用户模式,这样就可以在没有密码的情况下以root用户登录系统。当年我在学校机房不知道密码的时候也经常这么干,进入系统之后就随便改一个只有自己知道的密码,不知道祸害了多少人。不过使用这个方法的前提是必须能接触到机器,这也是锤哥必须肉身入侵而不能远程操作的原因。

    Grub启动菜单 神奇的single参数,单身程序员的怨念

    进入系统之后,接着又是一连串命令操作。大锤挂载(mount)了移动硬盘(还是NTFS),拷贝(cp)了根目录(/)和home目录(/home)的所有数据。干的漂亮,可惜你少打了几个空格。

    挺专业的命令行

    在拷贝回来的数据里,大锤终于见到了梦寐以求的女神(恶意软件的源代码)。这个大概是恶意软件的server端代码,用来控制蠕虫实施攻击。很明显的python,if语句判断攻击目标,然后按照预订的时间逐个关闭目标矿场的水泵。

    源码片段4

    于此同时,汤美女也查到了幕后boss存钱的银行。两人决定黑进银行系统把钱转出来。这次轮到汤美女肉身出击了,色诱前台小保安,以打印讲稿的名义成功的让他把带有恶意程序的邪恶小U盘插入前台主机。远方的大锤则使用nc命令监听8080端口,一旦U盘上的恶意程序运行起来,就会主动连接大锤的电脑,大锤借此成功的入侵了银行系统,从那里登录网银,转账付费,把大boss辛辛苦苦偷来的钱又给捣腾走了。下面第三张图里的nc也就是netcat,也是著名的开源网络工具。至于为什么插个U盘也能被黑,参见前面的autorun.inf。

    邪恶的U盘 nc != 脑残

    最终,大锤用这笔钱作诱饵,引诱幕后boss现身并让其服法,然后带着汤美女远离红尘,从此过上没羞没矂的生活。THE END。

    总结:浪费了这么多口水,也完全不能改变这是一部烂片的事实。显然制作方犯了舍本逐末的错误,这些技术细节的添加只能是锦上添花,而并不能拯救其平庸剧情,对于普通观众来讲毫无意义。不过,跟《天蝎》这种脑残冒充高智商的美剧相比,这部电影已经可以算是神一样的存在了。所以说虽然是烂片,还是要为制作方这种细节上的“不将就”的点个赞。

    相关文章

      网友评论

          本文标题:为一部烂片点赞 -《Blackhat》观影小记

          本文链接:https://www.haomeiwen.com/subject/fzgpmttx.html