这是一个快速的CVE-2019-0708漏洞扫描工具。目前,公共互联网上约有90万台机器易受此漏洞的攻击,这仍然是一个命令行工具。可以下载源代码自己编译,也可以从上面的链接下载一个预编译的Windows或macOS的二进制文件。
这个工具完全是基于我刚刚修改的https://github.com/zerosum0x0/CVE-2019-0708. rdesktop补丁的代码,可以在macOS和Windows上轻松编译,并且增加了扫描多个目标的功能。
条件
这只是几天的实验。不过我是通过扫描整个互联网来测试的(借助masscan,所以很快就解决了很多问题。您可以尝试联系我(@ erratalob)寻求帮助/评论。
1.2019-05-38–输出完整的结果描述和文档的含义(见下文)。
2.2019-05-27-Windows和macOS二进制发布。
3.2019-05-26-修复Windows网络问题
4.2019-05-25–在Linux和macOS上运行良好,但Windows存在一些网络错误
5.2019-05-24-适用于Linux和macOS,但Windows有一些编译错误
6.2019-05-23–目前在XCode中处理macOS
主要用途要扫描网络,请按如下方式运行:
RDP scan 192 . 168 . 1 . 1-192 . 168 . 1 . 255
这将为每个地址生成三个结果之一:
1.安全-目标是安全的
2.脆弱——目标很脆弱
3.未知–目标没有响应或某些协议失败
您可以通过增加工作人员数量来提高扫描大型网络的速度:
Rdp扫描-工人10000 10.0.0.0/8使用masscan
rdpscan工具相当慢,每秒只能扫描数百个目标。你可以用masscan加速。masscan工具大约快1000倍,但它只能提供有限的目标信息。
步骤如下:
1.首先用masscan扫描地址范围,以快速找到在端口3389(或您使用的任何端口)上响应的主机。
2.第二次输入masscaninto的输出rdpscan,所以它只需要扫描我们知道的运动目标。
运行它的简单方法是在命令行上组合它:
mass can 10 . 0 . 0 . 0/8-p 3389 | RDP scan-file-
我这样做的方式分为两步:
masscan 10.0.0.0/8 -p3389 >ips.txt
RDP scan-file IPS . txt-workers 10000 & gt。结果汇编. txt
难的是安装OpenSSL库,不要和系统上的其他版本冲突。我测试的Linux版本的一些例子如下,但是它们不断地从一个发行版到下一个发行版改变包名。此外,OpenSSL兼容的API有很多选项,比如BoringSSL和LibreSSL。
$ sudo apt安装libssl-dev
$ sudo yum install open SSL-dev
一旦你解决了这个问题,你就可以像这样编译所有的文件:
$ gcc *。c -lssl -lcrypto -o rdpscan
我将Makefile放在执行此操作的目录中,因此您可以这样做:
$ make
代码是用C写的,所以你需要安装C编译器,例如,做如下工作:
$ sudo apt安装构建-基本常见构建错误
本节描述了更明显的构建错误。
ssl.h:24:25:致命错误:openssl/rc4.h:没有这样的文件或目录
这意味着您要么没有安装OpensSSL头,要么它们不在路径中。请记住,即使安装OpenSSL二进制文件,也需要安装头文件和库文件。
要在Debian上安装这些东西,请执行以下操作:
$ sudo apt安装libssl-dev
要解决路径问题,添加编译标志——I/usr/local/include或类似的东西。
链接器问题示例如下:
x86_64架构的未定义符号:
" _OPENSSL_init_ssl ",引用自:
tcp-fac73c.o中的_tcp_tls_connect
" _RSA_get0_key ",引用自:
SSL-D5 FD 5 . o中的_rdssl_rkey_get_exp_mod
" _SSL_CTX_set_options ",引用自:
tcp-fac73c.o中的_tcp_tls_connect
" _X509_get_X509_PUBKEY ",引用自:
ssl-d5fdf5.o中的_rdssl_cert_to_rkey
我在macOS上得到了这个,因为OpenSSL有多个版本。我通过对路径进行硬编码解决了这个问题:
$ gcc *。c-lssl-lcrypto-I/usr/local/include-L/usr/local/lib-o RDP scan
根据别人的评论,如果你用家酿来装东西,下面的命令行可能适用于macOS。但是我还是遇到了上面的链接错误,因为我安装了其他冲突的OpenSSL组件。
gcc $(brew-prefix)/opt/OpenSSL/lib/lib SSL . a $(brew-prefix)/opt/OpenSSL/lib/lib crypto . a-o RDP scan * .c运行
以上部分提供了运行程序的快速启动提示。本节提供了更深入的帮助。
要扫描单个目标,只需传递目标地址:
。/rdpscan 192.168.10.101
您可以传入IPv6地址和域名。可以传入多个目标。示例:
。/RDP scan 192 . 168 . 10 . 101 exchange.example.com 2001:0db 8:85 a3::1
您也可以使用起始IPv4地址或IPv4 CIDR规范来扫描地址范围。不支持IPv6范围,因为它们非常大。
。/RDP scan 10 . 0 . 0 . 1-10 . 0 . 0 . 25 192 . 168 . 0 . 0/16
默认情况下,它一次只扫描100个目标。您可以使用- workers参数增加该数字。但是,无论您将此参数设置得多高,根据您的系统,您实际上可以同时运行多达500到1500名员工。
。/RDP scan-workers 1000 10 . 0 . 0 . 0/24
您可以使用命名良好的文件参数从文件中加载目标,而不是在命令行中指定目标:
。/rdpscan - file ips.txt
文件格式是每行一个地址、名称或范围。它还可以使用生成的文本masscan。将多余的空行修剪成白色,忽略空行,并忽略任何注释行。注释以#字符或//字符开始。
输出将把标准输出发送到易受攻击、安全或未知状态。可能还有其他原因。以上描述了这些原因。
需要211.101.37.250-外管局-信用部/NLA
185.11.124.79-安全-不是RDP -宋承宪的回应
125.121.137.42-未知-没有联系-拒绝(RST)
需要40.117.191.215-外管局-信用部/NLA
需要121.204.186.182-外管局-信用部/NLA
需要99.8.11.148-外管局-信用部/NLA
需要121.204.186.114-外管局-信用部/NLA
需要49.50.145.236-外管局-信用部/NLA
106.12.74.155-易受攻击-收到appid
需要222.84.253.26-外管局-信用部/NLA
144.35.133.109-未知- RDP协议错误-接收超时
199.212.226.196-未知- RDP协议错误-接收超时
183.134.58.152-未知-没有联系-拒绝(RST)
83.162.246.149-易受攻击-收到appid
像额外的Unix命令一样,您可以处理这个grep和cut。要获取易受攻击的计算机列表:
。/RDP scan 10 . 0 . 0 . 0/8 | grep ' VULN ' | cut-f1-d '-'
参数-dddd指示诊断信息,添加越多,将打印越详细的信息。这将被发送到stderr而不是stdout,以便您可以拆分流。使用bash,它可以做到这一点:
。/rdpscan - file myips.txt -ddd 2>。diag.txt 1>。Results.txt诊断信息
添加-d参数以转储连接的诊断信息stderr。
。/RDP scan 62.15.34.157-d
[+] [62.15.34.157]:3389 -连接...
[+] [62.15.34.157]:3389 -从[10.1.10.133]连接:49211
[+] [62.15.34.157]:3389 - SSL连接
[+] [62.15.34.157]:3389 -版本= v4.8
[+] [62.15.34.157]:3389 -发送MS_T120检查数据包
[-] [62.15.34.157]:3389 -已达到最大发送数,正在等待...
62.15.34.157-安全-目标出现补丁
在MacOS/Linux上,您可以用通常的方式将stdout和stderr重定向到不同的文件:
。/rdpscan - file ips.txt 2>。diag.txt 1>。Results.txtSOCKS5和Tor lulz
SOCKS5支持:
。/RDP scan-filips . txt-socks 5 localhost-socks 5端口9050静态链接OpenSSL
为了将附带的Windows和macOS二进制文件作为发行版发布到这个项目中,我静态地链接了OpenSSL,这样程序就可以正常工作,而不需要单独包含它。本节介绍了一些关于如何做到这一点的考虑,尤其是因为OpenSSL自己页面上的描述似乎已经过时了。
在这两个步骤中,从下载OpenSSL源代码,并将其放在rdpscan目录中:
git克隆https://github.com/openssl/opensslwindows
对于Windows,需要先安装一定版本的Perl。我用的是激活状态。
接下来,你将需要一个特殊的“汇编器”。我使用一种推荐的产品,叫做NASM
接下来,您将需要一个编译器。我在用VisualStudio 2010。可以从微软下载最新的Visual Studio社区版(2019)。
现在你需要建立一个makefile。这是通过输入OpenSSL目录并运行ConfigurePerl程序来完成的:
配置perl VC-WIN32
Windows我选择了32位,我想让程序尽可能与旧版本兼容。
我想要一个完全静态的构建,包括C运行时。为此,我在编辑器中打开生成的makefile,将c编译标志从/MD(意思是使用DLL)改为/mt,我在CPPFLAGS -D_WIN32_WINNT=0x501中添加了以下内容,将OpenSSL限制为可以在Windows XP和Server 2003上运行的函数。否则,bcrypt.dll,如果你在这些旧系统上运行,你会收到一个找不到的错误。
现在你需要确保一切顺利。我把nasm.exe拷贝到路径中的一个目录。用Visual Studio 2010,我运行了程序vcvars32.bat来设置编译器的路径变量。
此时,在命令行上,我输入:
编译器
这使得图书馆。静态的有libssl_static.lib和libcrypto_static.lib,我用来链接rdpscan的。
媒体访问控制系统
首先,您需要安装编译器。我用苹果的开发者工具安装XCode和编译器。我觉得你可以用家酿安装gcc。
然后进入OpenSSL的源目录,创建一个makefile:
配置darwin64-x86_64-cc
现在简单地说:
使依赖
做
此时,它会创建动态(。dylib)和static(。lib)库。我删除了动态库,这样它就可以默认捕获静态库。
现在rdpscan,只需构建macOS makefile:
make -f Makefile.macos
编译所有rdpscan源文件,然后链接到刚刚构建的目录中的OpenSSL库../openssl。
*参考资料来源:GitHub,FB边肖周大涛编译,请注明是来自FreeBuf.COM
1.《3389扫描器 Rdpscan:一款BlueKeep快速扫描工具》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《3389扫描器 Rdpscan:一款BlueKeep快速扫描工具》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/1227973.html