pop-pentesting
$
npx mdskill add wgpsec/AboutSecurity/pop-pentestingExecute 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`,密码可能以明文记录在日志中。
获取服务器文件系统访问后,检查日志文件是否包含明文密码。