越来越多的网站和app的上线,导致安全问题日益增加,漏洞问题也非常多,大公司急需组建专业的渗透测试团队来保障新项目的安全稳定,防止被入侵被黑,对此我们Sinesafe给大家讲解下组建安全团队的重要几点,来达到各个项目的安全渗透工作的分工执行能力。
渗透测试安全团队建设
红蓝军简介
在队伍的对抗演习中,蓝军通常是指在部队模拟对抗演习专门扮演假想敌的部队,与红军(代表我方正面部队)进行针对性的训练。
网络安全红蓝对抗的概念就源自于此。红军作为企业防守方,通过安全加固、攻击监测、应急处置等手段来保障企业安全。而蓝军作为攻击方,以发现安全漏洞,获取业务权限或数据为目标,利用各种攻击手段,试图绕过红军层层防护,达成既定目标。可能会造成混淆的是,在欧美一般采用红队代表攻击方,蓝队代表防守方,颜色代表正好相反。
企业网络蓝军工作内容主要包括渗透测试和红蓝对抗(Red Teaming),这两种方式所使用的技术基本相同,但是侧重点不同。
渗透测试侧重用较短的时间去挖掘更多的安全漏洞,一般不太关注攻击行为是否被监测发现,目的是帮助业务系统暴露和收敛更多风险。
红蓝对抗更接近真实场景,侧重绕过防御体系,毫无声息达成获取业务权限或数据的目标,不求发现全部风险点,因为攻击动作越多被发现的概率越大,一旦被发现,红军就会把蓝军踢出战场。红蓝对抗的目的是检验在真实攻击中纵深防御能力、告警运营质量、应急处置能力。
人员分工
- 部门负责人
- 负责组织整体的信息安全规划
- 负责向高层沟通申请资源
- 负责与组织其他部门的协调沟通
- 共同推进信息安全工作
- 负责信息安全团队建设
- 负责安全事件应急工作处置
- 负责推动组织安全规划的落实
- 合规管理员
- 负责安全相关管理制度、管理流程的制定,监督实施情况,修改和改进相关的制度和流程
- 负责合规性迎检准备工作,包括联络、迎检工作推动,迎检结果汇报等所有相关工作
- 负责与外部安全相关单位联络
- 负责安全意识培训、宣传和推广
- 安全技术负责人
- 业务安全防护整体技术规划和计划
- 了解组织安全技术缺陷,并能找到方法进行防御
- 安全设备运维
- 服务器与网络基础设备的安全加固推进工作
- 安全事件排查与分析,配合定期编写安全分析报告
- 关注注业内安全事件, 跟踪最新漏洞信息,进行业务产品的安全检查
- 负责漏洞修复工作推进,跟踪解决情况,问题收集
- 了解最新安全技术趋势
- 渗透/代码审计人员
- 对组织业务网站、业务系统进行安全评估测试
- 对漏洞结果提供解决方案和修复建议
- 安全设备运维人员
- 负责设备配置和策略的修改
- 负责协助其他部门的变更导致的安全策略修改的实现
- 安全开发
- 根据组织安全的需要开发安全辅助工具或平台
- 参与安全系统的需求分析、设计、编码等开发工作
- 维护公司现有的安全程序与系统
5.5. 内网渗透补充操作
5.5.1. 端口转发
- windows
- lcx
- netsh
- linux
- portmap
- iptables
- socket代理
- Win: xsocks
- Linux: proxychains
- 基于http的转发与socket代理(低权限下的渗透)
- 端口转发: tunna
- socks代理: reGeorg
- ssh通道
- 端口转发
- socks
5.5.2. 获取shell
- 常规shell反弹
- 突破防火墙的imcp_shell反弹
- 正向shell
- nc -e /bin/sh -lp 1234
- nc.exe -e cmd.exe -lp 1234
5.5.3. 内网文件传输
- windows下文件传输
- powershell
- vbs脚本文件
- bitsadmin
- 文件共享
- 使用telnet接收数据
- hta
- linux下文件传输
- python
- wget
- tar + ssh
- 利用dns传输数据
- 文件编译
- powershell将exe转为txt,再txt转为exe
5.5.4. 远程连接 && 执行程序
- at&schtasks
- psexec
- wmic
- wmiexec.vbs
- smbexec
- powershell remoting
- SC创建服务执行
- schtasks
- SMB+MOF || DLL Hijacks
- PTH + compmgmt.msc
Windows系统持久化
6.1. 总体思路
5.2. 持久化 – Windows
Web应用需要限制用户对应用程序的数据和功能的访问,以防止用户未经授权访问。访问控制的过程可以分为验证、会话管理和访问控制三个地方。
6.1.1.1. 验证机制
验证机制在一个应用程序的用户访问处理中是一个最基本的部分,验证就是确定该用户的有效性。大多数的web应用都采用使用的验证模型,即用户提交一个用户名和密码,应用检查它的有效性。在银行等安全性很重要的应用程序中,基本的验证模型通常需要增加额外的证书和多级登录过程,比如客户端证书、硬件等。
6.1.1.2. 会话管理
为了实施有效的访问控制,应用程序需要一个方法来识别和处理这一系列来自每个不同用户的请求。大部分程序会为每个会话创建一个唯一性的token来识别。
对攻击者来说,会话管理机制高度地依赖于token的安全性。在部分情况下,一个攻击者可以伪装成受害的授权用户来使用Web应用程序。这种情况可能有几种原因,其一是token生成的算法的缺陷,使得攻击者能够猜测到其他用户的token;其二是token后续处理的方法的缺陷,使得攻击者能够获得其他用户的token。
6.1.1.3. 访问控制
处理用户访问的最后一步是正确决定对于每个独立的请求是允许还是拒绝。如果前面的机制都工作正常,那么应用程序就知道每个被接受到的请求所来自的用户的id,并据此决定用户对所请求要执行的动作或要访问的数据是否得到了授权。
由于访问控制本身的复杂性,这使得它成为攻击者的常用目标。开发者经常对用户会如何与应用程序交互作出有缺陷的假设,也经常省略了对某些应用程序功能的访问控制检查。
6.1.2. 输入处理
很多对Web应用的攻击都涉及到提交未预期的输入,它导致了该应用程序设计者没有料到的行为。因此,对于应用程序安全性防护的一个关键的要求是它必须以一个安全的方式处理用户的输入。
基于输入的漏洞可能出现在一个应用程序的功能的任何地方,并与其使用的技术类型相关。对于这种攻击,输入验证是 常用的必要防护。不存在通用的单一的防护机制。常用的防护机制有如下几种:
6.1.2.1. 黑名单
黑名单包含已知的被用在攻击方面的一套字面上的字符串或模式,验证机制阻挡任何匹配黑名单的数据。
一般来说,这种方式是被认为是输入效果较差的一种方式。主要有两个原因,其一Web应用中的一个典型的漏洞可以使用很多种不同的输入来被利用,输入可以是被加密的或以各种不同的方法表示。
其二,漏洞利用的技术是在不断地改进的,有关利用已存在的漏洞类型的新的方法不可能被当前黑名单阻挡。
6.1.2.2. 白名单
白名单包含一系列的字符串、模式或一套标准来匹配符合要求的输入。这种检查机制允许匹配白名单的数据,阻止之外的任何数据。这种方式相对比较有效,但需要比较好的设计。
6.1.2.3. 过滤
过滤会删除潜在的恶意字符并留下安全的字符,基于数据过滤的方式通常是有效的,并且在许多情形中,可作为处理恶意输入的通用解决方案。
6.1.2.4. 安全地处理数据
非常多的web应用程序漏洞的出现是因为用户提供的数据是以不安全的方法被处理的。在一些情况下,存在安全的编程方法能够避免通常的问题。例如,SQL注入攻击能够通过预编译的方式组织,XSS在大部分情况下能够被转义所防御,如果对以上渗透测试团队建设或新项目有安全测试的需求想要了解更详细的话可以咨询专业的网站安全公司来测试并处理解决,过内做的比较全面的网站安全维护公司推荐Sine安全,启明星辰,绿盟等等都是比较不错的。
来源:oschina
链接:https://my.oschina.net/u/3887295/blog/3137681