网络安全基础(社团课件)

*文章来源:https://blog.egsec.cn/archives/402

写在前面:

本片文章是写给社团中学习网络安全的同学的一点指导性文章,大家众所周知,我们学校并没有网络安全这门专业,所有的学习将是完全靠大家自学,社团建立网络安全战队就是为了力所能及的给大家提供最好的资源,帮助大家。本片文章内容只是我的个人观点,并不全面,本人也是一个刚入门的CTF练习生,所有的东西也是自学,并不全面,没有系统化学习过,更多资源还需靠自己查找。祝愿各位打算从事网安事业的同学加油!理论是枯燥的,但所有的实践需要理论去支撑!

对于刚刚涉足安全界的同学来说,在没有老师带领的情况下,在如何学习网络安全上充满了迷茫,网络安全是一个综合性学科,涉及领域非常广,常指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。 网络安全包含网络设备安全、网络信息安全、网络软件安全。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。

这么多内容,对于一个刚入门的小白来说,刚开始摸不着头脑,所以,我根据自己的学习、工作以及实践经验列出了我的学习方法,希望可以帮助到更多的学弟学妹。


0x00 计算机基本常识:

首先学习网络安全,要了解和掌握计算机基本常识,常用软件使用。这是最最最~基础的东西。
需要学会基本使用的软件或技术有:Word、VMware、VPN、Visual Studio、FireFox及其插件、一款编辑器,学会如何截图、编译运行程序、使用 Baidu Google查询资料等,掌握搜索引擎的用法,就等于掌握了网络上的所有资源,随取随用。

0x01 C语言基础:

学习基础的 C 语言,不管是否是编程方向,我觉得都有必要了解一些 C 语言,会编 写简单的 C 程序代码。 我们需要的并不是你能想大神一样用C来写一个操作系统,我们要的是编程思想,要的是逻辑判断和程序的执行思想。
在这里,我推荐的入门书籍有:谭浩强《C程序设计》这本书洗的有点乱,需要有一点基础的人看、《C和指针》,如果从来都没了解过C,建议去某宝买一本清华大学出版社出版的C语言来看,写的比较全面。或者去学校图书馆借一本轻松学C也可以。C语言对于初入门的同学来说是一座大山,但一旦翻过了这座大山,前面将会是一马平川。如果想深入研究C语言,《C和指针》这本书将是你最好的选择。

0x02 web安全基础:

你需要了解web应用的各种常见漏洞(知道是什么,如何形成):SQL注入、XSS、CSRF、上传漏洞、解析漏洞、任意文件包含漏洞、点击劫持、弱口令、cookie欺骗等,会使用一些常用入侵检测工具和辅助工具,并入侵一些安全系数较低的web应用。要能判断某密码的hash类型、能识别一些常用的web指纹、能在互联网上搜索目标相关信息、了解一句话木马并会利用等等。
了解关于web安全的周边知识,经常去看一些技术论坛或者大神的博客,自己最好搭建有一个博客,来记录和分享自己对知识点的理解。同时也可以分享给他人学习。

0x03 常用Windows命令:

选做渗透测试的同学,尤其需要首先学习一些常用的 windows 命令(最好在实战中边运用 边练习),特别是入侵检测是常用命令,如 net user、net localgroup、net use、net share、net start、arp、whoami、regedit、tasklist、find、cp、mkdir、del、dir、 print…… ,我在后期会在博客中将一些Windows的相关命令写出来供大家参考,同时你也可以去个搜索引擎搜索,不要嫌烦,网络安全就是要勤动手,才能掌握更多知识。要自己能写一些批处理脚本,完成一些重复性任务。脚本这个东西,将在你的网络安全道路上一直伴随你。

0x04 数据结构:

有走开发方向的同学,这是必学的,其他方向的同学也可以适当了解。
在C语言学习到一定阶段后,可以开始了解数据结构,它和C语言相辅相成,可以说在我们学习C语言的后期,很好的对我们C语言知识进行了整理。当学习完成数据结构后就可以写一些ACM的竞赛题目了,我也看到社团中有一部分人也参加了ACM程序设计集训队。

0x05 Windows编程:

在数据结构学习完成之后,我觉得就是一个分水岭了。做渗透方向的就不必继续深
入 Windows 编程,大可继续积累网络安全经验,但开发、逆向的同学就需要学习 windows 编程了。
Windows 编程无非就是阅读 MSDN,熟悉每个 windowsAPI 的用法,平时想到的 好点子可以尝试写成程序,增加自己的代码量积累。
windows 编程也是一个积累的过程,需要慢慢了解每个 API,所以学习起来并不紧 张。

