Git
Tip
AWS 해킹 배우기 및 연습하기:
HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
URL에서 .git 폴더를 덤프하려면 다음을 사용하세요 https://github.com/arthaud/git-dumper
내용을 검사하려면 https://www.gitkraken.com/ 사용하세요
웹 애플리케이션에서 .git 디렉터리가 발견되면 wget -r http://web.com/.git. 명령으로 모든 내용을 다운로드할 수 있습니다. 그런 다음 git diff 로 변경 사항을 확인할 수 있습니다.
다음 도구들: Git-Money, DVCS-Pillage 및 GitTools 는 git 디렉터리의 콘텐츠를 가져오는 데 사용할 수 있습니다.
도구 https://github.com/cve-search/git-vuln-finder 는 커밋 메시지 내부에서 CVEs 및 보안 취약성 관련 메시지를 검색하는 데 사용할 수 있습니다.
도구 https://github.com/michenriksen/gitrob 는 조직 및 구성원의 저장소에서 민감한 데이터를 검색합니다.
Repo security scanner 는 커맨드라인 기반 도구로, 한 가지 목표로 작성되었습니다: 개발자가 민감한 데이터를 푸시하여 실수로 노출한 GitHub 비밀을 찾아내는 것을 돕기 위해서입니다. 다른 도구들처럼 비밀번호, 개인 키, 사용자 이름, 토큰 등도 찾아줍니다.
여기에서 github dorks에 대한 연구를 확인할 수 있습니다: https://securitytrails.com/blog/github-dorks
Faster /.git dumping & dirlisting bypass (2024–2026)
- holly-hacker/git-dumper 는 classic GitTools dumper를 병렬 페칭으로 재작성한 2024년 버전입니다 (>10x 속도 향상). 예:
python3 git-dumper.py https://victim/.git/ out && cd out && git checkout -- . - Ebryx/GitDump 는
.git/index,packed-refs등에서 object 이름을 brute-forces하여 디렉터리 트래버설이 비활성화된 경우에도 리포지토리를 복구합니다:python3 git-dump.py https://victim/.git/ dump && cd dump && git checkout -- .
빠른 덤프 후 트리아지
cd dumpdir
# reconstruct working tree
git checkout -- .
# show branch/commit map
git log --graph --oneline --decorate --all
# list suspicious config/remotes/hooks
git config -l
ls .git/hooks
비밀/자격증명 검색 (현재 도구)
- TruffleHog v3+: 엔트로피+정규표현식 및 자동 Git 히스토리 탐색.
trufflehog git file://$PWD --only-verified --json > secrets.json - Gitleaks (v8+): 빠른 정규식 규칙세트로, 압축 풀린 트리 또는 전체 히스토리를 스캔할 수 있음.
gitleaks detect -v --source . --report-format json --report-path gitleaks.json
서버 측 Git 통합 RCE (hooksPath override 이용)
Git 저장소를 통합하는 현대 웹 애플리케이션은 때때로 사용자 제어 식별자(user-controlled identifiers)를 사용해 .git/config을 재작성합니다. 이러한 식별자가 hooksPath에 연결되면, Git 훅을 공격자가 제어하는 디렉터리로 리다이렉트하여 서버가 네이티브 Git을 실행할 때(예: git commit) 임의 코드를 실행할 수 있습니다. 주요 단계:
- Path traversal in
hooksPath: repo 이름/의존성 이름이hooksPath에 복사되는 경우 의도된 훅 디렉터리에서 탈출하기 위해../../..을 주입하여 쓰기가 가능한 위치를 가리키게 합니다. 이는 Git config에서 사실상 path traversal과 같습니다. - Force the target directory to exist: 애플리케이션이 서버 측에서 clone을 수행할 때 clone 대상 제어(ref/branch/path 파라미터 등)를 악용해
../../git_hooks같은 경로로 clone하게 만들어 중간 폴더들이 생성되도록 합니다. - Ship executable hooks: Git 메타데이터 내에서 실행 비트를 설정해 모든 clone이 훅을
100755모드로 쓰도록 합니다:
git update-index --chmod=+x pre-commit
해당 리포지토리의 pre-commit/post-commit에 페이로드(reverse shell, file dropper 등)를 추가합니다.
- Find a native Git code path: JGit 같은 라이브러리는 훅을 무시합니다. 실제로 훅이 실행되도록 system Git으로 폴백하는 배포 흐름/플래그(예: deploy-with-attached-repo 파라미터)를 찾아보세요.
- Race the config rewrite: 애플리케이션이 Git 실행 직전에
.git/config를 정리하는 경우, 악성hooksPathを書き込む 엔드포인트를 스팸하면서 Git 동작을 트리거해 race condition을 이기고 훅을 실행되게 합니다.
References
- holly-hacker/git-dumper – parallel fast /.git dumper
- Ebryx/GitDump
- LookOut: RCE and internal access on Looker (Tenable)
Tip
AWS 해킹 배우기 및 연습하기:
HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.


