Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
gitGraber — gitGraber: 다양한 온라인 서비스(Google, Amazon, Paypal, Github, Mailgun, Facebook, Twitter, Heroku, Stripe...)에 대해 실시간으로 GitHub를 모니터링하여 민감한 데이터를 검색하고 찾아냅니다. | Kitploit
도구/GitHubGitHub/hisxo/gitgraber
OSINT (Open Source Intelligence)Vulnerability AnalysisInformation GatheringSecret Detection
GitHubhisxo/gitgraber

gitGraber

gitGraber: 다양한 온라인 서비스(Google, Amazon, Paypal, Github, Mailgun, Facebook, Twitter, Heroku, Stripe...)에 대해 실시간으로 GitHub를 모니터링하여 민감한 데이터를 검색하고 찾아냅니다.

저장소 보기
2.3k356155개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

gitgraberlogo

made with python 3.x

gitGraber 소개

gitGraber는 Python3로 개발된 도구로, GitHub를 모니터링하여 Google, Amazon (AWS), Paypal, Github, Mailgun, Facebook, Twitter, Heroku, Stripe, Twilio 등의 다양한 온라인 서비스에서 실시간으로 민감한 데이터를 검색하고 찾습니다.

demo

작동 방식

gitGraber는 리포지토리의 기록을 확인하도록 설계되지 않았다는 점을 이해하는 것이 중요합니다. 많은 도구가 이미 이를 훌륭하게 수행할 수 있습니다. gitGraber는 원래 GitHub에서 마지막으로 인덱싱된 파일을 모니터링하고 파싱하기 위해 개발되었습니다. gitGraber가 흥미로운 내용을 찾으면 Slack 채널로 알림을 받게 됩니다. 명령줄에서 직접 결과를 확인하는 용도로도 사용할 수 있습니다.

경험상, 유출은 조직 자체에서만 발생하는 것이 아니라, 반드시 특정 조직에서 일한다는 '프로필'을 가지고 있지 않은 서비스 제공업체와 직원으로부터도 발생한다고 확신합니다.

정규식은 가능한 한 정확해야 합니다. 때로는 오탐지가 발생할 수 있으니, 리콘을 개선하고 패턴 탐지를 위한 새 정규식을 추가하는 데 기여해 주시기 바랍니다.

gitGraber가 찾을 수 있지만 모니터링에 관련이 없는 '표준' API 키마다 알림을 보내는 대신 오탐지를 줄이는 것을 선호합니다.

자주 묻는 질문 (FAQ)

출력에서 "Github query"와 "Status code : 200"만 보이는 이유는?

gitGraber는 CLI에 몇 가지 내용을 직접 표시합니다: GitHub 요청, 상태 코드 남용 탐지(200 또는 403)... 그리고 [+] POSSIBLE FOO TOKEN FOUND 같은 내용이 보이지 않는다면, 이는 단순히 gitGraber가 정의된 키워드에 대해 비밀 토큰을 찾지 못했다는 의미입니다.

"Abuse detection reached for token" 오류 메시지에 대해

이 메시지는 GitHub에서 사용자의 GitHub 토큰으로부터 많은 수의 요청을 감지할 때 나타납니다. 걱정하지 마세요. gitGraber는 이를 처리할 수 있으며 config.py 파일에 정의된 다른 토큰을 사용하려고 시도합니다. 참고: 이는 일시적인 제한이며 새 토큰을 만들 필요가 없습니다.

gitGraber를 실행할 때마다 동일한 리포지토리에서 동일한 토큰을 받게 되나요?

아니요. 이를 방지하기 위해 gitGraber는 모든 리포지토리 URL을 rawGitUrls.txt 파일에 저장합니다. 이미 gitGraber가 스캔하여 API 키를 찾은 리포지토리는 알림을 받지 않습니다.

특정 토큰에 대해 블랙리스트 패턴을 설정하려면 어떻게 하나요?

tokens.py 파일을 편집하고 토큰을 초기화할 때 패턴을 리스트 인수로 추가해야 합니다. 예를 들어, MAILCHIMP 토큰에 XXXX 패턴을 추가하려면 tokensList.append(Token('MAILCHIMP', '\W(?:[a-f0-9]{32}(-us[0-9]{1,2}))\W')) 행을 tokensList.append(Token('MAILCHIMP', '\W(?:[a-f0-9]{32}(-us[0-9]{1,2}))\W', ['XXXX']))로 변경합니다.

사용법

root@kitploit:~
usage: gitGraber.py [-h] [-k KEYWORDSFILE] [-q QUERY] [-s] [-w WORDLIST]

optional arguments:
  -h, --help                              Show this help message and exit
  -k KEYWORDSFILE, --keyword KEYWORDSFILE Specify a keywords file (-k keywordsfile.txt)
  -q QUERY, --query QUERY                 Specify your github query (-q "apikey")
  -m, --monitor                           Enable monitoring of your search query by creating cron job [Every 30 mins]
  -d, --discord                           Enable discord notifications
  -s, --slack                             Enable slack notifications
  -tg, --telegram                         Enable telegram notifications
  -w WORDLIST, --wordlist WORDLIST        Create a wordlist that fills dynamically with discovered filenames on GitHub
  -l LIMIT_DAYS, --limit LIMIT_DAYS       Limit the results to commits less than N days old

예를 들어, GitHub에서 특정 단어를 keywordsfile.txt 파일의 각 단어와 조합하여 검색하고 Slack으로 출력하려면:

root@kitploit:~
python3 gitGraber.py -k keywordsfile.txt -q YOURWORD -s

