最近,一个做运维的朋友在学渗透测试。他说,他公司请别人做渗透测试的费用是 2w/人天,一共2周。2周 10w 的收入,好香~
于是,我也对渗透测试产生了兴趣。开始了探索之路~
什么是渗透测试
渗透测试这名字听起来有一种敬畏感,给人一种很难的感觉。渗透测试 (penetration test) 并没有一个标准的定义,一些安全组织达成共识的通用说法是:
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。
简而言之:渗透测试就是测试软件的安全性。
渗透测试执行标准[1] 介绍了做渗透测试的 7 个步骤:
测试前交互。这步主要确定的是测试范围,哪些测试行为是禁止的。
情报收集。这步主要收集目标尽可能多的信息。
威胁建模。这步主要了解目标潜在的威胁。更多的是了解目标业务流程和竞争对手之类,确定测试的优先级。
漏洞分析。这步主要是找目标的安全漏洞。
漏洞利用。这步主要是通过漏洞,来获得数据,权限等。
后渗透利用。这步主要是掩盖估计痕迹,并留下以获得权限的后门。注意:是否要做这步需要和客户确认。
报告。这步主要是写一份给客户的报告。内容主要包括:有哪些漏洞,漏洞证明,漏洞的严重程度和修补建议。最后,客户修复了漏洞,需要做验收。
渗透测试行业的前景
行业人才缺口大。随着互联网行业的迅速发展,各大企业所面临的各种安全问题越发的严峻。对安全人才的需求也越来越大。当然,国内初级渗透测试工程师比较多。因为,花很短的时间,就能成为一个初级渗透。所谓的初级,指的是:只会用工具的“搬砖人”。行业缺的是能力强一点的透测试工程师:会代码审计,会写POC、EXP,写自己用的工具。
薪资这块:从招聘网站上来看,该行业的薪资和前端差不多。当然,在工作外,也可以通过挖漏洞,参加护网行动之类的来赚钱。
哪些人更适合做渗透测试
首先,有道德底线的人。做渗透容易接触到敏感数据。守不住道德底线就是:渗透学的好,牢饭吃到饱~
细心,耐心,观察力敏锐,善于变换角度思考问题的人。这些品质,有利于找到漏洞。
前端做渗透测试的优势
优势1: 已经了解了渗透需要了解的部分知识:网站架构,HTTP,Cookie,DOM 等。
优势2: 可以自己写工具。比如,根据 《XSS 扫描器成长记》[2] 提到的算法,写个 XSS 扫描器。根据 xray 的规则化过的 POC(漏洞概念验证程序) 数据[3] 写扫描器。
如何学习渗透测试
渗透测试包含的内容非常的多。该从哪边学起呢?
如果从学工具入手,渗透测试的工具有成千上千万个。常用的集成了许多工具的系统:Kali Linux[4], 里面也有 600 多个工具。
如果从了解漏洞入手:CWE5 上面也有茫茫多的漏洞。
如果从渗透测试需要掌握的知识入手,也是一大堆:系统,网络,服务器,数据库等等。
从上面是方式入手,总觉得是学不完。
我推荐以实践的方式来学。具体来说:
罗列需要掌握的常见的漏洞类型。比如:XSS,CSRF,SQL 注入,Burt Force(暴力破解漏洞),RCE(远程命令/代码执行),Files Inclusion(文件包含漏洞) 等。推荐阅读:2021 OWASP Top Ten[6] 和 2021 CWE Top 25[7]。
一个个去掌握它们:
了解漏洞的概念,触发场景,如何利用,以及如何防护。可以去 CWE[8] 上找具体的漏洞。找不到 CWE 相关的 EXP(漏洞利用程序) 可以去 GitHub 上直接搜 CWE 编号。
实践:在靶场(Vulnerability Firing Range)上去找出漏洞。靶场指的是包含漏洞的环境。有能力的,能构造出包含该漏洞的靶场。
学习使用能找到该漏洞的工具。
推荐 2 个靶场:DVWA[9] 和 Pikachu[10]。用 Docker 安装这 2 个靶场。安装配置特别容易~
这边再推荐下 wooyun 的漏洞库镜像[11]。里面有大量白帽子提交的漏洞。可惜的是,wooyun 16 年关站,所以漏洞库也定格在了那里。
通过挖漏洞来赚钱靠谱吗?
我没有挖到过漏洞,我也不知道,哈哈。
想通过挖漏洞来赚钱的,可以通过在一些漏洞响应平台上提交漏洞。比如:补天漏洞响应平台[12]。漏洞的奖励金额,不同公司给的浮动比较大。参考金额:
低危漏洞:100 左右。
中危漏洞:500 左右。
高危漏洞:1500 左右。
最后
对渗透测试感兴趣的,学习起来喽~ 也可以加我微信(joel007) 一起学习探讨~
参考资料
[1]
渗透测试执行标准: http://www.pentest-standard.org/index.php/Main_Page
[2]
《XSS 扫描器成长记》: https://paper.seebug.org/1119/
[3]
xray 的规则化过的 POC(漏洞概念验证程序) 数据: https://github.com/chaitin/xray/tree/master/pocs
[4]
Kali Linux: https://www.kali.org/
[5]
CWE: https://cwe.mitre.org/index.html
[6]
2021 OWASP Top Ten: https://owasp.org/www-project-top-ten/
[7]
2021 CWE Top 25: https://cwe.mitre.org/data/definitions/1337.html
[8]
CWE: https://cwe.mitre.org/index.html
[9]
DVWA: https://dvwa.co.uk/
[10]
Pikachu: https://github.com/zhuifengshaonianhanlu/pikachu
[11]
wooyun 的漏洞库镜像: https://github.com/hanc00l/wooyun_public
[12]
补天漏洞响应平台: https://www.butian.net/Reward/plan/2
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全学习资源分享:
最后给大家分享我自己学习的一份全套的网络安全学习资料,希望对想学习 网络安全的小伙伴们有帮助!
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
随着信息技术的快速发展和互联网的普及,IT行业 成为一个非常热门的领域,也是目前就业前景非常广阔的领域之一。
IT行业是一个非常庞大和多样化的行业,包括软件开发、网络安全、数据分析、云计算等等领域。因此,就业前景也是非常广泛和多样化的,不同的领域和职位都具有不同的就业前景和发展机会。
在软件开发领域,由于软件已经成为现代社会不可或缺的一部分,因此对软件开发人才的需求也越来越大。特别是在移动应用、大数据、人工智能等领域,软件开发人才的需求更是迅速增长。因此,软件开发人才的就业前景非常广阔,尤其是那些熟练掌握多种编程语言和技术的人才。
有幸看到一篇这样一组数据。
根据这些我不得总结,it行业确实人才紧缺,
网络安全行业特点
1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!
2、人才缺口大,就业机会多
2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
行业发展空间大,岗位非常多
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。
从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。
根据以上网络安全技能表不难看出,网络安全需要接触的技术还远远很多,常见的技能需要学习:外围打点能力、钓鱼远控能力、域渗透能力、流量分析能力、漏洞挖掘能力、代码审计能力等。
【----帮助网安学习,以下所有学习资料免费领!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)
03网络安全的知识多而杂,怎么科学合理安排?
一、基础阶段
★中华人民共和国网络安全法 (包含18个知识点)
★Linux操作系统 (包含16个知识点)
★计算机网络 (包含12个知识点)
★SHELL (包含14个知识点)
★HTML/CSS (包含44个知识点)
★JavaScript (包含41个知识点)
★PHP入门 (包含12个知识点)
★MySQL数据库 (包含30个知识点)
★Python (包含18个知识点)
————————————————
入门的第一步是系统化的学习计算机基础知识,也就是学习以下这几个基础知识模块:操作系统、协议/网络、数据库、开发语言、常用漏洞原理。前面的基础知识学完之后,就要进行实操了。
因为互联网与信息化的普及网站系统对外的业务比较多,而且程序员的水平参差不齐和运维人员的配置事物,所以需要掌握的内容比较多。
二、渗透阶段
■SQL注入的渗透与防御(包含36个知识点)
■XSS相关渗透与防御(包含12个知识点)
■上传验证渗透与防御(包含16个知识点)
■|文件包含渗透与防御(包含12个知识点)
■CSRF渗透与防御(包含7个知识点)
■SSRF渗透与防御(包含6个知识点)
■XXE渗透与防御(包含5个知识点)
■远程代码执行渗透与防御(包含7个知识点)
■…(包含…个知识点)
————————————————
掌握常见漏洞的原理、使用、防御等知识。Web渗透阶段还是需要掌握一些必要的工具。
主要要掌握的工具和平台:burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、medusa、airspoof等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了;
三、安全管理(提升)
★渗透报告编写(包含21个知识点)
★等级保护2.0(包含50个知识点)
★应急响应(包含5个知识点)
★代码审计(包含8个知识点)
★风险评估(包含11个知识点)
★安全巡检(包含12个知识点)
★数据安全(包含25个知识点)
————————————————
主要包括渗透报告编写、网络安全等级保护的定级、应急响应、代码审计、风险评估、安全巡检、数据安全、法律法规汇编等。
这一阶段主要针对已经从事网络安全相关工作需要提升进阶成管理层的岗位。如果你只学习参加工程师方面的岗位,这一阶段可学可不学。
四、提升阶段(提升)
■密码学(包含34个知识点)
■JavaSE入门(包含92个知识点)
■C语言(包含140个知识点)
■C++语言(包含181个知识点)
■Windows逆向(包含46个知识点)
■CTF夺旗赛(包含36个知识点)
■Android逆向(包含40个知识点)
————————————————
主要包括密码学、JavaSE、C语言、C++、Windows逆向、CTF夺旗赛、Android逆向等。
主要针对已经从事网络安全相关工作需要提升进阶安全架构需要提升的知识。
【----帮助网安学习,以下所有学习资料免费领!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)
结语
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。给自学的小伙伴们的意见是坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果