《网络攻防技术(第2版)》 —3.2.3 Windows系统远程口令猜解
3.2.3 Windows系统远程口令猜解
Windows系统提供了两种远程访问的方式,一种是通过IPC(Inter-Process Communication,进程间通信)管道进行远程管理和文件共享,另一种是通过远程终端登录,它们都利用系统的用户名和口令进行远程身份认证。可以针对这两种访问方式进行远程口令猜解。
1.基于IPC的远程口令猜解
IPC是Windows进程间通信的一种方式,是系统的管理机制。Windows系统启动的时候建立默认的命名管道,可以通过验证用户名和密码引用这些管道,进而得到远程命令执行和远程文件操作的权限。如果系统启用文件和打印共享,则所有的逻辑磁盘(c$,d$,e$……)和系统目录Winnt或Windows(admin$)都会处于共享状态。上述机制设计的初衷是为了方便管理员的管理,但攻击者会利用IPC$,访问共享资源,导出用户列表,并进行密码探测,从而获得更高的权限。
在建立IPC连接的时候,连接者可以不输入用户名与密码,这样默认建立的连接称为空连接。空连接不可以进行管理操作,但可以得到目标主机上的用户列表,得到了用户名,就可以针对用户名进行进一步的口令猜解。
远程的IPC连接的文件传输所使用的网络协议是NetBios,139或445端口开启表示应用NetBios协议,如实现对共享文件/打印机的访问,因此IPC连接是需要139或445端口来支持的。
在Windows 7版本以前的系统中,使用如下命令可以和目标主机建立一个合法的IPC连接:
net use \\目标主机IP地址\ipc$ "口令" /user: "用户名"
在Windows系统中,虽然使用空口令建立远程ipc$连接仍然会返回“命令成功完成”,但继续进行操作就会报错,如图3-7所示。
图3-7 IPC连接
攻击者通过程序不断尝试,就可以破解目标系统中的弱口令。在实际入侵过程中,有很多自动化的工具可以帮助攻击者进行口令猜解。为了防范基于IPC的远程猜解攻击,应禁止系统中的IPC$空连接,关闭139、455端口。
2.基于Terminal Service的远程口令猜解
自Windows 2000 Server以来的Windows服务器自带的Terminal Service(终端服务,TS)是基于RDP(Remote Desktop Protocol,远程桌面协议)的远程控制软件,它的速度快、操作方便,也很稳定,是一个很好的远程管理软件,但是因为这个软件功能强大而且只能通过口令保护,所以有很大的安全隐患,一旦入侵者拥有了管理员口令,就能够像操作本机一样操作远程服务器,终端服务默认在3389端口进行监听,它的存在使得攻击者将口令猜解作为一种重要的攻击方式,拥有口令的终端服务器称为3389肉鸡。
TSGrinder是一个用于TS服务的暴力破解工具,它能够通过TS对本地Administrator账户进行字典攻击。TSGrinder使用TS的ActiveX控件来进行攻击。尽管这个ActiveX控件经过特殊的设计可以拒绝对口令方法的脚本访问,但通过C++中的Vtable绑定仍然可以访问ImsTscNonScriptable接口,这允许为该控件编写自定义的接口,于是攻击者就可以对Administrator账户进行口令猜测,直至猜测出口令。图3-8演示了TSGrinder的口令猜解过程,图3-9演示了使用远程桌面登录目标服务器的过程。
图3-8 TSGrinder口令猜解
图3-9 远程桌面登录目标服务器
默认情况下,TSGinder搜索的是管理员的口令,可以用-u开关来指明猜测其他用户名的口令。当TSGrinder用在Windows Vista或Windows 7系统中时,需要把注册键值HKEY_CURRENT_USER\Software\Microsoft\ Windows\Windows Error Reporting\Dont Show UI设置为1,以防止在试用每个口令后系统崩溃。最后,可以使用如下的脚本来尝试credentials.txt文件中的每一个口令,而不是让TSGrinder自己来执行。
C:\>FOR /F %i in (credentials.txt) do echo %i>a&tsgrinder -w a -u Administrator -n 1 192.168.230.244>>out
要防止通过终端服务进行口令猜解,一方面要设置安全性较强的口令,另一方面要经常检查,从而发现口令猜解的尝试。以管理员身份可以进行终端服务登录的日志审核,在管理工具中打开远程控制服务配置(Terminal Service Configration),点击“连接”,右击想配置的RDP服务,选中书签“权限”,点击左下角的“高级”,加入一个Everyone组,这代表所有的用户,然后审核他的“连接”“断开”“注销”和“登录”的情况,这个审核是记录在安全日志中的,可以从“管理工具”→“日志查看器”中查看。如果有对终端服务的大量不成功的登录尝试,则可以认为发生了口令猜解的攻击。
- 点赞
- 收藏
- 关注作者
评论(0)