自学网络安全(黑客),一般人还是算了吧

前言

几十年前刚有小型电脑的时候,产生了一个由程序专家和部分网络名人所组成的文化社群。该社群的成员创造出了hacker这个词,也就是人们常说的“黑客”。这些黑客们建立了后来的Internet,以及发明了电脑的操作系统。

如果有人对这种文化做出了贡献,并且得到了社群的认可,其他成员就会尊称其为“黑客”,带有一种同道中人

的意味。事实上有些人在网络上进行着四处破坏的活动,并自称为黑客,然而这些人并不算黑客,充其量就是“骇客”而已,真正的黑客一直以建设为己任。

在这里插入图片描述

那么,在当今这个时代里,究竟要怎么样才能成为黑客呢?

从零开始成为一名黑客最首要的事情

首先大家要区分自己对未来的定位,如果是想当一名骇客,那只需要自学一些技术,然后去网上搞搞破坏,再坐上几次监狱,恐怕就差不多了。但要成为一名黑客,则不应持有这种态度。

所以从零开始当黑客,最首要的是保持一个正确的态度,编程都是其次。黑客以建设事物为己任,崇尚自由以及双向的帮助。要得到“黑客”这一名号,首先你所做的行为就要符合这种态度才行。

网络渗透是攻击者常用的一种攻击手段,也是一种综合的高级攻击技术,同时网络渗透也是安全工作者所研究的一个课题,在他们口中通常被称为"渗透测试"。

无论是网络渗透还是渗透测试,其实际上所指的都是同一内容,也就是研究如何一步步攻击入侵某个大型网络主机服务器群组。

只不过从实施的角度上看,前者是攻击者的恶意行为,而后者则是安全工作者模拟入侵攻击测试,进而寻找最佳安全防护方案的正当手段。

另外再扩展一点关于网络渗透的知识

网络渗透攻击与普通攻击的不同: 网络渗透攻击与普通网络攻击的不同在于,普通的网络攻击只是单一类型的攻击。

例如,在普通的网络攻击事件中,攻击者可能仅仅是利用目标网络的Web服务器漏洞,入侵网站更改网页,或者在网页上挂马。也就是说,这种攻击是随机的,而其目的也是单一而简单的。

网络渗透攻击则与此不同,它是一种系统渐进型的综合攻击方式,其攻击目标是明确的,攻击目的往往不那么单一,危害性也非常严重。

例如,攻击者会有针对性地对某个目标网络进行攻击,以获取其内部的商业资料,进行网络破坏等。因此,攻击者实施攻击的步骤是非常系统的,假设其获取了目标网络中网站服务器的权限,则不会仅满足于控制此台服务器,而是会利用此台服务器,继续入侵目标网络,获取整个网络中所有主机的权限。

为了实现渗透攻击,攻击者采用的攻击方式绝不仅此于一种简单的Web脚本漏洞攻击。攻击者会综合运用远程溢出、木马攻击、密码破解、嗅探、ARP欺骗等多种攻击方式,逐步控制网络。 总体来说,与普通网络攻击相比,网络渗透攻击具有几个特性:攻击目的的明确性,攻击步骤的逐步与渐进性,攻击手段的多样性和综合性。

在这里插入图片描述

那么黑客要具备什么能力?

1.学习基本的编程

编程是黑客的基本技能,会一门编程语言是肯定的,而且要多少了解它的高级特性。比如你从C和C++
起步就非常好。但C是相当大以及相当复杂的一门语言,标准多、编译器版本也多,学习成本也非常高,幸好目前世界上最通用的服务器类Unix操作系统都是用C语言写出来的,所以你可以先关注操作系统

底层,多看内核文档,看底层代码,看懂以后再看看通过了解它的特性后,我能做些什么非常规操作,这就是一般黑客的作案手段了。

而这些只是第一步,掌握几门语言还不能达到黑客的技术水平,程序员都不够。要做其他类的编程还要网络基本的操作系统等等,精通网络管理
,才能更深入的向下面学习和发展,有良好的态度,知道自己该干什么,下面要干什么,要学习汇编语言,等各种高深的语言,编程等,做一个资深级的黑客就要好几年,更何况一个顶级的大师级的,到时候工作效率能提高很多。

