
Projeto .NET 4.0 CLR para recuperar dados do Chromium, como cookies, histórico e logins salvos.
SharpChromium é um projeto .NET 4.0+ CLR para recuperar dados do Google Chrome, Microsoft Edge e Microsoft Edge Beta. Atualmente, pode extrair:
Nota: Todos os cookies retornados estão em formato JSON. Se você tiver a extensão Cookie Editor instalada, basta copiar e colar na seção "Importar" deste complemento do navegador para usar a sessão extraída.
Esta reescrita tem várias vantagens em relação às implementações anteriores, que incluem:
Usage:
.\SharpChromium.exe arg0 [arg1 arg2 ...]
Arguments:
all - Retrieve all Chromium Cookies, History and Logins.
full - The same as 'all'
logins - Retrieve all saved credentials that have non-empty passwords.
history - Retrieve user's history with a count of each time the URL was
visited, along with cookies matching those items.
cookies [domain1.com domain2.com] - Retrieve the user's cookies in JSON format.
If domains are passed, then return only
cookies matching those domains. Otherwise,
all cookies are saved into a temp file of
the format ""%TEMP%\$browser-cookies.json""
Recuperar cookies associados ao Google Docs e Github
.\SharpChromium.exe cookies docs.google.com github.com

Recuperar itens do histórico e seus cookies associados.
.\SharpChromium.exe history

Recuperar logins salvos (Nota: Exibe apenas aqueles com senhas não vazias):
.\SharpChromium.exe logins

O analisador do banco de dados SQLite está ligeiramente com bugs. Isso se deve ao fato de que o analisador detecta corretamente os blobs de dados como tipo System.Byte[], mas não detecta corretamente colunas do tipo System.Byte[]. Como resultado, os arrays de bytes são convertidos para a string literal "System.Byte[]", o que está errado. Ainda não cheguei à raiz dessa causa, mas como solução rápida e suja, codifiquei todos os valores blob como strings Base64. Portanto, se você deseja recuperar um valor de uma coluna cujos valores regulares seriam um array de bytes, precisará decodificá-los em Base64 primeiro.
Um grande agradecimento a @plainprogrammer pelo seu projeto C#-SQLite que permitiu a análise nativa dos arquivos SQLite sem ter que carregar uma DLL reflexivamente. Sem o trabalho deles, este projeto não estaria nem perto de ser tão limpo quanto é. Esse projeto pode ser encontrado aqui: https://github.com/plainprogrammer/csharp-sqlite
Agradecimentos a @gentlekiwi cujo trabalho no Mimikatz guiou a reescrita para o esquema de descriptografia na v80+
Agradecimentos a @harmj0y que extraiu o código PInvoke BCrypt necessário para que eu pudesse remover dependências adicionais deste projeto, tornando-o novamente leve.