
.NET 4.0 CLR Project per recuperare dati di Chromium, come cookie, cronologia e login salvati.
SharpChromium è un progetto .NET 4.0+ CLR per recuperare dati da Google Chrome, Microsoft Edge e Microsoft Edge Beta. Attualmente può estrarre:
Nota: Tutti i cookie restituiti sono in formato JSON. Se hai installata l'estensione Cookie Editor, puoi semplicemente copiare e incollare nella sezione "Import" di questo addon del browser per utilizzare la sessione estratta.
Questa riscrittura ha diversi vantaggi rispetto alle implementazioni precedenti, che includono:
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""
Recupera i cookie associati a Google Docs e Github
.\SharpChromium.exe cookies docs.google.com github.com

Recupera gli elementi della cronologia e i loro cookie associati.
.\SharpChromium.exe history

Recupera gli accessi salvati (Nota: Mostra solo quelli con password non vuote):
.\SharpChromium.exe logins

Il parser del database SQLite è leggermente difettoso. Ciò è dovuto al fatto che il parser rileva correttamente i blob di dati come tipo System.Byte[], ma non rileva correttamente le colonne di tipo System.Byte[]. Di conseguenza, gli array di byte vengono convertiti nella stringa letterale "System.Byte[]", che è sbagliata. Non sono ancora arrivato alla radice di questo problema, ma come soluzione rapida e sporca ho codificato tutti i valori blob come stringhe Base64. Quindi, se desideri recuperare un valore da una colonna i cui dati regolari sarebbero un array di byte, dovrai prima decodificarli in Base64.
Un grande ringraziamento a @plainprogrammer per il loro progetto C#-SQLite che ha permesso il parsing nativo dei file SQLite senza dover caricare riflessivamente una DLL. Senza il loro lavoro questo progetto non sarebbe neanche lontanamente pulito come è. Il progetto si trova qui: https://github.com/plainprogrammer/csharp-sqlite
Grazie a @gentlekiwi il cui lavoro su Mimikatz ha guidato la riscrittura per lo schema di decifratura in v80+
Grazie a @harmj0y che ha estratto il codice PInvoke BCrypt necessario così ho potuto rimuovere dipendenze aggiuntive da questo progetto, rendendolo di nuovo leggero.