天天看点

NetworkRecon——网络漏洞渗透测试的一把新式武器

本文讲的是<b>NetworkRecon——网络漏洞渗透测试的一把新式武器</b>,

NetworkRecon——网络漏洞渗透测试的一把新式武器

最近研究人员新研究出了一个用来对网络漏洞进行渗透测试的工具——NetworkRecon,NetworkRecon包含有几乎所有的PowerShell脚本。

在NetworkRecon被研发之前,PowerSploit和PSAttack是最新被开发出来用来两款包含powershell 脚本的测试工具,而NetworkRecon是专门针对网络漏洞测试的。

什么是PowerSploit?

PowerSploit是GitHub上面的一个安全项目,上面有很多powershell攻击脚本,它们主要被用来渗透中的信息侦察、权限提升、权限维持。

什么是PSattack?

PSattack是一个开源的,将渗透测试实践过程中所有的脚本结合起来形成的框架。更有趣的是使用攻击类型的PowerShell脚本并不会调用powershell.exe,而是通过.NET框架直接调用PowerShell。另外,所有的模块都是加密处理的,并且不会写入到硬盘当中,所以在一定程度上可以做到免杀。

什么是NetworkRecon?

NetworkRecon是一个开源的PowerShell网络侦察模块,它将捕获,分析和识别常用的配置错误的协议,以帮助测试者执行Windows客户端系统可见的漏洞网络协议分析。分析少量网络流量可能导致发现可能的基于网络的攻击向量,如虚拟路由器冗余协议(VRRP),动态中继协议(DTP),链路本地组播名称解析(LL-MNR)和PXE引导攻击。此外,测试者不必安装第三方软件,因为PowerShell包括多个网络分析和网络流量相关功能。它是在PowerShell Empire PowerUp脚本之后建模的,以便轻松识别目标协议。

通常,VLAN中继,网络路由和网络冗余协议不应该被转发到Windows客户端。动态主机配置协议(DHCP)的配置错误也提供了攻击者选项,例如分析引导映像以获得凭据和其他敏感信息。 NetworkRecon目前可以帮助测试者分析这些网络异常的协议:

1.名称解析协议(Name Resolution protocols):诸如NetBIOS名称服务(NBT-NS),链路本地组播名称解析(LLMNR)和组播DNS(multicast DNS)等协议为攻击者通过操纵主机名到IP地址关系来执行多个不同的攻击提供了机会。攻击者可以向用户的请求发送恶意响应,或在网络会话中成为中间人(MitM)。

2.路由和冗余协议(Routing and Redundancy Protocols):来自诸如热备份路由协议(HSRP),虚拟路由器冗余协议(VRRP)和开放最短路径优先(OSPF)等协议的路由信息可能会使网络暴露于路由操纵攻击。如果访问端口上存在路由流量,则攻击者可以解析该信息,以确定是否使用身份验证来捕获凭据,从而允许攻击者注入恶意路由信息。

3.链路层协议(Link-Layer Protocols):错误配置的链路层协议,如生成树协议(STP),思科发现协议(CDP),逻辑链路发现协议(LLDP),动态中继协议(DTP),VLAN中继协议(VTP))允许攻击者获得中间人的位置,设备硬件修订,设备软件修改等敏感信息,并允许跳跃攻击(VLAN hopping)和DoS攻击。

4.引导协议(Boot Protocols):配置错误的启动协议,如动态主机配置协议(DHCP),BOOTP可能允许攻击者下载并检查引导映像以发现凭据等。

现在,NetworkRecon为测试者提供了的这些攻击脚本,其中所包含的模块是Invoke-NeighborCacheAnalysis,Invoke-TraceCollect和Invoke-LiveAnalysis。它们的功能如下:

1.Invoke-NeighborCacheAnalysis:查找系统ARP缓存中存在的潜在易受攻击的协议的二层组播地址( Layer 2 multicast addresse)。

2.Invoke-TraceCollect:根据受支持的操作系统功能,以.etl或.cap格式执行时间有限的网络跟踪,利用Microsoft-Windows-NDIS-PacketCapture提供程序。

3.Invoke-LiveAnalysis:使用原始IP套接字来侦听和解析潜在的易受攻击的协议并公开详细信息。

以太网帧收集的限制可以防止解析LLDP,CDP,DTP和VTP流量。然而,它们的存在仍然可以通过Invoke-NeighborCacheAnalysis来识别。

如何使用NetworkRecon.ps1?

使用PowerShell脚本很简单:

所以你看,脚本需要管理权限。如果有一个提升的提示,你得到的输出如下:

现在就得到Invoke-TraceCollect:

原文发布时间为:2017年7月19日

本文作者:xiaohui 

本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

<a href="http://www.4hou.com/tools/6710.html" target="_blank">原文链接</a>

继续阅读