不计其数的黑客们游荡在因特网中来欺骗那些容易上当的用户。它们多年使用着重复的攻击手段,毫无创新地利用着我们懒惰、误判和一些犯二的行为。
不过每年,恶意软件研究人员总会遇到一些引人侧目的攻击手段。这些攻击手段在不断拓展恶意攻击的范围。新的攻击手段都是不按套路出牌的,尽管这些手段在被研究看透之后其实很简单。
在90年代的微软宏病毒悄悄地把文档中的零都替换成了大写字母O,使得很多数字格式直接变成了文本格式。这些变化在大多数情况下可能都不会被发现。直到备份系统的时候,管理员发现文档里面,居然只有一堆令人抓狂的看似正常的错误数据。
现在,最巧妙的攻击就是秘密的并且不被发现。这里有一些最新的比较有名的攻击技术激起了我的兴趣,同时也从中学到很多经验。其中的一些都非常巧妙地借鉴了过去的一些恶意软件的思路,不过现在都非常流行,甚至可以唬住即使是最精明的用户。
No.1 无线热点(AP)伪造
没有其他攻击的实现会比伪造热点更简单。每个人都使用软件或无线网卡把自己伪造成一个无线热点,然后再把流量天衣无缝地中转到真正的热点上。
想想你每次去咖啡厅、机场或者一些公共场所,然后都会连接那里的免费网络。黑客在星巴克可以把它们的伪造热点叫做“星巴克 free wifi”或者在机场可以叫“机场免费热点”,然后几分钟内路人都会很自觉地连到这个“免费热点”上。黑客可以从受害者和远程主机通信的数据流中嗅探出未加密数据。你可能会很惊讶这么多数据,甚至是密码居然都是明文传送的。
更邪恶的是黑客可以伪造出一个注册页面,告诉接入伪造热点的用户要注册才能使用。普通用户很可能常常会到处用一个通用的账号名或者邮箱以及一个通用密码。黑客然后可以用这些账号和密码的组合在大网站上进行尝试,比如Facebook, Twitter, Amazon, iTunes等等。这些受害者可能还不知道发生了什么。
经验:千万不要相信一个公共无线热点。因为有些保密信息也会通过无线网络传输。考虑用VPN传输所有数据,并且不要在公共站点和私有站点重复使用同一个密码。
No.2 Cookie窃取
Cookie是一个很美妙的发明,它能够记录我们的访问状态。这些小文本,由网站传输给我们的机器,帮助网站或者服务跟踪我们的一个或多个访问,举个例子,让我们更轻松地就能买到牛仔裤(译者注:购物车里面的商品常常存放在cookie中),我们为什么会不喜欢呢?
答:现在越来越多的黑客窃取我们的cookie来冒充我们。当然了,对服务器来说,它们是被授权的,服务器以为它们像我们一样输入了有效的账号和密码。
当然,cookie窃取似乎从这个发明诞生就出现了,但是有些工具让这个攻击变得很容易,点几下鼠标就搞定了。比如firesheep,是一个火狐插件让人们可以轻松窃取别人的明文cookie。当接入一个伪造热点或在共享网络中时(译者注:这两种情况可以嗅探其他主机的网络流量),cookie劫持似乎就更加轻而易举了。firesheep能够显示能找到的cookie的名字和位置,然后只要鼠标一点,就能劫持这个会话(Github地址 ?中文教程)。
更糟糕的是,现在黑客还能凭空嗅探出有SSL保护的cookie。在2011年9月,BEAST攻击被证实可以破解https加密的cookie。经过进一步的改进和完善,出现了CRIME攻击,让窃取和利用加密的cookie更加容易。
每新的cookie攻击出现,网站和应用的开发人员被告知如何去保护它们的用户。有些时候,这个答案是使用最新的加密技术,另外一些时候是,禁用一些不常用的特性。这其中的关键点在于网站开发者要安全开发来降低cookie被窃取的可能性,如果你的网站几年都没有更新加密保护措施,那么你可能已经处于风险之中。
经验:即使是加密的cookie也是会被窃取的,网站的连接要用最新的加密方式。你的https站点必须使用包括TLS V1.2在内的最新加密措施。
No.3 文件名欺骗
恶意软件从一开始就使用文件名欺骗来诱引用户执行恶意代码。最早的例子是将文件命名成鼓励不知情的受害者去点击(比如美女热图等),并使用文件的多重后缀来隐藏自己(比如美女热图.jpg.exe)。直到现在,windows和其他的操作系统还是默认地隐藏了臭名昭著的文件后缀,让 美女热图.jpg.exe 看起来是 美女热图.jpg。
几年前,恶意软件和病毒常是“伴随型病毒”,依赖于windows的一个鲜为人知的特性即使你输入执行病毒.exe,windows仍然会去寻找,如果找到了,直接执行病毒.com来替代。伴随型病毒会寻找硬盘上所有的exe文件,然后创建一个同名的文件,但是是com后缀的。微软很久前就已经修复了这个漏洞,不过这个被早期的黑客用来隐藏病毒,现在种类繁多的病毒感染方式也可以算从这个模式演化过来的(译者注:比如熊猫烧香通过感染PE文件头来感染所有exe文件)。
目前一种更复杂的文件名欺骗方式是通过Unicode字符在视觉上去欺骗,现在举个例子,Unicode的RLO控制符可以让文本变成从右到左的模式,这样我们就可以在很多系统里面使用障眼法,把 美女热图avi.exe 变成 美女热图exe.avi。
经验:无论在什么时候,在执行文件之前,都最好确保你看到完整的文件名。
No.4 路径还是路径
另外有一个有趣的隐藏技巧是“绝对路径和相对路径”。在早期Windows(Windows XP、2003或更早)及其他的一些操作系统,如果你键入一个文件名然后按下回车或者让操作系统按照你的需要去寻找一个文件,系统通常会最先当前文件夹或者目录位置开始查找。尽管这种做法看起来效率高并且无害,但是却会被黑客所利用。
举一个例子,你想运行一个内置的无害的计算器(calc.exe),你可以很简单打开一个命令行,然后敲人calc.exe,然后回车。
但是恶意软件可以创建一个名为 calc.exe 的文件隐藏在当前目录下或者你的home目录,当你想执行clac.exe的时候,系统会先执行这个恶意的clac.exe程序。
做渗透测试的时候,我非常喜欢这个系统缺陷。通常,我入侵一个主机之后需要进行提权。我可能会把一个已知的未打补丁的程序,放入一个临时文件夹。多数情况下,我可能只需要一个可执行文件或者dll文件,不用管那一整个程序。然后我在程序中输入这个文件名,然后Windows就会加载这个临时文件夹中这个恶意程序。我喜欢这个,我可以攻陷一个没有漏洞的系统仅凭那个坏文件。
Linux、Unix及BSD系统在10年前就修复了这个问题,Windows则是在2006年后才在Windows Vista/2008修复了这个问题,虽然这个问题在早期版本中仍然为了程序的向上兼容而存在。同时,这些年微软一直在警告和教育开发者使用绝对路径。但是直到现在,仍然有上万个早期程序还存在这个问题,黑客比任何人都清楚。
经验:使用绝对路径执行程序。
No.5 Host文件重定向
相信现在大多数用户还不知道存在一个和DNS相关的文件叫做hosts(译者注:看来天朝内hosts文件知识的普及率比国外高,原因你懂的)。在windows中,它下位于C:\WINDOWS\SYSTEM32\DRIVERS\ETC中, Hosts文件包含域名和对应的IP地址。 Hosts文件最初被当做DNS使用,能够获得域名IP映射关系,还不用请求DNS服务器执行递归查询。不过大多数情况下, DNS功能就够用了,大多数人不会去管那个虽然存在的hosts文件。
恶意软件最喜欢篡改host文件,所以,当有人访问一个比较热门的域名(比如google.com),它们会被指向一个恶意的IP。这个恶意网站常常会复制原站的所有内容来达到钓取账号密码的目的,而受害者肯定不知道其中的猫腻,因为域名是正确的(译者注:hosts文件的优先级高于DNS)。
这个漏洞现在仍然被广泛利用。
教训:如果你不能确定是否被恶意重定向,请检查你的hosts文件。
No.6 水坑攻击
水坑攻击正如其名,那是一个坑,而且是一个会溅起水花脏到自己的水坑。在这些攻击中,黑客会利用它们的目标,常常会在某个特定的地方工作这一现状,污染那个地方的网络来达到目的。
举一个例子,很多大公司都自己的咖啡厅、酒吧或者餐厅,那些地方一定很受公司员工的欢迎。黑客会伪造无线热点(No.1)来试图获得尽可能多的账号及密码。或者黑客会篡改这些员工常用网站入口来达到同样的目的。这种情况,黑客将会更加轻松加愉快,因为篡改的目标常常是公众门户或者社交门户(比如微博),而不用担心公司内部平台一些安全机制。
水坑攻击在今年成了一个大新闻,几个大的科技公司,包括Apple、Facebook、微软以及其他的公司因为一些常用的开发者网站而沦陷。这些开发者网站被感染恶意的js代码重定向,将恶意软件(有些是0day)植入在开发者的电脑上,而这些开发者恰好又是员工,电脑常常接入外人进不去的公司内部网络。
经验:让员工们意识到一个受欢迎的”水坑”通常会是黑客的目标。
No.7 诱饵替换
这是其中一个比较有趣的攻击手段,叫做诱饵替换(译者注:这个手段被用于各行各业)。受害者看似是下载了一个很棒的软件,其实它的内容被替换成了恶意软件,例子比比皆是。(译者注:这个我深有体会,你去下载站,你可以看到若干个“下载”,如果你真正很乖地去都点开,你会下到很多广告流氓软件)。
很常见的例子就是黑客在一些受欢迎的网站上面购买广告位。当网站确认广告的时候,这些广告链接都是无害的,然后网站收了广告费批准了广告。这些坏家伙就把广告链接替换成恶意链接。然后通常在访问了恶意链接之后,它们还会检测用户点击来源,天衣无缝地把它们指回到原来的广告上去,并且恶意链接还可以随时更新。
我见过的最有意思的诱饵替换就是那些坏家伙创造了一些实用的免费内容,任何人都可以用,然后这些免费的东西都会包含一个许可条款:只要保留原文链接,就能保持免费。不知情的人引用了之后保留这个原始链接(译者注:这个攻击在中国可能不会太奏效,因为条款可能不太符合中国国情,大家懂的)。通常原文链接也不会包含太多东西,一些图像或者其他细碎的东西。不过在被上千次引用后,黑客会把原文链接的内容替换成恶意内容,比如js重定向。
经验:当心那些不受你控制的内容,因为它们可能分分钟就替换成了恶意内容。
译文链接: http://blog.jobbole.com/49400/