阅读:2840回复:0
我从Ashley Madison事件中学到的
◆1 事件回顾
黑客团队Impact Team在8月18日公布了偷情网站Ashley Madison的数据(Link),多名用户确认了数据的真实性。泄露数据通过BitTorrent被广泛传播,还有人已经设立一个网站ashley.cynic.al,让Ashley Madison用户验证自己的账号是否在里面。黑客泄露的数据容量多达9.7GB,包括了电子邮件,哈希密码,用户资料描述,体重,身高,不完整的信用卡交易数据,等等。泄露事件导致已有2名Ashley Madison用户自杀,该偷情网站的母公司Avid Life Media提供50万赏金(Link)追捕黑客。目前已经公布的线索有2条,一条线索是最早公布了Ashley Madison服务器源代码地址的twitter用户Thadeus Zu (@deuszu);另一条线索是Ashley Madison的黑客在公布第二批数据后可能不小心留下了足迹(Link)。 ◆2 泄露的主要文件说明 [*]CreditCardTransactions.7z 该文件保存了过去7年所有信用卡交易记录,包含姓名,地址,EMAIL地址,压缩包里包含2600个EXCEL文件,包含有超过 9.600.000条交易记录。 [*]am_am.dump.gz 这个mysql的dump文件包含大概有3200万的用户数据,其中有姓,名,地址,电话号码,关系等,也包括用户是否喝酒?抽烟?生日,别名等信息。 [*]aminno_member_email.dump.gz 包含有3200万邮箱地址 [*]member_details.dump.gz 人员的详细描述,眼睛颜色,体重,身高,头发颜色等信息 [*]member_login.dump.gz 这个文件夹包含3000万的用户名和HASH密码,其中HASH密码采用bcrypt算法加密。 [*]ashleymadisondump.7z里的swappernet_User_Table.7z QA数据库服务器的dump文件,但不是标准的mysql dump格式,是csv格式的。这里的userpassword字段没有使用bcrpt算法加密 [*]ashleymadison.tgz 包含相关网站的所有gitlab repositories 泄露的数据里还包含大概13G的Ashley Madison CEO的邮件内容,但是文件似乎损坏了,需要后续进一步的确认。 ◆3 数据库导入 解压后,通过grep看dump的文件,可以看到是标准的mysqldump文件 #!bash $ grep 'MySQL dump' *.dump am_am.dump:-- MySQL dump 10.13 Distrib 5.5.33, for Linux (x86_64) aminno_member.dump:-- MySQL dump 10.13 Distrib 5.5.40-36.1, for Linux (x86_64) aminno_member_email.dump:-- MySQL dump 10.13 Distrib 5.5.40-36.1, for Linux (x86_64) member_details.dump:-- MySQL dump 10.13 Distrib 5.5.40-36.1, for Linux (x86_64) member_login.dump:-- MySQL dump 10.13 Distrib 5.5.40-36.1, for Linux (x86_64) 然后建立相关数据库以及用户,尝试导入。 #!sql --As root MySQL user CREATE DATABASE aminno; CREATE DATABASE am; CREATE USER 'am'@'localhost' IDENTIFIED BY 'loyaltyandfidelity'; GRANT ALL PRIVILEGES ON aminno.* TO 'am'@'localhost'; GRANT ALL PRIVILEGES ON am.* TO 'am'@'localhost'; 按照老外的文档。依次执行 #!bash $ mysql -D aminno -uam -ployaltyandfidelity < aminno_member.dump $ mysql -D aminno -uam -ployaltyandfidelity < aminno_member_email.dump $ mysql -D aminno -uam -ployaltyandfidelity < member_details.dump $ mysql -D aminno -uam -ployaltyandfidelity < member_login.dump $ mysql -D am -uam -ployaltyandfidelity < am_am.dump 图片:2015083112135555607117.jpg 操作如上图,这里坑就来了,他数据库引擎默认是innodb的,导入巨慢。我不知道老外是怎么导的,但是如果你按照他的方法搞,几天也导入不完。我耽误了一个晚上的时间,请教了A神。他告诉我转MYISAM导入速度就快了。依照文档,禁用innodb,新建数据库,表,再次导入,还是慢。因为有些数据在导入的时候,会建索引。所以,需要改造下,思路如下:以member_details.dump.gz为例: #!bash $ gunzip member_details.dump.gz #解压 $ wc -l member_details.dump #计算member_details.dump文件总行数 2425 member_details.dump $ head -n 48 member_details.dump #获取create的sql语句 CREATE TABLE `member_details` ( `pnum` int(11) unsigned NOT NULL, `eye_color` int(11) unsigned NOT NULL DEFAULT '0', `hair_color` int(11) unsigned NOT NULL DEFAULT '0', `dob` date DEFAULT NULL, `profile_caption` varchar(64) DEFAULT NULL, `profile_ethnicity` int(11) unsigned DEFAULT NULL, `profile_weight` int(11) unsigned DEFAULT NULL, `profile_height` int(11) unsigned DEFAULT NULL, `profile_bodytype` int(11) unsigned DEFAULT NULL, `profile_smoke` int(11) unsigned DEFAULT NULL, `profile_drink` int(11) unsigned DEFAULT NULL, `profile_initially_seeking` int(11) unsigned DEFAULT NULL, PRIMARY KEY (`pnum`), KEY `dob` (`dob`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 把这里的ENGINE=InnoDB改为ENGINE=MYISAM,如果是其他的表,也可以适当的删除相应SQL里建立索引的语句,提高导入速度。 然后计算2425 - 48 = 2377,执行 #!bash $ tail -n 2377 member_details.dump >member_details.new.dump #删除create相关的sql语句 最后回到MYSQL里,使用source导入数据。 #!sql soucre member_details.new.dump 如下图所示: 图片:2015083112135555607117.jpg 图片:2015083112135555607117.jpg ◆4 简单数据分析 首先分析ashleymadisondump.7z里的swappernet_User_Table.7z,解压后,显示这个数据库包含765607条记录,仅仅有4条是空密码,387974条密码是唯一的。分析语句如下: #!bash $ cut -d, -f4 < swappernet_QA_User_Table.txt |wc -l 765607 $ cut -d, -f4 < swappernet_QA_User_Table.txt | sed '/^s*$/d' |wc -l 765603 $ cut -d, -f4 < swappernet_QA_User_Table.txt | sed '/^s*$/d' |sort -u |wc -l 387974 图片:2015083112135555607117.jpg 如上图,因为这个数据库的密码是明文的,所以很有价值,我们计算下最常使用的50个密码,语句如下: root@kali:~# cut -d, -f4 |
|