1. 程式人生 > >國外14億泄露數據下載及還原

國外14億泄露數據下載及還原

tro .com web 去除 文章 amp 記錄 排序 ech

國外14泄露數據下載及還原

simeon

2018年6月10日freebuf發布了文章14億郵箱泄露密碼明文信息查詢網站驚現網絡》(鏈接地址:http://www.freebuf.com/news/174410.html),聲稱其泄露的數據可以通過暗網網站http://dumpedlqezarfife.onion.lu/進行查詢,後續通過網絡獲取其泄露文件的下載地址,歷經千辛萬苦,終於將數據下載到本地,通過研究,將其txt文件進行還原處理,並其進行無效數據處理,去除空密碼等操作

1.1.1數據下載及分析

1.數據下載地址

1)二進制未壓縮41G磁力下載鏈接地址

magnet:?xt=urn:btih:7ffbcd8cee06aba2ce6561688cf68ce2addca0a3&dn=BreachCompilation&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fglotorrents.pw%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337

2二進制壓縮11G磁力下載鏈接地址

magnet:?xt=urn:btih:09250e1953e5a7fefeaa6206e81d02e53b5b374a&dn=BreachCompilation.tar.bz2&tr=udp://tracker.leechers-paradise.org:6969/announce&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://tracker.pirateparty.gr:6969&tr=udp://tracker.coppersurfer.tk:6969/announce&tr=udp://tracker.zer0day.to:1337/announce

2.數據內容

該集合數據庫中包含從Bitcoin、Pastebin、LinkedIn、MySpace、Netflix、YouPorn、Last.FM、Zoosk、Badoo、RedBox以及遊戲平臺(Minecraft和Runescape等)泄漏的數據,以及Anti Public,Exploit.in泄漏的憑證列表

1.1.2數據分析及處理

1.下載文件進行解壓

breachcompilation.txt.7z進行解壓解壓後數據data目錄,它是按照字母進行排序的解壓根目錄存在一些腳本文件如圖1所示原始文件解壓後45G,後面我又文件進行壓縮處理,節約空間。

技術分享圖片

1解壓文件

2.使用cat生成文件

使用cat * >alla.txt類似命令,對每一個文件夾進行處理,然後生成多個txt文件。

3.文件格式

通過notepad對該密碼文件進行查看,發現數據為郵箱帳號及密碼,使用“:”分隔數據字段。

4.創建數據庫及表

1mysql中創建數據庫14yidata

2創建數據庫表

alla表設置兩個字段,email及password。

1.1.3數據庫導入處理

1.txt文件導入到數據庫

1)對a開頭的數據進行處理

通過cat對a文件夾進行處理,共生alla.txtalla-l.txtalla-n.txt三個文件夾,其中alla-l.txtalla-n.txt因為在a文件夾下存在子文件夾l及n。

2執行導入

Navicat for MySQL分別執行以下語句進行導入,如圖2所示,導入成功後,會顯示受影響的行,該數據表示導入了多少條數據。

LOAD DATA LOCAL INFILE "d:/ok/alla.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

LOAD DATA LOCAL INFILE "d:/ok/alla-l.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

LOAD DATA LOCAL INFILE "d:/ok/alla-n.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

技術分享圖片

2導入數據

2.查詢存在特殊字符郵箱數據並保存

mysql中執行:select * from alla where email like '%;%' and password >''查詢後,將查詢結果保存為alla-ok.txt文件如圖3所示,使用notepad打開alla-ok.txt文件,在其中可以看到存在特殊字符,空格替換“:”

技術分享圖片

3處理特殊字符數據

3.刪除存在特殊字符“;”及有密碼的數據

執行語句:delete from alla where email like '%;%' and password >''如圖4所示,將alla表中存在“;密碼的數據進行清洗,也即刪除掉前面已經保存了數據alla-ok.txt)。

技術分享圖片

4刪除特殊字符數據

4.查詢空密碼

在處理數據庫中發現存在很多空密碼,執行查詢:select * from alla where password=''執行後,如圖5所示,顯示共有292672條數據。

