0x00 前言
为了更好地学习安全方面的知识,本文特此推荐一些路线,方便以后的学习,在此本文讨论了思路,但限于篇幅,故仅介绍核心思想,具体的操作,本文会给出一些参考链接,方便读者查阅。
0x01 职位描述
1 负责安全服务项目中的实施部分,包括:漏洞扫描、渗透测试、安全基线检查、代码审计、应急响应等。
2 爆发高危漏洞后时进行安全漏洞的分析应急;及时清除木马后门,加固业务系统服务器。
3 熟悉各大安全厂商的安全产品,对公司安全产品的后端支持以及故障解决。
4 掌握办公软件等专业文档编写技巧,能够独立编写安全事件报告。
5 跟踪和分析信息安全业界最新安全漏洞、发展趋势和解决方案。
0x02 职位要求
1 熟悉主流的Web安全技术,包括SQL注入、XSS、CSRF、一句话木马等安全风险。
2 熟悉国内外主流安全产品和工具,如:Nessus、Nmap、AWVS、Burp、Appscan等。
3 熟悉windows、linux平台渗透测试、后门分析、加固。
4 至少掌握一门编程语言C/C++/Perl/Python/PHP/Go/Java等。
5 熟悉渗透测试的步骤、方法、流程,具有Web安全实战经验;
6 熟悉常见安全攻防技术,对网络安全、系统安全、应用安全有深入的理解和自己的认识。
7 对Web安全整体有深刻理解,具备代码审计和独立漏洞挖掘能力。
8 具有较强的团队意识,高度的责任感,文档、方案能力优秀者优先。
0x03 学习路线
3.1 基本技能--基本IT操作
1. 科学的工作环境,学会使用*、代理上网等。
2. 大多数情况下,渗透测试质量中技术能力占40%,报告书写占60%,必须熟练掌握各种word、exel基本功能。
3. 浏览器插件与技巧。
4. 网络配置与分析。
3.2 前期安全知识的补充学习
- 熟悉基本的安全术语和概念(SQL注入、上传漏洞、XSS、CSRF、一句话木马、渗透测试、应急响应、风险评估、等级保护等)。
- 阅读OWASP TOP 10 从漏洞分类和漏洞成因寻找安全漏洞的切入点 Link 。
- 阅读经典的网络安全相关书籍 Link 。
- 安全资讯来源:Secwiki、Freebuf、91ri、Wooyun等。
3.3 安全工具使用
- 综合漏洞扫描工具的安装使用:Nessus、X-scan、Nexpose等。
- Web漏洞扫描的工具的安装使用和漏洞验证:AppScan、AWVS、WebInspect等。
- 辅助工具的安装和使用:Nmap、Burp Suite、Sqlmap、wireshark、iptables等。
- 辅助脚本的收集和修改:各种漏洞利用的Exploit、定制化高的扫描脚本、字典等。
- 自家安全设备策略部署和使用。
3.4渗透测试
- 网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等)。
- 自己找站点/搭建测试环境进行测试,记住请隐藏好你自己。
- 思考渗透主要分为几个阶段,每个阶段需要做那些工作,例如这个:PTES渗透测试执行标准。
- 研究SQL注入的种类、注入原理、手动注入技巧。
- 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
- 研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki,可以参考:XSS。
- 研究Windows/Linux提权的方法和具体使用,可以参考:提权。
- 可以参考: 开源渗透测试脆弱系统。
- 渗透测试流程:《渗透测试授权书》规定渗透时间和范围、《渗透测试免责书》描述渗透测试可能带来的危害、规定时间实施渗透测试,输出《渗透测试报告》,指导甲方进行漏洞修复。
3.5 安全基线检查
- 不同的客户,不同的业务系统,有不同的安全基线文档,大致分类无外乎几种:从账户、授权、补丁、日志、冗余端口和服务等层面对主机系统、中间件和数据库进行配置[检查]。
- 阅读外网流出的各家厂商的安全基线检查内容,如:运营商-移动 Link 。
- 掌握不同版本的配置方法和配置项,可自行安装系统、中间件、数据库进行实操。
- Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,可以参考:SecWiki-配置。
- Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等,可以参考:SecWiki-配置。
- 远程系统加固,限制用户名和口令登陆,通过iptables限制端口。
- 配置软件Waf加强系统安全,在服务器配置mod_security等系统,参见SecWiki-ModSecurity。
- 通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。
3.6 应急响应
- 应急响应流程可分为两类:实时性应急响应和入侵后应急响应。
- 实时性应急响应:大多为DDOS攻击,首要进行流量分析,若流量打满,能做的就是反查攻击IP,逆向渗透;若网络设备会话数被打满或者主机系统的CPU、内存、会话数被打满,可通过交换机做端口镜像,使用wireshark、tcpdump进行抓包,分析流量特征,确认攻击类型,在网络设备或安全设备上做相应阻断策略。
- 攻击后应急响应:通过分析恶意文件和日志,查找入侵来源IP和入侵者所利用的漏洞,提出漏洞修补方案,并逆向追踪入侵者。
- 应急响应对工程师的要求较为复杂,需多熟悉不同操作系统、应用、中间件、数据库特性,且能熟练使用编程语言或者vim等编辑器对较大的日志进行数据整理,还需要日常多多积累各种攻击特征和防护策略。
- 多阅读网上已有的应急响应的文档,学习逆向分析思路。
3.7代码审计
- 熟悉代码审计工具的安装使用,可参考SecWiki上的文章 Link 。
- 根据工具报告验证问题是否为误报,并跟踪分析。
- 参看各大资讯平台、论坛、旧杂志的文章,学习白盒分析思路。
- Exploit编写。
3.8 安全边界建设
- 安全边界检查的工作重点可总结为:根据是各个信息区域否需要外网接入、是否需要访问内部核心网络等行为特点,将信息安全系统划分为边界接入域、网络基础设施域、计算机安全域、运维管理域,并对现有网络是否有按照该标准做相应的安全域划分,或判断其划分是否合理。
- 可参考规范:IATF Link。
3.9 安全规范
- 除去技术细节了,尚有不少风险评估和等级保护测评的工作,直接读规范有助对项目全局的把控。
-
国标规范有:
- 《信息系统安全等级保护基本要求》 ---中国等级保护网
- 《信息安全风险评估规范》--
-
行业规范有:
- 《网银121号文》 ;
- 《中国银联移动支付技术规范》
3.10关注安全圈动态
- 通过SecWiki浏览每日的安全技术文章/事件。
- 通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下。
- 通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目。
- 养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀。
- 多关注下最新漏洞列表,推荐几个:exploit-db、CVE中文库、Wooyun等,遇到公开的漏洞都去实践下。
- 关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference。