1.1 怎样从零开始学黑客
很多学生对黑客技术很感兴趣,但是对于怎样从零开始学习黑客知识还是很茫然。例如,不知道要掌握黑客技术应该学哪些知识,哪些知识是必学的,要掌握黑客编程技术应该学习哪些程序开发语言,学会之后要干什么?本节就来介绍怎样从零开始学黑客技术。
1.1.1 计算机原理很重要
在学习黑客知识之前,计算机原理是一定要学习的,从中可以了解很多未来会用到的知识,如计算机的工作流程、数据和指令的存储机制等。这些都是非常重要的知识,如果这些都不懂,那还谈什么黑客技术呢?
1. 计算机的工作原理
用户预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存储器(简称内存)中。这些指令中的每一条指令中都会明确规定计算机从哪个地址取数,进行什么操作,然后送到什么地址等。
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去,直至遇到停止指令。
程序与数据一样存储,按程序编排的顺序,一步一步地取出指令,自动完成指令规定的操作是计算机最基本的工作原理。这一原理最初是由美籍匈牙利数学家冯·诺依曼(John von Neumann)于1945年提出来的,故称为冯·诺依曼原理。
2. 计算机的系统架构
计算机系统由硬件系统和软件系统两部分组成。冯·诺依曼奠定了现代计算机的基本结构,这一结构又称冯·诺依曼结构,其特点如下:
(1)使用单一的处理部件来完成计算、存储以及通信的工作。
(2)存储单元是定长的线性组织。
(3)存储空间的单元是直接寻址的。
(4)使用低级机器语言,指令通过操作码来完成简单的操作。
(5)对计算进行集中的顺序控制。
(6)计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备五大部件组成,并规定了它们的基本功能。
(7)采用二进制形式表示数据和指令。
(8)在执行程序和处理数据时必须将程序和数据从外存储器装入主存储器中,然后才能使计算机在工作时自动地从存储器中取出指令并加以执行。
1.1.2 了解黑客相关术语
在黑客领域中,有一些常用术语,如渗透、DDoS、旁注、WebShell、注入等,需要初学者了解,如果连这些术语都不知道,那真是个黑客“菜鸟”了!下面介绍黑客领域中的相关术语。
1. 肉鸡
所谓“肉鸡”是一种比喻,是指那些能够随意被黑客操控的计算机,对方可以是Windows系统,可以是UNIX/Linux系统,可以是一般的个人计算机,也可以是大型的服务器,能够像操作自己的计算机那样来操作它们,而不被对方所发觉。
2. 木马
木马是那些表面上伪装成了正常的程序,可是当这些程序被运行时,就会获取系统的整个操控权限。有很多黑客就是热衷于运用木马程序来操控别人的计算机,如灰鸽子、黑洞、PcShare等。
3. 网页木马
网页木马表面上伪装成一般的网页文件或是将木马代码直接插入到正常的网页文件中,当有人访问网页时,网页木马就会运用对方系统的漏洞主动将配置好的木马客户端下载到对方的计算机上主动运行,从而控制目标计算机。
4. 挂马
挂马就是在别人的网站文件里面放入网页木马或者是将木马代码潜入到对方正常的网页文件里,以使阅读者中马。
5. 后门
后门是指一种绕过安全性操控而获取对程序或系统控制权的办法。在软件的开发阶段,程序员常会在软件内创建后门以便能够修正程序中的缺陷。如果后门被其他人知道,或是在软件发布之前没有删除,那么它就成了安全隐患。一般大多数的特洛伊木马(Trojan Horse)程序都能够被入侵者用于制造后门。
6. Rootkit
Rootkit是入侵者用来隐藏自己的行踪和保留root控制权限的程序工具。一般,入侵者通过入侵的方式获得root拜访权限进入系统后,再通过对方系统内存在的安全漏洞获得系统的root权限。最后,入侵者就会在对方的系统中安装Rootkit,以达到自己长久操控对方计算机的目的。
7. 弱口令
所谓弱口令是指密码与用户名相同,密码为空的用户名与密码组合,也包括那些密码强度不够,容易被猜解的组合,类似123、abc这样的口令(密码)。
8. Shell
Shell指的是一种指令执行环境,如按Windows+R组合键,打开“运行”对话框,在“打开”文本框中输入cmd,单击“确定”按钮,就会弹出一个用于执行指令的窗口,这个就是Windows的Shell执行环境,也被称为“命令提示符”窗口,如下图所示。
9. 溢出
确切地讲,所谓“溢出”应该是“缓冲区溢出”。简单的解释就是程序对接收的输入数据没有履行有效的检测而导致过错,后果可能是造成程序崩溃或者是履行入侵者的指令。大致分为两类:堆溢出和栈溢出。
10. 免杀
免杀是通过加壳、加密、修正特征码、加花指令等技能来修正程序,使其逃过杀毒软件的查杀。
11. 加壳
加壳是运用特别的算法,将exe可执行程序或者dll动态链接库文件的编码进行改变(如实现压缩、加密),以达到缩小文件体积或者加密程序编码,甚至是躲过杀毒软件查杀的目的。目前较常用的加壳工具有UPX、ASPack、PePack、PECompact、UPack、免疫007、木马彩衣等。
12. 花指令
花指令是几条汇编指令,让汇编语句进行一些跳转,使得杀毒软件不能正常判断病毒文件的结构。通俗来讲,就是杀毒软件是从头到脚按顺序来查找病毒,如果把病毒的头和脚颠倒位置,杀毒软件就找不到病毒了。
1.1.3 掌握黑客技术应学习的编程技术有哪些
很多黑客初学者会遇到一个问题,那就是黑客需要学习编程知识吗?答案是肯定的,那么需要学习哪些编程知识呢?其实这与个人的爱好与发展方向有关,如果是要对网站进行安全漏洞检测,就应该学会HTML、PHP、数据库等编程语言;如果对程序开发有兴趣的话,可以学Java、C++、Python等开发性语言。不过,每种语言都有它的优点和缺点,需要通过自己的筛选进行选择性学习。
1.1.4 学习的耐心很重要
学黑客技术的人很多,失败的人也很多,这是因为一些初学者一旦遇到解决不了的问题,就放弃了;或者三天打鱼两天晒网,刚开始有热情,到了后面就没兴趣了。所以只有真正热爱黑客技术的人,才能坚持下来,这就需要学习的耐心了。
1.1.5 黑客技术未来方向在哪里
黑客技术真正的未来在于安全方面,因为只有安全才对社会的发展有意义,那些对社会有意义的东西才能长久的生存下来。为此,现在的黑客一般都会转型做网络安全,因为网络安全研究的是攻防兼备,这是社会发展的必然趋势。