技術分享圖片

5查詢空密碼

5.刪除空密碼

由於空密碼沒有什麽用處,廢棄數據需要進行刪除處理,執行語句:

delete from alla where password='' 如圖6所示,刪除292672條數據記錄

技術分享圖片

6刪除空密碼數據

6.查詢特殊字段“;”密碼並導出文件

導入數據庫表alla中,存在一些特殊字符,其email名稱密碼通過進行分割,如圖7所示,執行查詢select * from alla where email like '%;%'這些數據不便於查詢,需要進行處理

技術分享圖片

7查詢特殊字符“;” 存在的數據

7.導出特殊字符“;” 存在的數據

Navicat for MySQL查詢處理完畢後,如圖8所示,單擊導出向導,根據其提示進行即可,將存在特殊字符的數據記錄全部導d:\ok\ok\1.txt文件

技術分享圖片

8將所有特殊字符數據記錄導出1.txt文件

8.合並導出特殊字符和密碼的字段表及後導出的密碼表

1替換字符

使用notepad打開1.txt文件查找目標“;”,將其替換為:”,如圖9所示,選擇全部替換即可。

技術分享圖片

9替換特殊字符記錄

2合並數據

alla-ok.txt中的數據復制1.txt文件中。

8.去除行尾空白字符

前面進行查詢及處理的數據存在空白字符,需要通過UltraEdit編輯器對1.txt文件去除行尾空白字符,單擊格式-“刪除行尾空白字符即可,如圖10所示。

技術分享圖片

10去除行尾空白字符

9.重新導入特殊字符處理的表

將處理後的數據文件1.txt導入數據庫,執行語句:

LOAD DATA LOCAL INFILE "D:/ok/ok/1.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

如圖11所示,將存在問題的數據記錄重新導入數據庫中。

技術分享圖片

11重新導入數據庫中

10.將前面所有查詢處理保存

alla處理結果表進行重命名,例如alla_ok,按照順序,對前面的查詢處理進行編號,對後續數據進行處理。直至將所有數據處理完畢所有文件處理完畢後,實際數據數為1387009672

11.如果興趣可以利用14數據進行大數據學習

推薦一個對14億數據的處理及分析站點:https://github.com/philipperemy/tensorflow-1.4-billion-password-analysis

1.1.5總結及探討

1.文本文件導入數據庫語句總結

很多時候泄露的數據為txt文件,需要對其進行處理,將txt文件中的數據導入數據庫,方便進行查詢等處理。

1)將文本文件導入mysql數據庫

LOAD DATA LOCAL INFILE "d:/ok/alla-n.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

2)查詢存在特殊字符及密碼的數據,並保存

select * from alla where email like '%;%' and password >''

3)對上面的數據進行替換處理

空格替換成:

4)刪除存在特殊字母“;”及有密碼的數據

delete from alla where email like '%;%' and password >''

5)查詢空密碼

select * from alla where password=''

6)刪除空密碼

delete from alla where password=''

7)查詢特殊字段“;”密碼並導出文件

select * from alla where email like '%;%'

8對導出文件進行替換處理;”替換為“:”

9)合並導出特殊字符和密碼的字段表及後導出的密碼表

10去除行尾空字段

11)重新導入特殊字符處理的表

LOAD DATA LOCAL INFILE "D:/ok/ok/1.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

2.數據庫去重處理

本次處理中未數據進行去重處理,由於數據量比較大,進行去重處理後,興趣的朋友可以將所有txt文件cat成一個文件,使用sort進行去重處理。其命令

sort -u all.txt >allnew.txt

3.在線查詢

互聯網上有一些密碼及郵箱在線查詢網站

https://pwdquery.xyz/:輸入郵箱,隱藏部分的泄露密碼

https://verify.4iq.com/:輸入郵箱,自動將泄露密碼發送到郵箱上

https://haveibeenpwned.com/Passwords:輸入密碼,確認是否泄露

參考文章

https://shui.azurewebsites.net/2017/12/31/breachcompilation-1-4-billion-password/


國外14億泄露數據下載及還原