
一款 Python 全能工具,用于在 Microsoft 远程桌面 Web 访问(RDWA)应用程序上提取信息、喷洒和暴力破解密码。
这款 Python 工具可以从 Microsoft 远程桌面 Web 访问(RDWA)应用程序中提取各种信息,例如远程服务器的 FQDN、内部 AD 域名(从 FQDN 解析得出)以及远程 Windows Server 版本。
$ rdwatool -h
____ ____ _ _____ __ __
/ __ \/ __ \ | / / | / /_____ ____ / /
/ /_/ / / / / | /| / / /| |/ __/ __ \/ __ \/ / @podalirius_
/ _, _/ /_/ /| |/ |/ / ___ / /_/ /_/ / /_/ / /
/_/ |_/_____/ |__/|__/_/ |_\__/\____/\____/_/ v2.0
用法: rdwatool recon [-h] [-tf TARGETS_FILE] [-tu TARGET_URLS] [-v] [--no-colors] [--debug] [-T THREADS] [-PI PROXY_IP] [-PP PROXY_PORT] [-rt REQUEST_TIMEOUT] [-k] [-L] [--export-xlsx EXPORT_XLSX] [--export-json EXPORT_JSON]
[--export-sqlite EXPORT_SQLITE]
选项:
-h, --help 显示此帮助信息并退出
-v, --verbose 详细模式。(默认:False)
--no-colors 禁用彩色输出。(默认:False)
--debug 调试模式,用于极详细输出。(默认:False)
-T THREADS, --threads THREADS
线程数(默认:250)
目标:
-tf TARGETS_FILE, --targets-file TARGETS_FILE
包含目标列表(每行一个)的文件路径。
-tu TARGET_URLS, --target-url TARGET_URLS
RDWA 登录页面的目标 URL。
高级配置:
-PI PROXY_IP, --proxy-ip PROXY_IP
代理 IP。
-PP PROXY_PORT, --proxy-port PROXY_PORT
代理端口。
-rt REQUEST_TIMEOUT, --request-timeout REQUEST_TIMEOUT
设置 HTTP 请求的超时时间。
-k, --insecure 允许使用 SSL 时连接不安全的服务器(默认:False)
-L, --location 跟随重定向(默认:False)
导出结果:
--export-xlsx EXPORT_XLSX
输出 XLSX 文件以存储结果。
--export-json EXPORT_JSON
输出 JSON 文件以存储结果。
--export-sqlite EXPORT_SQLITE
输出 SQLITE3 文件以存储结果。
在 recon 模式:
rdwatool recon -tf ./subdomains.txt

在 spray 模式:
rdwatool spray -tu https://rds.podalirius.net/RDWeb/Pages/en-US/login.aspx
在 brute 模式:
rdwatool brute -tu https://rds.podalirius.net/RDWeb/Pages/en-US/login.aspx
欢迎提交 Pull Request。如果您想添加其他功能,请随时提交 Issue。
在 Remote Desktop Web Access (RDWA) 应用程序的 login.aspx 页面上,有许多预填充的信息。在输入字段 WorkSpaceID 和/或 RedirectorName 中,我们可以找到远程服务器的 FQDN,而 WorkspaceFriendlyName 可能包含工作区的文本描述。
<form id="FrmLogin" name="FrmLogin" action="login.aspx?ReturnUrl=%2FRDWeb%2FPages%2Fen-US%2FDefault.aspx" method="post" onsubmit="return onLoginFormSubmit()">
<input type="hidden" name="WorkSpaceID" value="DC01.lab.local"/>
<input type="hidden" name="RDPCertificates" value="E7100C72B6C11A5D14DE115D801E100C79143C19"/>
<input type="hidden" name="PublicModeTimeout" value="20"/>
<input type="hidden" name="PrivateModeTimeout" value="240"/>
<input type="hidden" name="WorkspaceFriendlyName" value="Workspace%20friendly%20name%20or%20description"/>
<input type="hidden" name="EventLogUploadAddress" value=""/>
<input type="hidden" name="RedirectorName" value="DC01.lab.local"/>
<input type="hidden" name="ClaimsHint" value=""/>
<input type="hidden" name="ClaimsToken" value=""/>
<input name="isUtf8" type="hidden" value="1"/>
<input type="hidden" name="flags" value="0"/>
...
</form>
rdwatool 工具会自动解析此表单并提取所有信息。
如果远程 RDWeb 安装未加固,则默认版本图片文件 /RDWeb/Pages/images/WS_h_c.png 很可能仍然可访问(即使登录页面上没有链接)。这非常棒,因为我们可以直接将其 SHA256 哈希值与已知的该服务 Windows 横幅表进行比较:
rdwatool 工具会自动获取此文件并比较其哈希值,以获取远程 Windows Server 版本。
| Windows OS | SHA256 hash | Banner |
|---|
| Windows Server 2008 R2 | 5a8a77dc7ffd463647987c0de6df2c870f42819ec03bbd02a3ea9601e2ed8a4b | ![]() |
| Windows Server 2012 R2 | 4560591682d433c7fa190c6bf40827110e219929932dc6dc049697529c8a98bc | ![]() |
| Windows Server 2012 R2 | 3d9b56811a5126a6d3b78a692c2278d588d495ee215173f752ce4cbf8102921c | ![]() |
| Windows Server 2016 | fb1505aadeab42d82100c4d23d421f421c858feae98332c55a4b9595f4cea541 | ![]() |
| Windows Server 2016 | 3dbbeff5a0def7e0ba8ea383e5059eaa6acc37f7f8857218d44274fc029cfc4b | ![]() |
| Windows Server 2019 | 2da4eb15fda2b7c80a94b9b2c5a3e104e2a9a2d9e9b3a222f5526c748fadf792 | ![]() |
| Windows Server 2022 | 256a6445e032875e611457374f08acb0565796c950eb9c254495d559600c0367 | ![]() |