
Инструмент разведки Personal Access Token (PAT) для баг-хантеров, пентестеров и ред-тим

Вы когда-нибудь находили персональный токен доступа (PAT) GitHub или NPM и задавались вопросом: «Действителен ли он?» или «Интересно, что с ним мог бы сделать злоумышленник?» Если да, то у меня есть для вас инструмент!
Представляем gimmePatz — комплексный инструмент разведки для PAT. gimmePATz сообщит вам, действителен ли PAT и что это за тип PAT. Он предоставляет информацию об учётной записи пользователя, создавшего PAT, включая организации, в которых состоит этот пользователь, и количество его подписчиков. gimmePATz покажет, какие области действия (scopes) есть у PAT и к каким переменным или секретам имеет доступ PAT. gimmePATz также перечислит репозитории, NPM-пакеты и организации GitHub, к которым привязан PAT, и точно укажет, какие права доступа имеет PAT к каждому ресурсу. Этот инструмент предназначен для специалистов по наступательной безопасности, таких как охотники за багами, пентестеры и red team. Используя этот инструмент, вы соглашаетесь использовать его в законных целях.
Вы можете указать gimmePATz на файл, и он найдёт все PAT в этом файле и сообщит, действительны ли они. gimmepatz также поддерживает вывод в JSON, поэтому вы можете сохранить результат в JSON и/или передать вывод gimmePATz в другие инструменты, например jq. Примеры различных способов использования gimmePATz вы можете найти в разделе «Расширенное использование» ниже.
gimmepatz.py TOKEN
requests # pip install requestsgit (для скачивания репозиториев)# Discover secrets and variables
gimmepatz.py TOKEN --variables
# Include organization repositories
gimmepatz.py TOKEN --org GITHUB_ORGANIZATION
# JSON output for scripting
gimmepatz.py TOKEN --json
# Combined: organization repos + JSON output
gimmepatz.py TOKEN --org GITHUB_ORGANIZATION --json
# Save the output of gimmePATz in JSON output to a file
gimmepatz.py TOKEN --variables --org target-org --json > assessment.json
# Download all accessible repositories
gimmepatz.py TOKEN --download
# Download only private repositories
gimmepatz.py TOKEN --download --download-type private
# Custom download location
gimmepatz.py TOKEN --download --download-path ./target-repos
# Scan a file to see if it has any PATs in it
gimmepatz.py --scan ./example-file.json
Клонируйте или скачайте скрипт
git clone https://github.com/6mile/gimmepatz.git
cd ./gimmepatz/ && chmod u+x ./gimmepatz.py
| Параметр | Описание |
|---|---|
--json | Выводить результаты в формате JSON |
--variables, --var | Перечислять переменные и секреты GitHub |
--var-target | Целевая область действия: all, user, repo, org |
--var-name | Конкретное имя репозитория или организации |
--download | Скачать все доступные репозитории |
--download-path | Пользовательский каталог для скачивания (по умолчанию: repos) |
--download-type | Фильтр: all, private, public |
--org | Включить анализ конкретной организации GitHub |
--debug | Включить подробный отладочный вывод |
--scan | Сканировать локальные файлы на наличие PAT |
_ ______ ___ _____
(_) | ___ \/ _ \_ _|
__ _ _ _ __ ___ _ __ ___ ___| |_/ / /_\ \| |____
/ _` | | '_ ` _ \| '_ ` _ \ / _ \ __/| _ || |_ /
| (_| | | | | | | | | | | | | __/ | | | | || |/ /
\__, |_|_| |_| |_|_| |_| |_|\___\_| \_| |_/\_/___|
__/ |
|___/ "Personal Access Token recon tool"
----------------------------------------------------
by @6mile
✅ Token is valid
👤 Authenticated as: octocat
Name: Octocat Maclean
Account type: User
Public repos: 4
Private repos: 3
Followers: 9714
Following: 731
🏢 Organization Memberships (2 total):
👤 Space-Force-Beta (member)
Name: Space-Force-Beta
Description: Building cool stuff for space
Public repos: 2
Private repos: 1
URL: https://github.com/Space-Force-Beta
👑 ThrifyBank (admin)
Description: The thriftiest Neo Bank in Kansas!
Public repos: 1
Private repos: 5
URL: https://github.com/thrifybank-kansas
🔑 Token Scopes (14 total):
• codespace:secrets
• notifications
• read:audit_log
• read:discussion
• read:enterprise
• read:org
• read:packages
• read:project
• read:public_key
• read:repo_hook
• read:user
• repo
• user:email
• workflow
Scope Descriptions:
--------------------------------------------------
repo: Full access to repositories
user: Access to user profile information
notifications: Access to notifications
📊 Rate Limit Status:
Limit: 5000
Remaining: 4999
Reset time: 1234567890
📁 Accessible Repositories:
Found 25 accessible repositories:
• 15 private repositories
• 10 public repositories
🔒 Private Repositories (9):
📂 octocat (3 private repos):
• octocat/internal-api (admin)
• octocat/database (admin)
• octocat/external-api (admin)
📂 Space-Force-Beta (1 private repos):
• Space-Force-Beta/destrukto-beam (admin)
📂 ThriftyBank (5 private repos):
• thriftybank-kansas/web (admin)
• thriftybank-kansas/docker (admin)
• thriftybank-kansas/database-int (admin)
• thriftybank-kansas/bank-vault (admin)
• thriftybank-kansas/SAAS-PORTAL (admin)
🔓 Public Repositories (7):
📂 octocat (4 public repos):
• octocat/sdk (admin)
• octocat/helpdesk-docs (admin)
• octocat/aws-sdk-helpers (admin)
• octocat/stinkyCaptain (admin)
📂 Space-Force-Beta (1 public repos):
• Space-Force-Beta/destrukto-beam (admin)
📂 thrifybank-kansas (1 public repos):
• thrifybank-kansas/node-restify (admin)