2.学会使用并运行Unix

虽然还有其他很多操作系统,但二进制
形式是一切的起点。除此外,如今的黑客文化很大程度上是依靠Unix为中心的,刚刚说过,世界上最通用的服务器类Unix操作系统就是用C语言写出来的,不了解Unix将无法成为真正的Internet黑客。所以你不学习好C语言肯定也是一大损失。当然你可以同时安装Linux及Windows在同一台电脑上对比使用。阅读它的源代码,并尝试修改,也许会感到其乐无穷。

在这里插入图片描述

3.学会使用Web和写HTML

黑客所构建的框架,大多在看不见的地方默默发挥作用,就比如帮助办公室或工厂完成运转。只不过Web是个意外,这个黑客的“玩具”在雷厉风行地改变着世界。不过谁都会使用浏览器
,所以你还要会写HTML才行,HTML会教会你一些思考习惯,让你更好的编程,所以先起步做一个主页吧。而要想主页具有价值,就要靠你自己丰富它的内容了。

作为计算机小白的话,又该如何下手?

首先,还是搞懂计算机原理

要完成这部分内容,可以有很多开始的点。可以从手边的电脑开始搞起,当然也可以买一本编程语言类的书自学也行。其次,如果已经可以用一门语言自行编程了,那计算机原理就差不多了,就可以触碰所谓的“网络协议”了。

当前两步都完成了,就是学习黑客基础的时候了。这些内容有大量前辈留下的书对照,他们系统性的认知以及框架,都会很快引领你进入一个全新的思维模式

1.计算机的工作原理

要完成这部分的基础学习,你有很多开始的起点选择,你可以选择从经常使用电脑开始,也可以从明天起开始选择一门编程语言去学开始(此处注意:小白可能不理解有哪些语言,并且很容易陷入迷乱中),或者是去一些论坛逛逛,或者是买一本书籍。起点的渠道很多,看你选择哪一种。

我建议,首先从一门编程语言开始,一定要死磕,选择一门编程语言不能放弃,要从头到尾的去学完。我在这里不推荐语言,可以自己慢慢了解去选择自己喜欢的一门。(了解过程中不免有迷茫,很正常)

但这还只是一部分而已,还有一部分硬件的知识可能需要你去理解。比如什么是冯诺依曼结构?作为一名小白可以不那么三心二意,先把前人给你指引的首要的东西学了,然后再去拓展是最稳妥的。

计算机众所周知的是由软件+硬件的机器,硬件是轨道,软件是跑车,跑车在轨道上跑才形成了各种各样的数据样式的展现。这是形象化了的举例,与真正的硬件和软件有所出入,但是前期为了理解,放弃那种精确,求之以粗糙是很有必要的。上面我的建议,从编程开始入手学习,从更大的视野来看,就是从软件开始下手,因为硬件已经被设计完成,与你操作计算机的关系不大,一个懂硬件的未必会对计算机操作很牛逼,因为你的目的是黑客,是对计算机工作的控制,而不是构造计算机,因此软件优先于硬件。因此,去找一门编程语言,死磕一门,绝对要死磕,(我指的是想成为黑客大神的人,如果你的目标就是能搞个小入侵,知道点计算机的基本工作过程,没有必要),学完一门语言后你就会进步很多,到时候你思维打通了,你才会明白今天我所说的。至于学什么语言前面我已经说过不能推荐,一定要自己去摸索。

2.计算机网络基础

接着对于所有软件程序中的一个集合“网络协议”也就很容易学习了。
网络协议本质是程序,他的功能是让计算机之间能够通信,加一点,安全通信。再上一部分的计算机工作原理基础上你学习完成后,那么这一部分的学习很轻松。但是绝对重要,因为黑客的影响力主要来自互联网,没有广泛相互联系的互联网,黑客也只能对面前的计算机进行操控,而不能远程去控制和攻击,学习计算机网络会让你明白黑客攻击当中的很多远程的方式,并且黑客的多数伟大和神秘也是互联网赋予的。

3.黑客基础

黑客基础是给学习完以上两大基础后依然不知道如何入侵和进行黑客工程的人准备的,一般有黑客天赋的人学完以上两部分,对于如何利用计算机通过网络去进入其他计算机的系统,窃取信息等都会不学自通。
假如你还尚未打通,那么就要学学黑客的基础,这方面有大量前辈们所写的书,对于前辈经验们的系统性的梳理去认知也很快会让你进入一个不一样的思维模式去。

1、Web安全相关概念(2周)

了解网络安全相关法律法规
熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。
通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google;
阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;
看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);

2、熟悉渗透相关工具(3周)

熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。
了解该类工具的用途和使用场景,先用软件名字Google;
下载无后门版的这些软件进行安装;学习并进行使用,例如:Brup的教程、sqlmap;待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;

3、渗透实战操作(5周)

掌握渗透的整个阶段并能够独立渗透小型站点。网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);
自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
思考渗透主要分为几个阶段,每个阶段需要做那些工作;
研究SQL注入的种类、注入原理、手动注入技巧;研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等;
研究XSS形成的原理和种类,具体学习方法可以Google;研究Windows/Linux提权的方法和具体使用;

4、关注安全圈动态(1周)

关注安全圈的最新漏洞、安全事件与技术文章。
浏览每日的安全技术文章/事件;
通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下
通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累);
多关注下最新漏洞列表,推荐几个:exploit-db

5、熟悉Windows/Kali Linux(3周)

学习Windows/Kali Linux基本命令、常用工具;
熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等;
熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
熟悉Kali Linux系统下的常用工具,可以参考SecWiki,《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》。

6、服务器安全配置(3周)

学习服务器环境配置,并能通过思考发现配置存在的安全问题。Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,;
Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等;
远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
配置软件Waf加强系统安全,在服务器配置mod_security等系统;
通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。

7、脚本编程学习(4周)

选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;
用Python编写漏洞的exp,然后写一个简单的网络爬虫;
PHP基本语法学习并书写一个简单的博客系统

8、源码审计与漏洞分析(3周)

能独立分析脚本源码程序并发现安全问题。
熟悉源码审计的动态和静态方法,并知道如何去分析程序;
从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;
了解Web漏洞的形成原因,然后通过关键字进行查找分析;
研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。

9、安全体系设计与开发(5周)

能建立自己的安全体系,并能提出一些安全建议或者系统架构。
开发一些实用的安全小工具并开源,体现个人实力;
建立自己的安全体系,对公司安全有自己的一些认识和见解;
提出或者加入大型安全系统的架构或者开发;

学习框架已经整理完毕,现在就差资料资源了,我这里整理了所有知识点对应的资料资源文档。点击蓝字无偿领取

👉 黑客&网络安全入门&进阶学习资源包👈
https://mp.weixin.qq.com/s/Y3CCqQmoAcqWvwslUk7r3g

以下是一些网络安全学习方面的书籍推荐,但是随着技术的发展和变化,书籍内容也会更新迭代。建议在学习过程中随时关注最新的网络安全技术。

在这里插入图片描述

别看东西很多,其实都是很简单的基础知识。计算机专业的同学都应该接触了解过,可以略过。

Web安全/渗透测试推荐资源

没学过的同学也不要慌,可以再看点文献或者看相关视频
总结了一些零基础入门精品视频,相对于比较杂乱的教程要系统一些。

在这里插入图片描述

网络安全需要常用到的工具合集,当然不常见用到了也帮大家整理好了,这里就不一一展示。
偶尔也需要看一些文献帮助了解网络安全行业现阶段的需求和内容。

在这里插入图片描述

黑客&网络安全入门&进阶学习资源包,大家记得点个关注,关注之后后台会自动发送给大家!

结语

给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。给自学的小伙伴们的意见是坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。

希望你最后成为的是“黑客”,而不是“骇客”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大安全家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值