pop-pentesting

$npx mdskill add wgpsec/AboutSecurity/pop-pentesting

Execute POP3 penetration tests on 110/995 ports to extract credentials and emails.

  • Automates service discovery, banner analysis, and credential cracking.
  • Integrates with Nmap scripts, Metasploit modules, and hydra tools.
  • Decides execution based on detected open ports and vulnerability signatures.
  • Delivers structured reports of extracted emails, passwords, and server details.

SKILL.md

.github/skills/pop-pentestingView on GitHub ↗
---
name: pop-pentesting
description: |
  POP3 邮件服务(110/995 端口)渗透测试方法论。涵盖 POP3 服务发现、Banner 信息提取、凭据爆破、邮件内容提取、已知漏洞利用。
  当 Agent 扫描发现 110 或 995 端口开放、需要测试邮件服务认证强度、枚举邮件内容、或利用 POP3 服务漏洞时,触发此 Skill。
metadata:
  tags:
    - pop3
    - 邮件
    - 110端口
    - 995端口
    - 邮件提取
  category: exploit/network-service
---

# POP3 邮件渗透测试方法论 (110/995)

## 深入参考

- POP3 命令语法、邮件提取脚本、NTLM 信息泄露详情 -> 读 [references/pop-techniques.md](references/pop-techniques.md)

---

## 整体决策树

```
发现 110/995 端口开放
├─ Phase 1: 服务发现
│   ├─ Banner 抓取 -> 识别邮件服务软件与版本
│   ├─ 110 (明文) vs 995 (SSL/TLS)
│   └─ Nmap 脚本 -> 能力枚举 / NTLM 信息泄露
├─ Phase 2: Banner 信息分析
│   ├─ 邮件服务器类型 (Dovecot / Exchange / JAMES / Zimbra)
│   ├─ NTLM 信息 -> Windows 版本、域名、主机名
│   └─ CAPA 命令 -> 支持的功能列表
├─ Phase 3: 凭据爆破
│   ├─ hydra / medusa / ncrack
│   ├─ Metasploit pop3_login
│   └─ 默认凭据 / 弱密码
├─ Phase 4: 邮件提取
│   ├─ 登录后列出邮件 (LIST / STAT)
│   ├─ 下载邮件内容 (RETR)
│   ├─ 搜索敏感信息 (凭据、VPN配置、内部链接)
│   └─ TOP 命令预览邮件头
└─ Phase 5: 已知漏洞
    ├─ 服务器特定 CVE
    ├─ 密码日志泄露 (auth_debug_passwords)
    └─ searchsploit <pop3_server> <version>
```

---

## Phase 1: 服务发现

### 1.1 Banner 抓取

```bash
# 明文 POP3 (110)
nc -nv <IP> 110

# SSL/TLS POP3 (995)
openssl s_client -connect <IP>:995 -crlf -quiet
```

### 1.2 Nmap 枚举

```bash
# POP3 能力与 NTLM 信息
nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -p 110 <IP>
```

`pop3-ntlm-info` 脚本可泄露 Windows 版本等敏感信息。

### 1.3 Metasploit 版本探测

```bash
msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS <IP>; set RPORT 110; run; exit'
```

---

## Phase 2: Banner 信息分析

### 2.1 CAPA 命令

```bash
# 连接后发送 CAPA 获取服务能力
CAPA
# 返回支持的扩展 (如 STLS, SASL, PIPELINING)
```

### 2.2 信息分析决策树

```
Banner 分析
├─ 识别邮件服务器
│   ├─ Dovecot -> Linux 邮件服务器
│   ├─ Microsoft Exchange -> Windows 域环境
│   ├─ JAMES -> Java 邮件服务器
│   └─ Zimbra -> Web 邮件套件
├─ NTLM 信息泄露 (Exchange)
│   ├─ Windows 版本
│   ├─ 域名
│   └─ 主机名
└─ STLS 支持
    ├─ 支持 -> 可升级到 TLS (STARTTLS)
    └─ 不支持 -> 明文传输 (嗅探风险)
```

---

## Phase 3: 凭据爆破

### 3.1 爆破工具

```bash
# hydra
hydra -l <username> -P <password_list> -f <IP> pop3 -V
hydra -l <username> -P <password_list> -f <IP> -s 995 pop3s -V

# medusa
medusa -h <IP> -u <username> -P <password_list> -M pop3

# ncrack
ncrack -p 110 --user <username> -P <password_list> <IP>
```

### 3.2 凭据来源决策树

```
凭据获取路径
├─ 已知用户名 (从 SMTP VRFY / LDAP / Web 枚举获得)
│   ├─ 密码爆破 (hydra / medusa)
│   └─ 密码喷洒 (单密码多用户)
├─ 邮箱格式推断
│   ├─ 企业邮箱: first.last@domain.com
│   └─ 构造用户名列表
└─ 默认凭据
    └─ admin / test / user + 常见弱密码
```

---

## Phase 4: 邮件提取

### 4.1 POP3 命令操作

```bash
# 登录
USER <username>
PASS <password>

# 邮箱状态 (邮件数量和总大小)
STAT

# 列出所有邮件 (编号和大小)
LIST

# 预览邮件头 (不下载全部)
TOP <msg_number> 0

# 下载完整邮件
RETR <msg_number>

# 标记删除
DELE <msg_number>

# 取消删除
RSET

# 退出
QUIT
```

### 4.2 邮件内容分析

```
邮件提取后关注内容
├─ 密码 / 凭据
│   ├─ 明文密码 (密码重置邮件)
│   ├─ VPN / SSH 配置文件
│   └─ API Key / Token
├─ 内部信息
│   ├─ 内网 IP / 主机名
│   ├─ 内部系统 URL
│   └─ 组织架构信息
├─ 附件
│   ├─ 文档 (可能含宏)
│   └─ 配置文件
└─ 社会工程素材
    └─ 邮件模板 / 签名格式 -> 钓鱼攻击
```

### 4.3 完整操作示例

```bash
# Telnet 连接示例
telnet <IP> 110
+OK POP3 server ready
USER billydean
+OK
PASS password
+OK Welcome billydean

LIST
+OK 2 1807
1 786
2 1021

RETR 1
+OK Message follows
From: admin@company.com
...
```

---

## Phase 5: 已知漏洞

### 5.1 漏洞检测决策树

```
POP3 服务版本已知
├─ Dovecot
│   └─ searchsploit dovecot
├─ Microsoft Exchange
│   └─ ProxyLogon / ProxyShell 系列 (通过 HTTP 入口)
├─ JAMES 2.x
│   └─ 默认凭据 + RCE
├─ Zimbra
│   └─ CVE-2022-27925 / CVE-2022-37042 等
└─ 通用
    └─ searchsploit pop3
```

### 5.2 密码日志泄露

某些 POP 服务器启用 `auth_debug` 配置会增加日志。如果 `auth_debug_passwords` 或 `auth_verbose_passwords` 设为 `true`,密码可能以明文记录在日志中。

获取服务器文件系统访问后,检查日志文件是否包含明文密码。

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|