本文讲的是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脚本很简单:
> Import-Module .NetworkRecon.ps1 > Invoke-LiveAnalysis WARNING: Script IS NOT running as administrator. Analyzer started at 2017-07-16T09:03:36 WARNING: Windows Firewall = Enabled Listening IP Address = 127.0.0.1 Starting sniffer...
所以你看,脚本需要管理权限。如果有一个提升的提示,你得到的输出如下:
powershell -exe bypass > Import-Module .NetworkRecon.ps1 > Invoke-LiveAnalysis Script IS running as administrator. Analyzer started at 2017-07-16T09:13:13 WARNING: Windows Firewall = Enabled Inserted Inbound Multicast Rule Listening IP Address = 127.0.0.1 Starting sniffer...
现在就得到Invoke-TraceCollect:
> Import-Module .NetworkRecon.ps1 PS C:UsersmdaniDesktop> Invoke-TraceCollect [+] Target folder exists, no action required [+] Starting capture session [-] Trying PEF trace first... [!] Unable to create PEF trace...falling back to netsh... [-] Output will be saved to C:tempcapture_201771691852.etl Trace configuration: ------------------------------------------------------------------- Status: Running Trace File: C:tempcapture_201771691852.etl Append: Off Circular: Off Max Size: 250 MB Report: Off [-] Sleeping for 5 minutes while packet capture is running
原文发布时间为:2017年7月19日
本文作者:xiaohui
本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。