githacker-git-leak

$npx mdskill add wgpsec/AboutSecurity/githacker-git-leak

Recover deleted source code and hidden credentials from .git leaks.

  • Recovers stashed changes, branches, and reflogs from exposed repositories.
  • Integrates with GitHacker to brute-force access when directory listing is blocked.
  • Executes when HEAD or config endpoints return valid responses during reconnaissance.
  • Outputs recovered repository contents for credential and secret auditing.

SKILL.md

.github/skills/githacker-git-leakView on GitHub ↗
---
name: githacker-git-leak
description: "使用 GitHacker 利用 .git 目录泄露漏洞恢复目标源码。GitHacker 是多线程 .git 泄露利用工具,相比 git-dumper/GitHack 能恢复更完整的内容——包括 stash、所有分支、标签、reflog。即使目标禁用了目录列表(403),也能通过暴力枚举恢复分支和标签。当目标 /.git/HEAD 或 /.git/config 返回 200、目录列表中发现 .git/ 目录、或侦察阶段发现版本控制相关文件时使用此技能。恢复源码后可查找硬编码凭据、API Key、数据库连接串"
metadata:
  tags: "githacker,git,leak,泄露,源码,source-code,dump,recovery,web,信息泄露,.git,.git/HEAD,.git/config,git目录,版本控制,git-dumper,git-hack,源码恢复,提交历史,代码泄露"
  category: "tool"
---

# GitHacker .git 泄露利用

GitHacker 专注于 .git 目录泄露的**完整恢复**——不仅拿到源码,还能恢复 stash、所有分支/标签、reflog。开发者删过的密码和调试代码往往藏在这些地方。

项目地址:https://github.com/WangYihang/GitHacker

## 安装

```bash
pip install GitHacker
# 或
f8x -install githacker
```

## 基本用法

```bash
# 快速利用
githacker --url http://target/.git/ --output-folder result

# 暴力枚举分支/标签名(目标关闭目录列表时必须开启)
githacker --brute --url http://target/.git/ --output-folder result

# 批量目标(每行一个 URL)
githacker --brute --url-file websites.txt --output-folder result
```

## Docker 用法(推荐)

远程 .git 目录可能被植入恶意内容(如 hooks 脚本),在 Docker 中运行更安全:

```bash
docker run -v $(pwd)/results:/tmp/githacker/results \
  wangyihang/githacker \
  --brute --output-folder /tmp/githacker/results \
  --url http://target/.git/
```

## 恢复后审计流程

GitHacker 恢复的目录是一个完整的 git 仓库,可以直接用 git 命令审计:

```bash
cd result/target/

# 1. 查看提交历史(重点找被删除的敏感信息)
git log --oneline --all
git log -p --all -S "password"
git log -p --all -S "secret"
git log -p --all -S "flag"

# 2. 查看所有分支(开发/测试分支常有敏感信息)
git branch -a
git checkout dev       # 切到开发分支看看

# 3. 查看 stash(开发者暂存的修改)
git stash list
git stash show -p stash@{0}

# 4. 查看 reflog(找到被 reset 掉的提交)
git reflog
git show <commit-hash>

# 5. 搜索凭据
grep -rn "password\|secret\|token\|api_key\|flag{" .
```

## 与其他工具对比

| 能力 | GitHacker | git-dumper | GitHack |
|------|-----------|------------|---------|
| 源码恢复 | ✅ | ✅ | ✅ |
| Stash 恢复 | ✅ | ✅ | ❌ |
| 所有分支 | ✅(暴力枚举) | ❌ | ❌ |
| 所有标签 | ✅(暴力枚举) | ❌ | ❌ |
| Reflog | ✅ | ✅ | ❌ |
| 无目录列表 | ✅ | ✅ | ✅ |

git-dumper 适合快速拿源码;GitHacker 的 `--brute` 模式能覆盖更多分支和标签,适合深度审计。

## 决策树

```
发现 /.git/HEAD 返回 200?
├─ 目录列表开启(200)→ githacker 直接利用
├─ 目录列表关闭(403)→ githacker --brute(暴力枚举分支/标签)
├─ 需要快速拿源码 → git-dumper 也行
└─ 多个目标批量扫 → githacker --url-file websites.txt
```

More from wgpsec/AboutSecurity

SkillDescription
401-403-bypass401/403 访问拒绝绕过方法论。当遇到管理后台、API 端点返回 401/403 Forbidden 时使用。覆盖路径操纵、HTTP 方法篡改、Header 注入、协议降级、组合攻击
ad-acl-abuseActive Directory ACL 滥用攻击方法论。当 BloodHound 发现 GenericAll/WriteDACL/WriteOwner/GenericWrite/ForceChangePassword 等危险 ACE 时使用。覆盖 ACE 枚举、权限滥用链、Shadow Credentials、RBCD 攻击
ad-delegation-attackKerberos 委派攻击(非约束/约束/RBCD)。当 BloodHound 发现委派配置、或已获取有 SPN 的服务账号/机器账号控制权时使用。通过 S4U 协议滥用可实现跨服务模拟任意用户,常用于域内权限提升和横向移动。
ad-domain-attackActive Directory 域环境攻击全链路。当目标主机在域环境中(systeminfo 显示 Domain 非 WORKGROUP)、发现 88/389/636 端口、或获取到域用户凭据时使用。覆盖域信息收集、用户枚举、Kerberoasting、AS-REP Roasting、委派攻击、ACL 滥用、DCSync、Golden/Silver Ticket
ad-persistenceAD 域环境持久化技术。当已获取域管/本地管理员权限、需要建立持久访问以确保重启或密码更改后仍能回到目标环境时使用。覆盖主机级持久化(计划任务/注册表Run/COM劫持/WMI事件订阅/Windows服务/启动文件夹)、域级持久化(Golden Ticket/Silver Ticket/Skeleton Key/DSRM/AdminSDHolder)、DCShadow/GoldenGMSA高级技术、清理命令与检测规避
ad-trust-attack域信任关系攻击。当目标存在多域/多林环境时使用。包含父子域提权(Golden Ticket + ExtraSid)、跨林攻击(SID History/MSSQL Trust Links)、单向信任利用。已获取子域 Domain Admin 或发现信任关系时优先加载。
adcs-certipy-attackActive Directory Certificate Services (ADCS) 证书攻击。当发现域内有 CA 服务器、ADCS Web Enrollment、证书模板配置错误时使用。覆盖 ESC1-ESC11 所有证书滥用路径、Certipy 工具链、证书伪造、NTLM 中继到 ADCS。发现 ADCS/CA/证书/certsrv 相关内容时一定要使用此技能
adinfo-enum使用 Adinfo 进行 Active Directory 信息收集。当获得域用户凭据后需要快速收集域环境信息时使用。Adinfo 是一个快速 AD 信息收集工具,一条命令输出域控列表、域管用户、信任关系、GPO、SPN、委派配置等关键信息——比手动 LDAP 查询快得多。发现域环境后第一步信息收集使用此技能
agent-security|
ai-data-security|