Sploitus

Exploit for PCredz

kitploit · 2026-09-11

Exploit Code

MARKDOWN313 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-LGANDX-PCREDZ
# PCredz 2.1.0

PCredz 从网络流量(PCAP 文件或实时捕获)中提取凭据和认证令牌。

## 功能特性

### 支持协议

从 IPv4 和 IPv6 流量中提取凭据:

  * **NTLM** :来自 HTTP、SMB、LDAP、MSSQL、DCE-RPC 等的 NTLMv1/v2 哈希
  * **Kerberos** :AS-REQ 预认证(etype 23)哈希
  * **HTTP** :基本认证、表单字段(密码、API 密钥、令牌)
  * **FTP** :USER/PASS 命令
  * **IRC** :NICK/USER/PASS 认证
  * **SMTP** :AUTH PLAIN 和 AUTH LOGIN
  * **IMAP** :LOGIN 认证
  * **POP3** :USER/PASS 命令
  * **LDAP** :简单绑定(明文密码)
  * **SNMP** :团体字符串(v1/v2c)
  * **MSSQL** :TDS 协议认证
  * **信用卡** :卡号提取(可选)



### 输出格式

  * **Hashcat 兼容** :所有哈希已格式化,可直接用于 hashcat 
    * NTLMv1:`-m 5500`
    * NTLMv2:`-m 5600`
    * Kerberos:`-m 7500`
  * **组织化的日志** :每种凭据类型的单独文件位于 `logs/` 目录
  * **会话日志** :完整时间线记录在 `CredentialDump-Session.log`
  * **去重** :相同凭据只记录一次(除非使用 `-v` 标志)



### 链路层支持

  * **以太网** (DLT_EN10MB)
  * **Linux 粗捕获** (DLT_LINUX_SLL)
  * **原始 IP** (DLT_RAW)
  * **自动检测** 链路层类型



## 安装

### Docker(推荐)

root@kitploit:~
    
    
    # 构建容器
    docker build -t pcredz .
    
    # 挂载当前目录运行
    docker run --rm -v $(pwd):/data pcredz -f /data/capture.pcap
    
    # 实时捕获(需要 --net=host)
    docker run --rm --net=host -v $(pwd):/data pcredz -i eth0 -v
    

### Linux

**Debian/Ubuntu:**

root@kitploit:~
    
    
    sudo apt-get install python3-pip libpcap-dev
    pip3 install pcapy-ng
    

**Fedora/RHEL:**

root@kitploit:~
    
    
    sudo dnf install python3-pip libpcap-devel
    pip3 install pcapy-ng
    

**Arch Linux:**

root@kitploit:~
    
    
    sudo pacman -S python-pip libpcap
    pip3 install pcapy-ng
    

## 使用

### 基本示例

root@kitploit:~
    
    
    # 解析单个 PCAP 文件
    ./Pcredz -f capture.pcap
    
    # 递归解析目录中的所有 PCAP 文件
    ./Pcredz -d /path/to/pcap/directory/
    
    # 在接口上实时捕获(需要 root 权限)
    sudo ./Pcredz -i eth0
    
    # 详细模式(显示重复凭据)
    ./Pcredz -f capture.pcap -v
    
    # 自定义输出目录
    ./Pcredz -f capture.pcap -o /tmp/pcredz-output/
    

### 选项

root@kitploit:~
    
    
    必需(选择其一):
      -f FILE         要解析的 PCAP 文件
      -d DIR          要递归解析的目录
      -i INTERFACE    用于实时捕获的接口
    
    可选:
      -v              详细模式(打印重复凭据)
      -t              打印时间戳
      -o DIR          日志输出目录(默认:./)
      -c              禁用信用卡扫描
      --disable PROTO 禁用协议(可多次使用)
                       选项:NTLM, HTTP, FTP, IRC, LDAP, SMTP, Kerberos, SNMP, MSSQL
      --exclude-host IP  排除主机 IP(可多次使用)
      -h              显示帮助信息
    

### 输出文件

所有凭据保存到 `logs/` 目录:

