本文篇幅比较长,一定要耐心看完哦!
目前来看,网络安全还是一个非常不错的行业,现在我国网络安全人才缺口非常大,预计在2023年这方面人才缺口达到327万,我每年这方面的大学生才2W多。现在各政企都在发展数字化变革,对网络安全方面人才也是垂涎若渴,所以大家选择网络安全方向发展是一个不错的选择,只要有互联网的存在,网络安全就需要有人来维护,行业发展前景好!
从当前的发展趋势来看,在工业互联网的推动下,网络安全未来将受到越来越多的重视,一方面工业互联网进一步推动了互联网与实体领域的结合,这明显拓展了传统的网络应用边界,也使得网络安全对于产业场景的影响越来越大,另一方面在新基建计划的推动下,未来大量的社会资源和产业资源都将全面数据化,这必然会对网络安全提出更多的要求。
从当前的人才培养体系来看,网络安全人才的培养既有本科教育和专科教育,同时也有研究生教育,所以要想成为网络安全人才,途径还是比较多的,可以根据自身的实际情况来选择不同的教育方式。对于当前的职场人来说,如果在条件允许的情况下,通过读研来进入网络安全领域是不错的选择,近些年网络安全方向研究生的就业情况还是不错的。
相对于消费互联网时代来说,在产业互联网时代,网络安全的技术体系将全面拓展到物联网、大数据和人工智能等新兴领域,而这些新兴领域的技术还处在快速的发展过程中,所以这些领域对于安全的要求也比较迫切。以大数据为例,大数据会全面推动数据的价值化进程,大数据自身也会基于数据价值化,来打造一个庞大的价值空间,但是如果没有安全作为保障,大数据必定走不远。
由于网络安全与诸多技术体系都有联系,所以涉及到的内容也比较多,比如物联网的设备层、网络层、平台层、数据层和应用层都有相应的安全要求,所以学习网络安全往往需要一个系统的学习过程,学习难度也相对比较高。由于物联网领域在5G时代的发展潜力非常大,而且物联网作为一个重要的载体,能够承载大数据、云计算和人工智能等一众技术,所以向物联网安全方向发展是一个不错的选择。
从物联网领域的安全人才需求情况来看,在行业应用领域有大量的人才需求,这些岗位的从业门槛并不高,重点的工作内容在于网络安全方案的设计、部署和维护,比如各种防火墙设备的安全和调试等等,这些内容经过一个系统的学习过程,通常都能够顺利掌握,重点在于一定要多做实验。
网络安全再进一步细分,还可以划分为:网络渗透、逆向分析、漏洞攻击、内核安全、移动安全、破解PWN等众多子方向。今天的这篇,主要是针对网络渗透方向,其他方向仅供参考,学习路线并不完全一样,有机会的话我再单独梳理。
学习网络安全需要具有一个扎实的计算机基础知识和网络基础知识,如果未来要从事网络安全领域的研发岗位,还需要具有一个扎实的数学基础。由于整体的知识量非常大,所以学习网络安全首先应该有一个自己的学习切入点,对于动手能力比较强的人来说,可以从网络基础知识开始学起,然后逐渐了解各种网络安全设备的相关知识。
先来看一张整体的路线图,初步了解下这个方向需要学习的知识有哪些?
PS:如图片过大被平台压缩导致看不清的话,可以点赞+关注我获取,我都会回复的。
读者福利:全网最全《黑客&网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)
①网络安全学习路线
②国内外网安电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥100个漏洞实战案例
⑦安全大厂内部视频
一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣。
来吧,话不多说,一起学起来,见证从青铜变身王者的旅程!
第一个阶段——石器时代
针对的是纯新手小白刚刚入场。在这个阶段,主要是打基础,需要学习的有五部分内容:
Windows上基础的一些命令、PowerShell的使用和简单脚本编写,以及Windows以后经常会打交道的几个重要组件的使用:注册表、组策略管理器、任务管理器、事件查看器等。
除此之外,学习在Windows上面搭建虚拟机,学会安装系统,为接下来学习Linux做准备工作。
必然要与Linux经常打交道,我看到很多新人一上来就跟着一些培训班学习Kali,学的云里雾里的。连基本的Linux概念都没建立起来,就急着学Kali,这属于还没学会走路就去学跑步,本末倒置了。
在基础阶段,主要以使用为主,学习文本编辑、文件、网络、权限、磁盘、用户等相关的命令,对Linux有一个基本的认知。
计算机网络肯定是非常重要的存在。作为基础阶段,这一小节主要从宏观上学习计算机网络,而不是死扣某一个协议的某些字段意义。
首先从局域网出发,了解计算机通信的基本网络——以太网,局域网内是如何通信的?集线器、交换机有什么区别?MAC地址、IP地址、子网、子网掩码分别是做什么用的?
随后引出更大的广域网、互联网,什么是网络通信协议,通信协议分层的问题,通过七层和四层模型快速建立起计算机网络的基础概念,各层协议的作用,分别有哪些协议,这些协议在当今的互联网中具体是怎么应用的。
网络渗透中非常重要的一个组成部分就是Web安全,要学习Web安全,得先从Web前端基础开始入手。
这一小节非常简单,就是学习最原始的Web前端三板斧:HTML+CSS+JS的开发使用,为将来学习Web相关的安全知识打下基础。
这一小节是相对偏实际动手多一些,需要自己多动手进行一些网页编程,尤其是JavaScript的熟悉掌握,了解Ajax是什么东西,常用的jQuery库也学习一下,这都是Web前端中非常基础和常用的内容。
基础阶段的最后一部分,可以来接触一些数据库的基础知识了。
这个阶段主要学一些理论知识,重点掌握库、表、索引等概念,然后学习SQL的编写,学会增删改查数据。暂时不用编程来操作数据库。
度过了石器时代,你已经储备了一些计算机的基础知识:操作系统的使用,网络协议,前端基础,数据库初识,但这距离做网络安全还不够,在第二个青铜阶段,你还需要再进一步学习基础,在第一阶段之上,难度会开始慢慢上升。
这一阶段需要学习的知识有:
在前面的石器时代,咱们初步接触了网页编程,了解了网页的基本原理。不过那时候是纯前端的,纯静态的网页,没有接触后端。在这个进阶的阶段,你要开始接触Web后端的内容了。
首先从常用的两大主流Web服务器出发,学习Apache和Linux的基本知识,随后引出动态网页的基本原理,从CGI/Fast-CGI过渡到后来的ASP/PHP/ASPX/JSP等动态网页技术,了解它们的发展历史,演变过程和基础的工作原理。
最后再学习一些Web开发中的基础知识:表单的操作、Session/Cookie、JWT、LocalStorage等等,了解这些基本的术语都是什么意思,做什么用,解决了什么。
学习Web后端开发,得搭配学习一个后端开发语言才行。在这一小节,选择从PHP入手。
不过要记住,这里选择PHP不是让你以后从事PHP的后端开发,也不是说PHP现在有多流行,而是特定历史背景下,PHP相关的网站安全问题非常具有代表性,选择这门语言更方便我们研究安全问题。
由于学习的目的不同,所以在学习方法上和普通的后端开发就有所不同了。在这里咱们学习一下语法基础,基本的后端请求处理,数据库访问,然后再接触一下常用的ThinkPHP框架即可,当然如果你有兴趣,学的更深入当然更好。
第二阶段需要再充实一下计算机网络的学习。这一次,重点把精力放在HTTP/HTTPS以及抓包分析之上。
Linux上的tcpdump必须掌握,包括常见的参数配置。然后重点学习Wireshark分析数据包,用Fiddler抓取分析加密的HTTPS流量。通过在抓包软件下查看通信流量,对计算机网络的认识从抽象变得具象。
接着,来了解一些网络安全领域内经常打交道的编解码技术和加解密技术。包括base64编码、对称加密、非对称加密、哈希技术等等。
了解它们基础的概念、做什么用的,解决什么问题,最后再了解下工作原理。
现在进入第三个阶段——白银时代,激动人心的时刻就要到来了,在这个阶段,我们开始全面学习真正的网络安全技术了,前面两个阶段打下的基础,在这个阶段,也将派上用场。
这一阶段需要学习的知识有:
有了前面的Web前端和PHP编程的基础,可以来正式学习Web安全了。Web安全领域内几大典型的攻击手法:SQL注入、XSS、CSRF、各种注入、SSRF、文件上传漏洞等等,每一个都需要详细学习,一边学习理论,一边动手实践。
千万注意别拿互联网上的网站来攻击学习,这是违法的行为。自己可以在虚拟机中搭建一些包含漏洞的网站(网络上有很多可以下载来玩),拿自己建的网站练手。
前面学习了一些Web安全的攻击手法,但光有这些还不够,当我们面对攻击目标后,如何寻找攻击点,获取目标的信息至关重要。
这些信息包括:目标运行了什么操作系统,开放了哪些端口,运行了哪些服务,后端服务是什么类型,版本信息是什么等等,有哪些漏洞可以利用,只有获取到了这些信息,才能有针对性的制定攻击手段,拿下目标。
常见的网络信息扫描包括端口扫描、网站后台扫描、漏洞扫描等等。需要学习常用的扫描工具以及它们的工作原理。
除了上面需要扫描的信息,在网络安全中,经常还需要调研很多信息,比如网站的注册信息、相关联的人物、网站内部的内容检索等等。这就需要学习掌握信息搜集和社会工程学的相关技术。
whois信息用来查询域名信息,shodan、zoomeye、fofa等网络空间搜索引擎检索IP、域名、URL等背后的信息,Google Hacking利用搜索引擎来检索网站内部信息,这些东西都是在网络信息搜集中经常用到的技能。
在网络攻击中,当扫描到目标开放的服务后,最直接的就是想要登录进去。常见的服务有SSH、RDP、MySQL、Redis、Web表单等等。
这个时候,暴力破解通常会派上用场,通过使用各种服务常见用户名密码组成的字典,通过程序暴力破解。
常用的爆破工具有hydra、超级弱口令,另外还有一个mimikatz,常用来获取Windows系统的密码。
上一个阶段,学习了一些安全攻击技术,在这一个阶段,需要学习一下安全防御和安全检测技术,安全具有攻防两面性,缺一不可。
首先要学习的就是WAF——Web应用防火墙。
Web安全学习的是通过Web技术攻击计算机系统,WAF就是检测和防御这些安全攻击。正所谓知己知彼才能百战百胜,作为攻方,要掌握WAF的工作原理,找到弱点绕过检测,作为守方,需要不断加强安全检测和防御能力,有效的发现和抵御Web攻击。
需要学习当下主流的WAF软件所采用的架构比如openresty、modsecurity,以及主要的几种检测算法:基于特征的、基于行为的、基于机器学习的等等。
WAF主要针对的是Web相关的安全攻击,到这一小节,将视野进一步拓展到整个网络协议栈,TCP劫持、DNS劫持、DDoS攻击、DNS隧道、ARP欺骗、ARP泛洪等等,需要掌握这些传统经典攻击手段的原理,搭建环境实践,为后续的内网渗透打下基础。
另外作为防守的一方,还需要学习通过网络流量分析技术来进行安全检测,了解常用的网络分析技术,检测框架,规则语法,对以后从事安全相关开发或安全防御工作进行储备。
通过日志来发现攻击行为是一种最常见的行为,攻击者的Web请求,系统登录,暴力破解尝试等等都会被系统各种软件记录在案,攻击者得手后也经常会抹除相关的日志记录,所以学习掌握这些日志,是攻防两队的人都需要学习的技能。
常见的日志有系统登录日志(Windows、Linux)、Web服务器日志、数据库日志等等。
在这个阶段,是时候来学习一些Python编程开发了。虽然网络安全不用经常做大量的工程开发,但掌握基本的编程能力,可以用来编写爬虫、数据处理、网络扫描工具、漏洞POC等等,都是非常有用的,而众多编程语言中,Python无疑是最适合的。
这个阶段的最后一部分,来学习了解一些浏览器侧的安全知识,夯实Web安全中与浏览器相关的漏洞攻击。
需要重点掌握IE、Chrome两款最主流的浏览器特性,浏览器的沙盒机制是什么,同源策略和跨域技术等等。
前面Web安全相关的攻击都是一些很多年的经典手法了,经过多年的发展已经相当成熟,相关的漏洞早已不如以前多,现在很多时候的攻击,都是依靠各种各样的第三方组件漏洞完成的,所以学习研究这些常见第三方组件的漏洞,一方面掌握这些攻击手法用于实战中使用,另一方面触类旁通,对从事漏洞挖掘的工作也是非常有帮助的。
研究的对象主要涵盖目前互联网服务中实际使用的一些工程组件,比如Java技术栈系列Spring全家桶、SSM、Redis、MySQL、Nginx、Tomcat、Docker等等。
网络渗透中,攻下一个点后,只是一个开始,攻入以后如何转移,控制更多的节点,是内网渗透研究学习的范畴。典型的如当年的永恒之蓝病毒,通过SMB协议漏洞,快速扩散传播,造成了大面积的中招。
内网渗透中要学的东西既多且杂,难度要上升不少,但这是做网络渗透的非常重要的一块儿,必须多啃一啃。这一部分理论较少,偏实战性多一些,需要多搭建环境模拟学习。
通过web等手段渗透进入计算机后,由于各种限制原因,经常会有提权的需求,还会涉及到许多跟操作系统安全机制紧密相关的内容,所以学习一些操作系统的安全知识也是非常有必要的。
像Windows、Linux上各自的权限管理机制,提权方法和常用的漏洞,工具等等。
最后,再学习一些虚拟化技术相关的知识,应对可能需要从虚拟机中逃逸的场景。
搞网络渗透,这两个神器是绝对少不了的。前面学习的信息扫描、漏洞攻击、内网渗透、木马植入、端口反弹等等各种技术,都可以通过这两个神器进行综合运用,融会贯通。同时,这两个也是各大黑客团队经常使用的工具软件。
学习使用这两个神器,将大大提升攻击效率,是网络渗透人员居家旅行必备之选!
到了网络渗透的后期阶段,想成为一个安全高手,绝不只是固步自封在自己擅长的领域,需要多学习网络安全的其他领域,拓展自己的知识面。
比如二进制漏洞攻击、逆向工程、木马技术、内核安全、移动安全、侧信道攻击等等,当然在学习的时候,不用像专业方向的同学那么深入,但需要涉猎了解,丰富自己的知识面,构建全方位的网路安全知识技能栈。
如果你想要入坑黑客&网络安全,我给大家准备了一份:300G全网最全的网络安全资料包免费领取!除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类;还有一些我自己买的、其他平台白嫖不到的视频教程。
需要的可以点赞+关注我获取哈!
全网最全《黑客&网络安全入门&进阶学习资源包》免费分享
①网络安全学习路线
②国内外网安电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥100个漏洞实战案例
⑦安全大厂内部视频
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。!!!