예를 들어 특정 도메인 이름을 검색할 수도 있으며, 이때는 큰따옴표로 묶어야 합니다:

root@kitploit:~
python3 gitGraber.py -k keywordsfile.txt -q \"yahoo.com\" -s

GitHub에서 발견된 파일을 기반으로 사용자 정의 워드리스트를 만들어 나중에 즐겨 사용하는 퍼징 도구와 함께 사용하려면 -w 인수를 추가하세요:

root@kitploit:~
python3 gitGraber.py -k keywordsfile.txt -q \"yahoo.com\" -s -w mysuperwordlist.txt

검색 쿼리를 30분마다 모니터링하려면 -m 플래그를 사용하여 gitGraber가 해당 쿼리에 대한 cron 작업을 생성하도록 할 수 있습니다:

root@kitploit:~
python3 gitGraber.py -k keywordsfile.txt -q \"yahoo.com\" -s -m

위 명령은 30분마다 검색 쿼리에서 비밀을 검색하고, 일치하는 항목이 있을 때마다 Slack 알림을 보냅니다.

의존성

gitGraber는 일부 의존성이 필요합니다. 환경에 설치하려면:

pip3 install -r requirements.txt

설정

gitGraber를 시작하기 전에 설정 파일 config.py를 수정해야 합니다:

  • 자신의 GitHub 토큰 (Personal access tokens) 추가: GITHUB_TOKENS = ['yourToken1Here','yourToken2Here']
  • 자신의 Discord Webhook 추가: DISCORD_WEBHOOKURL = 'https://discordapp.com/api/webhooks/7XXXX/XXXXXX'
  • 자신의 Slack Webhook 추가: SLACK_WEBHOOKURL = 'https://hooks.slack.com/services/TXXXX/BXXXX/XXXXXXX'
  • 자신의 Telegram 설정 추가: TELEGRAM_CONFIG = { "token": "XXXXX:xXXXXXXXXXXXXX", "chat_id": -99999999 }

gitGraber 시작: python3 gitGraber.py -k wordlists/keywords.txt -q "uber" -s

지원되는 API 키 및 서비스는? (마지막 업데이트: 2019년 9월 12일)

현재 gitGraber는 31개의 다양한 토큰을 지원합니다. 이러한 탐지 모델(정규식)은 모두 tokens.py 파일에 저장되어 있습니다:

  • AWS
  • FACEBOOK
  • GITHUB_CLIENT_SECRET
  • GOOGLE_SECRET
  • GOOGLE_URL
  • GOOGLE_FIREBASE_OR_MAPS
  • GOOGLE_OAUTH_ACCESS_TOKEN
  • HEROKU
  • JSON_WEB_TOKEN
  • MAILCHIMP
  • MAILGUN
  • PAYPAL
  • PRIVATE_SSH_KEY
  • PRIVATE_RSA_KEY
  • PRIVATE_DSA_KEY
  • PRIVATE_EC_KEY
  • PRIVATE_PGP_KEY
  • PRIVATE_OPENSSH_KEY
  • SENDGRID_API_KEY
  • SENSITIVE_URL
  • SLACK_V2
  • SLACK_V1
  • SLACK_WEBHOOK_URL
  • SQUARE_APP_SECRET
  • SQUARE_PERSONAL_ACCESS_TOKEN
  • STRIPE_LIVE_SECRET_KEY
  • STRIPE_LIVE_RESTRICTED_KEY
  • TWITTER
  • TWILIO_AUTH
  • TWILIO_SID
  • TWILIO_API_KEY

단어 목록 및 리소스

일부 단어 목록 및 정규식은 직접 작성했으며, 다른 일부는 다른 리포지토리/연구자에게서 영감을 받았습니다:

  • 링크 : https://gist.github.com/nullenc0de/fa23444ed574e7e978507178b50e1057
  • 링크 : https://github.com/streaak/keyhacks
  • 링크 : https://mathiasbynens.be/demo/url-regex

TODO

  • 오탐지 탐지 추가
  • 결과만 출력하는 인수 추가 (상태 코드 등 숨기기)
  • 이중 토큰(Twilio 같은 서비스)에 대해 한 번만 알림 보내기
  • 인수에 정의된 날짜보다 오래된 커밋일 경우에만 알림을 보내도록 필터링
  • "커밋 날짜" 알림 개선하여 "[+] Commit date (5 days ago)" 같은 형식으로 표시
  • 결과를 파일로 출력하는 인수 추가
  • 멀티 스레드 추가
  • 토큰 정리 출력 개선
  • "콤보 확인" 모듈 추가 (Twilio처럼 두 개의 토큰이 필요한 서비스용)
  • 알림에 사용자 및 조직 이름 표시
  • 커밋 날짜 추가
  • 비율 제한 관리

저자

  • Reptou - 트위터 : @R_Marot
  • Hisxo - 트위터 : @adrien_jeanneau

기여자

gitGraber 개선에 기여해 주신 분들께 감사드립니다:

  • @Darkpills
  • @gwendallecoguic
  • @overjt
  • @Abss0x7tbh
  • @PatrikHudak

면책 조항

이 프로젝트는 교육 및 윤리적 테스트 목적으로만 제작되었습니다. 사전 상호 동의 없이 대상을 공격하기 위해 이 도구를 사용하는 것은 불법입니다. 개발자는 어떠한 책임도 지지 않으며, 이 도구로 인한 오용이나 피해에 대해 책임을 지지 않습니다.

도구 다운로드
서비스링크
GitHubGitHub API 토큰 생성 방법
DiscordDiscord Webhook URL 생성 방법
SlackSlack Webhook URL 생성 방법
TelegramTelegram 봇 생성 방법