0x06 web安全积累期:

其实积累是一个长期的过程,所以也不分期限的。平时可以在如博客园、csdn、看雪,安全科之类的安全社区和大家一起讨论,多关注最新的技术、漏洞,平时注意 搜集每个漏洞的成因、利用方法、修补方法,并尝试在网上寻找实战的机会。 这段时间还可以学点脚本语言,当掌握了一门顺手的脚本语言后就能更快速、更便捷地做很多针对性的攻击。

0x07 汇编语言

汇编也是一门基础课程,对以后的逆向破解、漏洞挖掘、木马免杀的学习都有直接 影响,在 windows 编程的学习期间可以开始学习汇编。 大概了解16位的汇编语言,知道基本语法,重点在32位汇编的学习上。学习汇编语言可以结合自己写的C程序,将自己写好的程序调试,单步调试每一句汇编语言,不懂就查。

0x08 逆向破解

在汇编基本语法学习完毕后,可以选择性地开始学习逆向、破解相关操作。在学习逆向的过程中就可以熟悉之前学习的汇编指令的使用推荐图书:《加密与解密》

0x09 一门脚本语言

对于做渗透测试方向的同学尤为重要,对于做开发的同学也可以学习一门脚本语言。
我推荐的是python或php,学习 python 可以快速开发出一些有针对性的脚本,而学习 php 可以尝试进行 web 漏洞的挖掘。 同时也要掌握正则表达。

0x10 Linux使用

学习渗透的同学在这段时间又能分为两条路,一是web安全,二是内网渗透。web安全偏重于web应用漏洞挖掘和利用,内网渗透偏重于网络环境的分析、内网计算机的漏洞利用。内网中大部分重要计算机属于Linux,所以学会Linux基础的使用,Linux各种服务的搭建、维护、漏洞利用修补是必须的。 推荐图书:《鸟哥的 Linux 私房菜》 非常好的一本书。

0x11 木马免杀

在逆向学习完成后,又可以分为几个小方向:深入破解、exploit、木马免杀。能够自己编写木马后,最需要的就是免杀。如果编写的病毒木马不能运行,也无济于事。免杀成功与否是运气、经验、灵感、技术、耐心的集合体,缺一不可。所以虽然很多人尝试学习,但最后真正能做到完美的人并不多 推荐图书:《黑客免杀攻防》

0x12 Exploit二进制漏洞

在逆向学习完成后,又可以分为几个小方向:深入破解、exploit、木马免杀。其中Exploit对技术要求较高,回报也最丰厚,所以是很多大牛集结之地。学习exp需要对C、C++有牢固的基础,并有一双发现问题的眼睛。在他人眼中可能只是一个软件崩溃或错误信息,在exper眼里就可以是无穷无尽的财富。

0x13 网络环境利用与win服务器

在Linux基础学习到一定程度后,可以开始学习网络,如何利用内网内各种计算机开启的各种服务,来达到渗透进目标机器的目的。当然,同时也要学习 Windows 服务器的使用,了解什么是域,如何在 windows 环境下使用各种服务。因为一个大内网下一般个人机、目标机是windows系统。

0x14 Windows核心编程

在Windows编程学习到一定程度后就可以开始核心编程,其实二者并无太大区别,只是核心编程更加偏重windows内核的一些机制。当你的技术不仅限于开发桌面应用以后,木马、病毒这些更接近系统底层的东西既可以满足要求。这本书对于以后做开发的同学必看不可:《Windows核心编程》、《天方夜谭》、 《寒江独钓》。

以上是学习过程的总结,作参考使用。


下面是我在网上找的关于网络安全学习的思维导图。

供11张,后面附有原图的下载地址

● 网络安全绪论
● 扫描与防御技术
● 网络监听及防御技术
● 口令破解及防御技术
● 欺骗攻击及防御技术
● 拒绝服务供给与防御技术
● 缓冲区溢出攻击及防御技术
● Web攻击及防御技术
● 木马攻击与防御技术
● 计算机病毒
● 网络安全发展与未来

查看链接:https://blog.egsec.cn/archives/402

附件:思维导图下载


最后:

学习网络安全还需要学习网络安全法,要知道什么事情能做,什么事情不能做,一个法律边缘徘徊的学科,所有我们学习的同时也要守住自己的底线。别动不动就攻击入侵他人计算机!

猜你喜欢

转载自www.cnblogs.com/egsec/p/12501710.html