以下信息是根据2020年和2019年为全球各种中型组织和企业完成的60多个渗透测试报告汇总而来的,在跳转到列表之前,让我们简要介绍一下全面的测试方法。
0x01 测试方法
目的是使用白盒(灰盒)方法在现场进行内部基础设施渗透测试。
这意味着对用于测试的工具没有任何限制,并且范围信息也预先共享。
唯一的黑盒部分是,一开始并未提供网络访问权限。
因此,在对网络访问控制进行初步评估(NAC旁路,WiFi评估等)之后,通常会将测试者列入网络白名单,以便执行实际测试而不会在网络级别受到阻碍。
然后从网络上的员工/非特权用户的角度执行测试。
由于其成本效益,该方法是最受欢迎的选择之一。奇热它允许将重点放在实际的漏洞上,而不是试图规避可能实施的现有安全性或补偿性控制。
前几天在Twitter上发现这一点可以说明这一点:
0x02 十大漏洞
10.弱密码和默认密码
搜寻默认凭证应该是每个渗透测试的一部分,在我们的情况下也是如此。
听起来简单,有趣且令人兴奋,现实情况是,并非总能找到默认凭证,而且自动化爆破并非总是100%起作用!
寻找弱口令默认登录可能是一件很麻烦的事情,并且如果我们真的想覆盖整个范围的话,通常会涉及对自动化进行调试和故障排除,在大多数情况下,手动操作非常无效且累人。
幸运的是,有很多工具可以提供帮助,可以帮助我们查找默认凭据的工具之一就默认HTTP登录信息。
对于其他网络服务,例如数据库接口,SSH,Telnet,SNMP和其他服务,我们通常利用Metasploit,Hydra,Medusa,Ncrack或具有登录爆破功能的类似工具。
9.过时的VMWare ESXi虚拟机管理程序
大多数组织都在很大程度上对其基础架构进行虚拟化,它不仅具有成本效益,而且实用。
客户最常使用的顶级虚拟化解决方案是VMware ESXi平台,令人惊讶的是,它很少及时得到修补。
这样一来,这才成为我们排名前10名中的第9名。
尽管未打补丁的VMware ESXi服务器在前十名中,但很少遇到这样的过时实例,该实例将公开可用。
通常,此漏洞是由Nessus漏洞扫描程序获取的。
8.密码重用
每次找到有效的凭证,我们都会尝试在其他地方重用它,事实证明,许多组织都在重用密码。
实际上,40%的组织受到此影响。在密码管理和资产管理方面,真正执行适当的程序非常困难。
典型情况是Windows计算机受到感染时。接下来通常会发生的情况是渗透测试人员将从系统中收集密码哈希(NTLM)或使用Mimikatz从LSASS子系统中转储纯文本密码。
然后,渗透测试人员将通过网络执行密码爆破或哈希爆破,奇热以查看其是否也可以在其他计算机上使用。这是为工作使用Metasploit smb_login扫描的示例:
但这只是一个例子。密码可在不同的系统,网络设备等之间重复使用。每次密码泄露通常都会导致其他一系列泄露。
7.网络隔离不足
大多数组织还存在适当的网络隔离和划分为VLAN的问题。
一个典型的例子是从标准非特权用户(典型员工)的角度执行评估。员工可以在网络上看到什么?员工可以使用什么系统?
例如,为什么应该允许员工访问域控制器的远程桌面(RDP)?为什么要允许员工访问各种数据库接口?还是SSH服务器?
我们始终建议客户按照最小特权原则,尽可能地隔离所有内容。但这恰好是许多组织的问题。
6. IPMI密码哈希公开
发现超过40%的受测组织容易出现IPMI 2.0密码哈希泄露漏洞。
此漏洞基本上是IPMI(智能平台管理接口)协议中的一个设计缺陷,没有针对它的补丁程序。
IPMI服务通常在管理Web界面本身(例如Dell iDRAC,HP iLO等)旁路侦听udp / 623端口。
现在,如果我们能够访问IPMI服务,则肯定可以从其中转储密码哈希。这是使用Metasploit ipmi_dumphashes扫描的示例:
如果密码很弱,那么我们可以轻松地破解它们,例如使用john:
Nessus漏洞扫描程序通常在扫描过程中检测到此漏洞,但是最好同时使用Metasploit ipmi_dumphashes扫描程序并尝试破解哈希值。
此漏洞的唯一缓解策略是禁用IPMI服务或在网络级别隔离IPMI服务(适当的网络隔离)。
5. SMB 1.0协议
对于许多网络来说长期存在的另一件事是Windows系统对SMBv1的支持。
网络中通常总有一些系统仍支持此已有近40年历史的协议的版本1 。
SMBv1本质上是不安全的,并且容易出现多个漏洞,奇热包括:
· 远程执行代码(RCE)
· 拒绝服务(DoS)
· 中间人(MitM)
· 信息泄露
甚至微软也建议不要这样做。应该简单地在所有Windows系统(服务器和客户端)上禁用SMBv1。
此漏洞通常由Nessus扫描程序发现,但也可以使用Nmap的smb-protocols NSE脚本来识别:
4.启用基于TCP / IP的NetBIOS
在所有经过测试的组织中,有50%以上都发现了此问题,这是问题所在:
默认情况下,此设置在所有Windows系统上都是启用的,它固有地使网络容易受到中间人(MitM)攻击。
问题是以下2 Windows协议:
· NBT-NS:NetBIOS名称服务
· LLMNR:链接本地多播名称解析
这些协议在广播地址上进行通信,这使它们易于投毒和重放攻击。由于使用了诸如Responder,Inveigh或Impacket(及其ntlmrelayx.py脚本)之类的工具,这些攻击非常容易实现。
这些工具会自动响应受害者发送的广播请求。因此,这可能导致捕获Net-NTLM密码哈希,甚至通过重放身份验证直接访问网络中的其他系统。
这是使用Responder中毒的样子,这导致捕获Net-NTLM哈希:
现在,如果密码很弱,我们可以成功破解它:
现在我们有了域用户帐户,我们可以开始枚举Active Directory。
3.未修补的Windows系统
很少有组织能够很好地控制补丁程序策略,因此他们的网络中不会有任何易受攻击的Windows系统。
在几乎60%的情况下,发现网络中的Windows系统缺少一个或两个关键安全补丁。一些示例包括:
· CVE-2020-0796又名 SMBGhost
· CVE-2019-0708又名 BlueKeep
· MS17-010 ,永恒之蓝
· MS16-047
· MS15-034
· 等等
这些问题通常由Nessus漏洞扫描程序解决,但是Metasploit和Nmap还包含用于远程检测某些缺失补丁的功能。
这些漏洞通常被列为严重漏洞,因为它们允许在特权最高的目标系统(NT Authority \ system)上获得远程代码执行(RCE):
2.默认的SNMP字符串
第二位属于默认的SNMP字符串,你可能会问什么是SNMP社区字符串?
SNMP协议是一种诊断协议,可以泄露有关目标系统的大量信息:
问题在于,SNMP字符串(在我们的例子中为“ public”)是唯一的身份验证方法。因此,如果攻击者可以猜测SNMP字符串,则他/她可以了解有关目标系统的详细信息并针对该目标系统进行进一步的攻击。
请注意,这仅适用于SNMP版本1和2 – SNMP版本3使用更强的身份验证机制和加密功能。
该问题通常由Nessus漏洞扫描程序解决,但是使用Metasploit snmp_login扫描程序可以获得更好的结果。
Metasploit smb_login扫描程序检查120多个默认社区字符串,还可以检测获得的访问权限是否是只读的,或者我们是否还可以编写和修改受影响的系统的某些设置。
1.明文协议
在超过60%的情况下,报告的第一大漏洞是使用明文协议。
每当我们检测到明文协议的使用或发现使用明文协议的网络服务时,就会向客户报告。
这包括以下协议:
· FTP(TCP / 21)
· Telnet(TCP / 23)
· SMTP(tcp / 25)(如果它支持纯身份验证)
· HTTP(tcp / 80,tcp / 8080等)(如果有登录功能)
· POP3(tcp / 110),如果它支持纯身份验证
· IMAP4(tcp / 143)(如果它支持纯身份验证)
· SNMP(udp / 161,udp / 162)版本1或2
· LDAP(tcp / 389)
· VNC(TCP / 5900)
· 等等
这些协议本质上是不安全的,因为它们不对通信进行加密。任何可以窃听通信的攻击者都可以捕获通过网络传播的敏感信息。
在这里查看使用例如Wireshark捕获密码有多么容易。