CheckList
Web-CheckList
配置不当
会话管理
文件操作
任意文件上传
任意文件下载
系统命令调用
OWASP TOP10
SQL注入
XSS跨站脚本攻击
XXE外部实体注入
CSRF客户端请求伪造漏洞
SSRF服务端请求伪造漏洞
存在于网络资源调用时,即任何需要输入URL地址的功能点,且服务端对此URL进行请求。
逻辑漏洞
网站首页
注册功能
登陆功能
登陆账号后
忘记密码
支付逻辑
十大网络安全错误配置
美国国家安全局(NSA)与网络安全和基础设施安全局(CISA)联合发布了十大网络安全错误配置。
一、软件和应用程序默认配置
默认凭据
许多网络设备(路由器、VPN)打印机、摄像头有默认的初始密码,攻击者可以从互联网上搜索获得这些设备的默认密码从而未授权访问这些设备,并且可以将这些设备当成跳板进行内网横向移动。
默认服务权限和配置设置
如果开启了不安全的遗留协议和服务,会被攻击者利用中继攻击、投毒和欺骗等技术获取计算机访问控制权限。
二、用户/管理员权限划分不当(越权)
账户权限过多
当用户权限过于宽松时,用户可以看到/执行他们不应该执行的操作,这会增加风险暴露和攻击面。
提升账户权限
当应用程序存在漏洞时,攻击者可以使用服务账户攻击破坏应用程序或服务,从而获取更高的账户权限。
非必要的使用高权限账户
使用高权限账户执行日常的非管理任务会增加账户暴露的风险,增加收到损害的风险。
三、内网监控不足
一些组织没有对主机进行流量监控和终端日志记录,导致不能及时发现攻击行为。
比如某企业内网终端机器安装了杀毒软件,但是没有流量监控,当在终端机器上发现木马入侵后无法追溯攻击来源。无法有效阻止攻击者横向移动和持久化活动。
四、缺乏网络分段
网络分段通过安全边界分隔网络的各个部分。
由于缺乏网络分段用户、生产系统和关键系统网络之间没有安全边界,使得破坏网络资源的行为毫无阻碍的在各种系统之间横向移动。缺乏网络隔离更容易受到勒索软件和后渗透利用技术的影响。
五、补丁管理不善
缺乏定期修补
未应用最新的补丁会收到公开可用漏洞的攻击,这些漏洞很容易被漏洞扫描器发现。
允许关键漏洞保留在生产系统上而不应用相应补丁会增加攻击面。
使用不受支持的操作系统和过时固件
使用供应商不再支持的软件或硬件有重大的安全风险,因为现有的和新的漏洞得不到修补。
攻击者可以利用这些漏洞未经授权访问、泄露数据和干扰可用性。
六、绕过系统访问控制
攻击者可以破坏环境中的替换身份验证方法来绕过系统访问控制。
如攻击者收集哈希值可以利用哈希传递攻击(PTH)进行身份验证。
七、多重身份验证(MFA)方法薄弱或配置错误
智能卡或令牌配置错误
某些网络(通常是政府或国防部)要求账户使用智能卡或令牌。多因素要求可能配置错误,导致账户的密码哈希永远不会改变。尽管不再使用密码本身(因为使用智能卡或令牌),但密码的哈希散列仍然可以用作身份验证。
缺乏防止网络钓鱼的MFA
例如某攻击者尝试登录被MFA阻止后,他们通过伪装成公司员工打电话骗取MFA代码,尝试获取访问权限。
八、网络共享和服务的访问控制列表(ACL)不足
网络管理员可能错误地配置ACL,从而允许未经授权的用户访问共享驱动器上的敏感资源和数据。
九、凭证保护不佳
容易破解的密码
易于破解的密码使得攻击者付出较少的计算机资源短时间内猜出密码。
网络上存在的容易破解的密码通常源于密码长度不足(即短于15个字符)和随机性(即不可预测和唯一的)。
明文密码泄露
以明文形式存储密码存在严重的安全风险。攻击者能够访问包含明文密码的文件,使用这些凭据合法的登陆系统。这种情况下,责任就会丢失,因为任何系统日志记录的都是合法账户的访问记录。
十、不受限制的代码执行
如果允许未经验证的程序在主机上运行,则攻击者可以在网络内运行任意恶意负载。
攻击者经常利用可执行文件、动态链接库(DLL)、HTML程序和宏(办公文档中的脚本)等方式不受限制的执行代码,获取内部网络的初始访问权限。
加固建议
配置错误 | 加固建议 |
---|---|
软件和应用程序默认配置 | 部署之前修改应用程序和设备的默认配置,修改默认凭据 |
用户/管理员权限划分不当 | 实施身份验证、授权和会计(AAA)系统,限制用户可执行的操作,并审查用户操作日志,用来发现未经授权的使用的滥用。对用户账户和用户组采用最小权限原则,只允许执行授权的操作。审计用户账户,定期删除不活动或不必要的账户,限制用户账户创建其他账户的能力。限制使用特权账户执行一般任务。限制域用户加入多个系统的本地管理员组尽可能使用非管理员账户运行守护程序(服务)只为服务账户配置其控制的服务运行所需的权限 |
内网监控不足 | 建立应用程序和服务基线,定期审核其访问和使用情况。查找可疑账户,并酌情删除账户凭证,如前工作人员的账户。实施安全信息和事件管理(SIEM)系统,提供来自网络端点、日志系统和检测响应(EDR)系统及入侵检测系统(IDS)的日志汇总、关联、查询、可视化和警报功能。 |
缺乏网络分段 | 实施下一代防火墙,以执行深度数据包过滤、状态检测和应用级数据包检测。拒绝或丢弃格式不当、与网络允许的特定应用流量不一致的流量。这种做法限制了行为者滥用允许的应用协议的能力。将网络应用程序列入允许列表的做法不依赖通用端口作为过滤标准,从而提高了过滤的保真度。设计网段隔离关键系统、功能和资源。建立物理和逻辑网段控制,如VLAN。正确配置DMZ隔离区,减少暴露于互联网的服务。 |
补丁管理不善 | 尽可能实现更新过程自动化,并使用供应商提供的更新。考虑使用自动补丁管理程序和软件更新工具。如因条件限制而无法打补丁,应划分网络,限制易受攻击系统的暴露范围,并为其添加额外的保护措施。评估不受支持的软件和硬件使用情况,并尽快停止使用。 |
绕过系统访问控制 | 限制系统间的凭据重叠,以防止凭据泄露并降低恶意行为者在系统间横向移动的能力。启用PtH缓解措施,在登陆网络时对本地账户应用用户账户控制(UAC)限制。拒绝域用户加入多个系统的本地管理员组。限制工作站之间的通信,所有工作站之间的通信都应通过服务器进行,以防止横向移动。仅在需要使用特权的系统上使用特权账户。 |
多重身份验证(MFA)方法薄弱或配置错误 | 通过组策略对象(GPO)使用内置功能,定期重新随机化与智能卡要求的账户相关的密码哈希值。在访问敏感数据以及尽可能多的其他资源和服务时,普遍执行防网络钓鱼的MFA |
网络共享和服务的访问控制列表(ACL)不足 | 对所有的存储设备和网络共享实施安全配置,只允许授权用户访问。对重要信息资源采用最小特权原则,以降低未经授权访问和篡改数据的风险。对文件和目录应用限制性权限,防止被攻击者修改ACL。启用 Windows 组策略安全设置 "不允许匿名枚举安全账户管理器(SAM)账户和共享",以限制可以枚举网络共享的用户。 |
凭证保护不佳 | 不要在不同系统间重复使用本地管理员账户密码。确保账户密码有足够的长度(25个字符)和复杂性(同时存在大小写字母和数字及特殊字符)。不要在文件中保存明文密码。 |
不受限制的代码执行 | 启用系统设置,防止运行从不可信来源下载的应用程序。阻止执行已知的易受攻击的驱动程序,这些驱动程序可能会被攻击者利用来在内核模式下执行代码。限制脚本语言以防止恶意活动、审计脚本日志并限制环境中不使用的脚本语言。尽可能使用只读容器和最小镜像,以防止运行命令。定期分析边界和主机级保护,包括垃圾邮件过滤功能,以确保其在阻止恶意软件的传输和执行方面持续有效。 |