文章目录
- 一、自学网络安全学习的误区和陷阱
- 二、学习网络安全的一些前期准备
- 三、自学网络安全学习路线
- 一、网络攻击的步骤
- 1、搜集初始信息
- 2、搜确定攻击目标的IP地址范围
- 3、扫描存活主机开放的端口
- 4、分析目标系统
- 二、口令安全
- 1、口令破解
- 2、口令破解方法
- 3、设置安全的口令
- 4、设置口令的准则
- 三、网络监听
- 1、网络监听原理
- 2、网络监听实践
- 3、网络监听防范
一、自学网络安全学习的误区和陷阱
1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习
我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而且实际向安全过渡后可用到的关键知识并不多
一般人如果想要把编程学好再开始学习网络安全往往需要花费很长时间,容易半途而废。而且学习编程只是工具不是目的,我们的目标不是成为程序员。建议在学习网络安全的过程中,哪里不会补哪里,这样更有目的性且耗时更少
2.不要把深度学习作为入门第一课
很多人都是冲着要把网络安全学好学扎实来的,于是就很容易用力过猛,陷入一个误区:就是把所有的内容都要进行深度学习,但是把深度学习作为网络安全第一课不是个好主意。原因如下:
【1】深度学习的黑箱性更加明显,很容易学的囫囵吞枣
【2】深度学习对自身要求高,不适合自学,很容易走进死胡同
3.不要收集过多的资料
网上有很多关于网络安全的学习资料,动辄就有几个G的材料可以下载或者观看。而很多朋友都有“收集癖”,一下子购买十几本书,或者收藏几十个视频
网上的学习资料很多重复性都极高而且大多数的内容都还是几年前没有更新。在入门期间建议“小而精”的选择材料,下面我会推荐一些自认为对小白还不错的学习资源,耐心往下看
二、学习网络安全的一些前期准备
1.硬件选择
经常会问我“学习网络安全需要配置很高的电脑吗?”答案是否定的,黑客用的电脑,不需要什么高的配置,只要稳定就行.因为黑客所使用的一些程序,低端CPU也可以很好的运行,而且不占什么内存.还有一个,黑客是在DOS命令下对进行的,所以电脑能使用到最佳状态!所以,不要打着学习的名义重新购买机器…
2.软件选择
很多人会纠结学习黑客到底是用Linux还是Windows或者是Mac系统,Linux虽然看着很酷炫,但是对于新人入门并不友好。Windows系统一样可以用虚拟机装靶机来进行学习
至于编程语言,首推Python,因为其良好的拓展支持性。当然现在市面上很多网站都是PHP的开发的,所以选择PHP也是可以的。其他语言还包括C++、Java…
很多朋友会问是不是要学习所有的语言呢?答案是否定的!引用我上面的一句话:学习编程只是工具不是目的,我们的目标不是成为程序员
(这里额外提一句,学习编程虽然不能带你入门,但是却能决定你能在网络安全这条路上到底能走多远,所以推荐大家自学一些基础编程的知识)
3.语言能力
我们知道计算机最早是在西方发明出来的,很多名词或者代码都是英文的,甚至现有的一些教程最初也是英文原版翻译过来的,而且一个漏洞被发现到翻译成中文一般需要一个星期的时间,在这个时间差上漏洞可能都修补了。而且如果不理解一些专业名词,在与其他黑客交流技术或者经验时也会有障碍,所以需要一定量的英文和黑客专业名词(不需要特别精通,但是要能看懂基础的)
比如说:肉鸡、挂马、shell、WebShell等等
三、自学网络安全学习路线
重点内容
网络攻击的步骤
设置安全的口令
网络监听原理与防范
一、网络攻击的步骤
1、搜集初始信息
确定攻击目标后,需要有初始信息,如一个IP地址或一个域名。然后攻击者可根据已知的域名查找关于这个站点的信息。比如站点服务器的存放地理位置、或维护站点的工作人员,这些都能够帮助攻击者了解被攻击对象。搜集初始信息的一些方法包括以下几种。
●开放来源信息。开放的来源是指关于攻击目标或者它的合作伙伴的一般、公开的信息,任何人能够得到。这意味着存取或者分析这种信息比较容易,且获取这些信息时不会被怀疑。
●Whois。对于攻击者而言,任何有域名的公司必定泄露某些信息。攻击者对目标域名执行whois查询,即可找到目标相关信息。通过查看whois的输出,攻击者会得到一些非常有用的信息,例如得到一个物理地址、一些人名和电话号码(可用于社会工程学攻击)。
●Nslookup。Nslookup(Name System Lookup),即域名系统查询,是用于查询目标域名内的各类DNS记录的命令行工具,也是查找目标主机其它IP地址的方法之一。DNS查询结果还包括目标域内的MX记录,从而了解目标域内的邮件服务器信息。
2、搜确定攻击目标的IP地址范围
当攻击者明确单个目标主机的IP地址后,通常还要找出网络的IP地址范围,及子网掩码。这样做有两方面的原因:
其一,假设有目的IP地址为10.10.10.5,要扫描整个A类地址段需要相当长的时间。如果确定目标只是该A类地址段的一个很小的子集,则能大大节省扫描时间,加快攻击进度。
其二,某些攻击目标安全防范措施较好,对其进行扫描会触发报警,因而扫描大的地址段风险较大。
达到此目的的主要手段是使用traceroute命令,该命令可以知道一个数据包在通过网络时的各段路径。利用这一信息,能判断主机是否在相同的网络上。通常,连入Internet上的网络都会设置一个出口路由器(或类似设备),并通过防火墙后的交换机连接其它入网计算机。
3、扫描存活主机开放的端口
确定目标IP地址范围后,攻击者需要了解目标网络中有哪些存活主机。目标网络中不同段会有不同的主机处于开机状态。
通常攻击者在白天扫描活动的机器,然后深夜再次查找,这样能大致区分个人计算机和服务器,因为服务器始终都处于运行状态,而个人计算机通常只在白天开机。
ping命令是用来测试目标主机的存活状态的基本方法。如果目标主机上安装了防火墙,并设置不响应ping命令发出的连通性测试数据包,则需要使用其它办法来判断目标主机是否在网络中。
为了提高扫描效率,通常使用专用的扫描工具软件来进行扫描,并且这类工具会提供类似ping命令等多种方式来对设定的IP地址段进行扫描。
针对目标网络中的存活主机,需要进一步了解其运行状况。首先要掌握的就是目标主机上开放了哪些端口。根据开放的端口来判断是否有相应的漏洞可利用,或根据端口上开放的服务来分析目标系统的运行状况。
4、分析目标系统
根据存活主机扫描、端口扫描过程中,目标主机返回的信息,能在某种程度上判断目标主机使用的哪一种操作系统。不同的操作系统有不同的漏洞,相应有着不同的漏洞利用程序及入侵步骤。
分析目标主机的开放端口上监听的服务,能获得关于目标的更多信息。例如,扫描得知目标主机的TCP 25端口处于开放状态,则可连接到该端口,了解目标主机上运行的电子邮件服务程序的名称、版本号,然后查找相应邮件服务程序对应版本是否有可利用的漏洞。
有一些探测远程主机并确定在运行哪种操作系统的程序。这些程序通过向远程主机发送不平常的或者没有意义的数据包来完成。
对目标系统了解越多,找到其缺陷、漏洞的可能性也就越大。
二、口令安全
1、口令破解
基于用户名、口令的访问控制机制,是网络应用的基本安全防范机制。
许多网络应用会涉及到经济活动或经济利益,由此也出现了大量用于盗取网络应用口令的密码窃取工具。
各类网络应用为了降低密码被盗的概率,绞尽脑汁采取了各种手段,将用户输入用户名、口令的过程以尽可能安全的方式进行保护。
2、口令破解方法
典型的口令破解有以下几种方法:
●暴力破解。就是利用程序自动排列字符和数字的组合,并利用这个排列去尝试登录系统的过程。从理论上来说,这种方式能破解任何系统的口令,但实际中这种方式往往是效率最低的。
●字典破解。将一些网络用户所经常、习惯使用的口令,以及曾经通过各种手段所获取的其它系统的口令,集中在一个文本文件中。破解程序读取这个“字典”文件,针对目标系统自动逐一进行测试登录。也就是说,只有当目标用户的口令存在于其字典文件中,才会被这种方式找到。
●掩码破解。所谓掩码口令是假设我们已经知道口令的某一位或几位,此时候可以对该位设置掩码,将口令的其它各位使用字符、数字的各种组合,通过不断尝试来猜测口令。
●网络嗅探破解。与前3中方式相比,这种方式不同之处在于并非通过不断的尝试来破解口令。这种方式的工作原理是,通过捕获网络上流过的数据,从中找出相关的口令。下图是一次Web邮箱登录过程中捕获到的网络数据。
3、设置安全的口令
使用与个人、亲人、朋友的信息相关的数字作为口令,是典型的“弱口令”,这种口令极易被破解。
口令越长、越复杂越安全。
例如,好的口令不应仅仅包含数字或仅仅包含字符,甚至字符也不应仅仅包含小写或仅仅包含大写。如果再结合一些“%#!$^_+”等字符,这个口令就更安全了。
较长较复杂的口令安全性是足够了,易用性却太差。因而,好的口令应当不仅仅指口令够复杂、够长。好 的口令应当是指其构造方法:口令容易记住,但很难被破解。
以下是设置好的口令的一套准则:
●选择核心短语。开始要选一个至少5个单字长的短语。这可以是某首歌的头一行、一句引语或者是书名,或者是一段汉字的拼音,只要能牢记的都行。然后利用该短语创建核心口令,通常的办法是取每个单词的头一个字母。
4、设置口令的准则
以下是设置好的口令的一套准则:
●选择核心短语。开始要选一个至少5个单字长的短语。这可以是某首歌的头一行、一句引语或者是书名,或者是一段汉字的拼音,只要能牢记的都行。然后利用该短语创建核心口令,通常的办法是取每个单词的头一个字母。
●用大写字母、数字或者符号替代一些小写字母。注意混合使用大写、小写字母及数字。在脑子里记住替换规则,这样无需将替换后的口令写在纸上或文件中,从而避免被发现。
●针对各个主机或应用定制口令。例如,使用同一个核心口令,在此基础上根据不同应用再添加若干与主机或应用系统相关、便于记忆的字符。
●根据不同安全需求等级设置不同的口令。如果相关账户不涉及财务信息,则通常使用一个核心口令短语即可。
三、网络监听
1、网络监听原理
网络监听,又称为网络嗅探(Sniff),是指利用工具软件或专用硬件,将网络中某节点流经的数据包捕获下来,进行分析或用作其它用途。实现网络监听的工具软件,称为Sniffer。
典型的网络监听工具软件有Ethereal(开源软件,后更名为WireShark)、WildPacket EtherPeek(新版本更名为WildPacket OmniPeek)、Sniffer Pro等。
网络监听技术通常是提供给网络安全管理人员进行管理的工具,可以用来监视网络的状态、数据流动情况以及网络上传输的信息等。
以太网使用的CSMA/CD(Carrier Sense Multiple Access with Collision Detection,带冲突检测的载波监听多路访问),其工作方式是:
将要发送的数据帧发往连接在一起的所有主机,帧中包含着目的主机的网卡地址(MAC地址),只有与数据帧中地址地址一致的那台主机才会接收此帧,其它主机收到后直接丢弃此帧。
若主机的网络接口工作监听模式下,则无论数据帧中的目标地址是多少,主机都会接收此帧(当然只能监听经过自己网络接口的那些包)。
当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。
2、网络监听实践
确定网络中需要监听的节点后。下载、安装好以下软件,即可实现网络监听,以Windows环境为例。
●WinPcap。建议到其官方网站http://www.winpcap.org下载。当前最新稳定版本是4.1.1。
●Ethereal或WireShark。官方网站http://www.ethereal.org。
Ethereal和WireShark的运行,需要WinPcap的支持,因此需要先安装WinPcap,再安装Ethreal或WireShark。
安装Ethreal后,运行其主程序Ethereal.exe,如下图。
在Ethereal弹出的界面中,找到正确的网卡,点击该网卡对应的“Capture”按钮,即开始监听该网卡上的网络数据,如下图。
3、网络监听防范
要做到对网络监听的比较有效的防范,可采取以下措施。
●从逻辑或物理上对网络分段
网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全的一项措施。其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听。
●以交换式集线器(即交换机)代替共享式集线器
●使用数据加密技术
数据经过加密后,监听虽然可以得到传送的信息,却无法获取其有效内容。使用加密技术的缺点是影响数据传输速度。
●划分VLAN
运用VLAN(Virtual LAN,虚拟局域网)技术,将以太网通信变为点到点通信,可以防止大部分基于网络监听的攻击。