该扫描器有两种工作模式:
使用 https://github.com/MalwareTech/RDGScanner 的漏洞扫描代码
扫描内存破坏漏洞非常危险,可能导致系统崩溃。 尽管此工具设计为尽量避免引发崩溃,但稳定性无法 100% 保证。 请自行承担风险,并且只扫描您有权测试的系统。
扫描器支持多线程,能够解析包含 CIDR 子网掩码的文件,但对于更大的网络,您可能仍希望先使用 nmap 查找开放的 UDP 3391 端口,然后再进行漏洞扫描。目前此功能无法开箱即用。您需要在 nmap-payloads(通常位于 /usr/share/nmap 中)的 DTLS 部分添加 3391,并使用如下命令进行扫描(相关 PR 正在路上):
nmap -Pn -p 3391 -sU -oA rdg_scan_yyyymmdd 10.0.0.0/24(需要 root 权限)
漏洞扫描的默认端口是 UDP 3391,可通过 --port 更改。
并非所有 RD 网关都启用或暴露了 UDP 3391 端口,这可能是因为它们只通过 HTTPS 工作,而管理员懒得阅读文档。如果您也想找到这些 RD 网关,请使用 webcheck 模式(也许您担心存在未修补 CVE-2020-0609 的服务器,而运维人员会因“高延迟网络下性能更优”而在 6 个月后开放 UDP 3391)。
要使用 HTTPS 扫描,请使用参数 --webcheck 或 -w webcheck 的默认端口是 TCP 443,可通过 --port 更改。
请注意,例如最近版本的 Debian/Kali 具有默认的 OpenSSL 设置,会阻止包括 python、curl 等在内的任何程序连接到不安全的 SSL 实现,包括任何低于 TLSv1.2 的版本。这对网上银行来说是合理的,但对于漏洞扫描来说并非如此——您还需要找到那些仍在使用 SSLv3 的老旧主机。我没有找到比修改 /etc/ssl/openssl.cnf 更好的解决方案。找到/插入 [system_default_sect] 部分并修改为:
[system_default_sect]
MinProtocol = SSLv3
CipherString = DEFAULT@SECLEVEL=1
对于敏感操作,请记得改回去!如果您知道一种仅针对某个 python 脚本更改此设置的方法,请告诉我 ;)
扫描期间出现的 SSL 错误可能来自 IPS 系统。
扫描器可以解析:
示例: python3 rdg_scanner_cve-2020-0609.py 192.168.1.1/24 # 对 UDP 3391 进行 cve-2020-0609 漏洞扫描
示例2 python3 rdg_scanner_cve-2020-0609.py 192.168.1.1/24 --webcheck # 检查网页是否为 RD 网关
示例3: python3 rdg_scanner_cve-2020-0609.py 192.168.1.1
示例4: python3 rdg_scanner_cve-2020-0609.py fakewebsiteaddress.com
示例5: python3 rdg_scanner_cve-2020-0609.py as15169
示例6: python3 rdg_scanner_cve-2020-0609.py file:hostfile.txt
用法:rdg_scanner_cve-2020-0609.py [-h] [--port PORT] [--webcheck]
[--verbose]
target
无需安装。
Debian/Kali 需要:apt-get install python3-netaddr
待办: