零基础小白如何自学网络安全成为顶尖黑客?

在成为黑客之前,你需要做两点准备:

1、学一门编程语言。学哪一门不重要,但你要参考一下下面的条例:

  • C语言是Unix系统的基础。它(连同汇编语言)能让你学习对黑客非常重要的知识:内存的工作原理。
  • Python或Ruby是高级而强大的脚本语言
    ,能够实现多项任务的自动化。
  • Perl也是这方面的一个合理选择,同时PHP也值得一学,因为大部分网络应用都使用了PHP。
  • Bash脚本编程是必须掌握的。它能帮助你轻松地控制Unix/Linux系统 – 通过编写脚本程序,让它们为你完成大部分工作。
  • 汇编语言也是必须了解的。它是处理器能理解的基本语言,且现实中存在着多种版本的汇编语言。所有的程序最终都会被解释成汇编语言。如果你不懂得汇编语言,你将无法深入钻研每一程序。

2、确定你的目标。收集和目标相关信息的过程又被称为枚举。你事先掌握的信息越多,你的准备就越充分。

好了,接下来,黑客十部曲:

1、**使用*nix命令终端。**Cygwin将为Windows用户提供模拟的*nix环境。Nmap专门使用了WinPCap,它可以运行在Windows系统上,且不需要Cygwin的支持。然而,由于缺乏原始套接字功能,Nmap并不能很好地在Windows系统上工作。你也应该考虑使用Linux或BSD,它们更灵活、更可靠、更安全。大部分Linux发行版都附带了很多预装的有用工具。

2、首先加强你的机器的安全性。确保你已经充分理解所有能保护自己系统的常用技术。从基础开始 – 你是否曾发现有服务器托管着含有非法或不良信息的网站?尝试通过各种方法入侵它。不要更改网站,只要取得其控制权即可。

3、**测试目标系统。**你是否能连通远程系统?虽然你能使用ping实用程序(大部分操作系统包含有该程序)了解目标系统是否活跃,但其结果并不总是可靠的 – 该程序需要以ICMP协议为基础,这能轻易地被谨慎的系统管理员所屏蔽。

4、**确定操作系统(OS)。**进行端口扫描,你可以使用pOf或者nmap进行扫描。该方法能让你了解目标机器上开放了哪些端口,运行着哪种操作系统,甚至还能获取关于所使用的防火墙或路由器等信息,以便你能准备好一系列的攻击计划。你可以使用nmap的-O选项进行操作系统的探测。

5、**找出系统中的路径或开放端口。**FTP(21)及HTTP(80)等常用端口通常都得到了较好的保护,找出尚未被发现的漏洞可能比较容易发起攻击。

  • 尝试其他不太常用的TCP和UDP端口,例如Telnet及一些用于局域网游戏的UDP端口。
  • 如果系统开放了22号端口,通常能证明该目标系统上运行着SSH(secure shell)服务,对此有时可以进行暴力破解。

6、**破解密码或认证过程。**有几种方法能破解密码,其中包括暴力破解。对密码的暴力破解就是使用暴力破解软件,尝试每一个包含在预定义词典中的可能密码。

  • 用户通常被建议不要使用过于简单的密码,因此暴力破解可能需要较长时间。然而,暴力破解技术已经得到了长足的改进。
  • 大部分散列算法都存有漏洞,因此你可以通过发掘这些漏洞来显著加快破解速度(例如你可以缩减MD5算法至1/4的比例,这将大幅提高其运行速度)。
  • 较新的技术使用显示卡作为另一个处理器 - 这能提高速度达数千倍。
  • 你可以尝试使用彩虹表来达到最快的破解速度。请注意,只有当你掌握了密码的散列值时,密码破解才是一项可行的好技术。
  • 在登录远程系统时,尝试每一个可能的密码并不是一种好的方法,因为这中行为将会轻易地被系统的入侵检测程序所检测到,同时会污染系统日志,并且可能需要数年时间才能破解密码。
  • 比起采用密码破解,采用别的方法也许能更容易入侵一个系统。

7、**获得超级用户权限。**尝试获得*nix机器的根用户权限,或者是Windows系统上的管理员权限。

  • 很多重要信息都会得到特别保护,因此你需要通过一定程度的认证才能获得这些信息。要查看系统上的所有文件,你需要取得超级用户权限 – 即Linux和BSD系统上"root"用户所具备的权限。
  • 对于路由器,默认的超级用户是"admin"帐户(除非已被更改);对于Windows,即为管理员账户。
  • 和系统取得连接并不意味着你就能获得一切。只有超级用户,管理员帐户,或root帐户能具备一切权限。

8、**多管齐下。**通常,要获得超级用户身份,你必须采用多种方法,例如制造缓冲区溢出,从而导致内存转储,并允许你在比一般情况下更高级的层次中进行代码注入或执行任务。

  • 在类Unix系统中,如果一个软件设置了setuid权限,该程序将可以以另一个用户的身份(例如超级用户)被执行。
  • 这只能通过编写或找出你能在他们的机器上运行的不安全程序才能这样做。

9、**建立后门。**当你对机器取得完全控制后,最好能确保下一次你也能顺利地再次登录。这可以通过建立后门来实现,这是一种重要的服务,例如SSH服务器。然而,你的后门有可能会在下一次系统升级时被删除。 经验老道的黑客会在编译器当中设置后门,因此每次软件编译后都能留有一条路径让他们再次回来。

10、**掩饰你的痕迹。**不要让管理员知道系统已经被入侵。不要更改网站(如果有的话),也不要创建不必要的文件。不要创建额外的用户。动作要迅速。如果你修补了一个服务器,如SSHD,确保你的密码已被硬编码。如果有人尝试使用该密码登录,系统将允许他们的进入,但不应该包含任何重要信息。

那么入门黑客要掌握的技术有哪些呢!

1、黑客术语

去一个地方就要学会人家的家乡话,不然就不知所云了。就好比:肉鸡是什么?端口、shell、webshell、shellcode、bypass…等等,你得知道它是什么意思,了解术语的话可以去看看这里的百度文库,写的还很不错,对大多数的黑客术语都有过渡,而且对计算机网络原理需要有着一定的基础,所以务必要去学习一下。

了解好黑客术语后,你是不是就以为:我现在是不是就能去入侵别人家的电脑、网站挂黑页了?不可能的,你还需要掌握一些网络的协议,比如TCP/IP协议,了解一些渗透技术和技巧。

2、网络协议

在成为黑客前呢,还有一件重要的事,你必须要知道网络协议:TCP/IP协议。因为你只要懂了个大概,对后期做渗透测试以及了解一些漏洞原理帮助是非常大的,网站的重要性就不需要多说了吧,要想成为一名黑客,不懂网站怎么可以。http、www、html、css、JavaScript等建站所需的技术都要会,这算是基本功!!

3、编程

知道为什么要学习编程吗?因为编程能让我们懂得很多原理,就好比你学会PHP编程,你就懂得了网站的基本运作原理。

有一句话说得好:“只有对原理了然如心,才能突破更多的限制!”,也就是说,当你懂得了原理以后,你就会知道哪些地方可能会存在漏洞,哪些地方可以进行突破,最终得到一个shell。

推荐大家前期要学习的编程语言:Python、Web前端(HTML、CSS、JavaScript)和PHP,编程是最基础的技能,新手学习建议从Python开始。好多小白总感觉学编程得从C语言开始,其实没必要,语言只是工具,编程最核心的还是编程思想,要学会用计算机的思维去思考问题。

宋丹丹的小品不是有这么一个笑话嘛:“把大象装冰箱需要几步”。如果是真的开发一个程序把大象装冰箱里,还真就得一步步都要考虑到,而且每一步操作,可能出现的异常都要充分考虑清楚,尽可能在程序中把可能出现的所有异常都要做出处理。语言都是一通百通,所以找一个相对容易入门的语言开始学就可以,不必纠结到底什么语言好。

4、漏洞原理

当你学会了一些工具的使用,那么你就可以去学习一些漏洞原理了,比如:XSS、CSRF、CORS、SSRF、SQL注入、文件上传、文件包含、未授权访问…等等。我之前说过,当你学会编程后,你学这些漏洞原理理解起来会很快!!

5、熟练掌握常用的操作系统

Windows是使用人数最多的操作系统,这个是必须要掌握的。其次就是Linux系统,选择一个合适的发行版,开始学习就可以,比如:Ubuntu和CentOS。

最后

网络安全学习路线&学习资源

请添加图片描述

网络安全的知识多而杂,怎么科学合理安排?

下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!

初级网工

1、网络安全理论知识(2天)

①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)

①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)

①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)

①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)

①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)

①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

“脚本小子”成长进阶资源领取

7、脚本编程(初级/中级/高级)

在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。

8、超级网工

这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。

网络安全工程师企业级学习路线

如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。

一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。

请添加图片描述

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

特别声明:

此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值