root@kitploit:~
    
    
    logs/
    ├── NTLMv1.txt              # NTLMv1 哈希(hashcat -m 5500)
    ├── NTLMv2.txt              # NTLMv2 哈希(hashcat -m 5600)
    ├── MSKerb.txt              # Kerberos 哈希(hashcat -m 7500)
    ├── HTTP-Basic.txt          # HTTP 基本认证凭据
    ├── HTTP-PasswordFields.txt # HTTP 表单字段和 API 密钥
    ├── FTP-Plaintext.txt       # FTP 凭据
    ├── IRC-Plaintext.txt       # IRC 凭据
    ├── SMTP-Plaintext.txt      # SMTP 凭据
    ├── LDAP-Simple.txt         # LDAP 简单绑定凭据
    ├── MSSQL-Plaintext.txt     # MSSQL 凭据
    └── SNMPv1.txt              # SNMP 团体字符串
    

加上一个会话日志:

root@kitploit:~
    
    
    CredentialDump-Session.log  # 带时间戳的完整会话
    

## 示例

### 提取 NTLM 哈希

root@kitploit:~
    
    
    ./Pcredz -f capture.pcap
    
    # 输出:
    # 192.168.1.10:445 > 192.168.1.20:1024
    # NTLMv2 完整哈希为:admin::DOMAIN:1122334455667788:ABC123...
    
    # 配合 hashcat 使用:
    hashcat -m 5600 logs/NTLMv2.txt wordlist.txt
    

### 实时捕获

root@kitploit:~
    
    
    sudo ./Pcredz -i eth0 -v
    
    # 实时捕获并显示凭据
    # 按 Ctrl+C 停止
    

### 批量处理

root@kitploit:~
    
    
    # 处理目录树中的所有 PCAP
    ./Pcredz -d /forensics/network-captures/
    
    # 正在解析 /forensics/network-captures/day1/morning.pcap...
    # 正在解析 /forensics/network-captures/day1/afternoon.pcap...
    # ...
    

### 协议过滤

root@kitploit:~
    
    
    # 禁用特定协议(减少噪音)
    ./Pcredz -f capture.pcap --disable HTTP --disable SNMP
    
    # 仅捕获 NTLM 哈希
    ./Pcredz -f capture.pcap --disable HTTP --disable FTP --disable IRC \
      --disable LDAP --disable SMTP --disable Kerberos --disable SNMP --disable MSSQL
    
    # 仅关注明文凭据
    ./Pcredz -f capture.pcap --disable NTLM --disable Kerberos
    

### 主机排除

root@kitploit:~
    
    
    # 在实时捕获中排除自身 IP(常见用例)
    sudo ./Pcredz -i eth0 --exclude-host 192.168.1.50 -v
    
    # 排除多个主机
    ./Pcredz -f capture.pcap --exclude-host 192.168.1.100 --exclude-host 10.0.0.5
    
    # 渗透测试:捕获目标凭据,排除自身
    sudo ./Pcredz -i eth0 --exclude-host $(hostname -I | awk '{print $1}') -v
    

## 性能

### 优化

  * **文件 I/O 缓存** :避免重复文件读取(性能提升 10-100 倍)
  * **正则预编译** :编译模式缓存(性能提升 2-5 倍)
  * **智能去重** :内存中跟踪已见的凭据
  * **链路层检测** :自动检测并缓存偏移(开销极小)



### 基准测试

现代硬件上的典型性能:

  * **小文件** (<10MB):<1 秒
  * **中等文件** (100MB):5-10 秒
  * **大文件** (1GB+):1-2 分钟
  * **实时捕获** :5,000-10,000 个数据包/秒



## 故障排除

### pcapy-ng 未找到

root@kitploit:~
    
    
    pip3 install pcapy-ng
    # 如果失败:
    pip3 install --break-system-packages pcapy-ng
    

### 权限拒绝(实时捕获)

实时捕获需要 root 权限:

root@kitploit:~
    
    
    sudo ./Pcredz -i eth0
    

### 未找到凭据

  * 验证 PCAP 中包含预期的协议(使用 Wireshark)
  * 检查流量是否已加密(HTTPS、SSH 等)
  * 尝试详细模式(`-v`)查看所有活动
  * 检查链路层类型是否受支持



## 贡献

发现错误或想添加功能?欢迎贡献!

  1. 彻底测试你的更改
  2. 遵循现有代码风格
  3. 为新功能添加示例
  4. 更新文档



## 许可证

GNU General Public License v3.0

## 作者

**Laurent Gaffie**

  * 邮箱:some-email@example.com
  * X/Twitter:@secorizon
  * GitHub:lgandx/PCredz