您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么對已損壞的SQLite數據庫取證分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
SQLite是當今最流行的數據庫之一,許多移動應用臺式計算機以及便攜式筆記本上都用它來存儲數據(例如桌面工具、瀏覽器以及社交媒體軟件等),因此SQLite在電子取證當中也扮演著舉足輕重的角色。取證網絡瀏覽器,信使和其他數字證據來源。
市面上有許多支持對SQLite數據庫分析取證的工具,例如Magnet AXIOM,Belkasoft Evidence Center和BlackBag BlackLight等等。這些工具可以自動解析這些數據庫,甚至可以從空閑列表和未分配空間中分割數據。此外,它們還提供了SQLite查看器,取證人員可以手動來分析數據庫的類型。
那么對于那些已被損壞或破壞的數據庫,我們又該如何取證呢?
我們在DFIR上收到了一個無法用任何工具打開的SQLite數據庫。在此之前該數據庫還曾被發送給供應商解決,但得到的答案是 - 并未在數據庫中發現任何表格。
話不多說讓我們直奔主題,該數據庫名為:“contacts2.db”。如果你有足夠的移動取證經驗,那么你應該能猜到這是一個典型的Android數據庫,其中包含了有關用戶的聯系人信息。
在我們手頭有許多專業的取證工具包,因此我們決定使用最流行的取證工具來嘗試打開它,其中包括有Belkasoft Evidence Center,BlackBag BlackLight,Cellebrite UFED Physical Analyser,SQLite數據庫瀏覽器,Magnet AXIOM和Oxygen Forensic Detective。但讓我們感到驚訝的是,該數據庫正如發布者所述,沒有任何工具能打開它。如下截圖所示:
Belkasoft Evidence Center
BlackBag BlackLight
Cellebrite UFED Physical Analyzer
SQLite數據庫瀏覽器
Magnet AXIOM
Oxygen Forensic Detective
正如你所看到的沒有任何工具可以打開它。那么接下來我們該怎么做呢?讓我們回到最開始!
首先,我們進入到SQLite的官方網站,并下載用于管理數據庫文件的命令行工具。
接著我們提取存檔內容并將數據庫放到相同的文件夾下(可選)。
啟動Windows命令提示符并將目錄更改為提取SQLite命令行工具的目錄。
運行以下命令序列:
sqlite3.exe database_name.db .mode insert .output database_dump.sql .dump .exit
現在你有一個包含dump數據庫表的SQL文件。如果運氣好的話,你則可以刪除事務語句,比如BEGIN TRANSACTION和ROLLBACK,并將文件導入到一個新的SQLite數據庫中,例如,使用SQLite數據庫瀏覽器。但由于該數據庫受損嚴重,所以我們必須手動檢查文件并將感興趣的表保存在單獨的SQL文件中。
例如,我們找到'accounts'表,它看起來像下面這樣:
CREATE TABLE accounts (_id INTEGER PRIMARY KEY AUTOINCREMENT,account_name TEXT, account_type TEXT, data_set TEXT); INSERT INTO accounts VALUES(1,’vnd.sec.contact.phone’,’vnd.sec.contact.phone’,NULL); INSERT INTO accounts VALUES(2,’primary.sim.account_name’,’vnd.sec.contact.sim’,NULL); INSERT INTO accounts VALUES(4,’vnd.sec.contact.agg.account_name’,’vnd.sec.contact.agg.account_type’,NULL); INSERT INTO accounts VALUES(506,’test@gmail.com’,’com.google’,NULL); INSERT INTO accounts VALUES(538,’WhatsApp’,’com.whatsapp’,NULL); INSERT INTO accounts VALUES(655,’test’,’com.yandex.passport’,NULL); INSERT INTO accounts VALUES(656,’+7 903 000-00-00′,’com.yandex.passport’,NULL); INSERT INTO accounts VALUES(657,’+7 925 000-00-00′,’com.yandex.passport’,NULL); INSERT INTO accounts VALUES(658,’+7 978 000-00-00′,’com.yandex.passport’,NULL); INSERT INTO accounts VALUES(672,’test’,’com.vkontakte.account’,NULL); INSERT INTO accounts VALUES(677,’+7 968 000-00-00′,’com.yandex.passport’,NULL); INSERT INTO accounts VALUES(687,’Youla account’,’com.allgotitm.youla’,NULL); INSERT INTO accounts VALUES(792,’+7 968 000-00-00′,’com.viber.voip’,NULL);
我們將它保存到一個單獨的SQL文件中,并使用SQLite數據庫瀏覽器創建數據庫。
創建過程如下:
打開SQLite數據庫瀏覽器。
從SQL文件轉到文件 - 導入 - 數據庫...
選擇SQL文件中你感興趣的表。
選擇要創建的數據庫的名稱。
現在你可以瀏覽數據并使用簡單的SQL查詢來導出數據。
恢復的表格
如果你想查看所有表格只需重復以上步驟即可。這個例子也向我們證明了,數字取證分析不能只依賴于取證工具,應該根據情況結合手動檢查的方式,這樣才能更準確的獲取和分析數據。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么對已損壞的SQLite數據庫取證分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。