文章目录
- 一、自学网络安全学习的误区和陷阱
- 二、学习网络安全的一些前期准备
- 三、自学网络安全学习路线
- 一、概述
- 二、IP欺骗及防御技术
- 1、基本的IP欺骗
- 2、源路由攻击
- 3、IP欺骗的高级应用——TCP会话劫持
- 4、TCP三步握手连接建立
- 5、TCP会话劫持过程
- 6、IP欺骗攻击的防御
- 7、防范源路由欺骗
- 8、防范信任关系欺骗
- 9、防范会话劫持攻击
- 三、ARP欺骗攻击与防御技术
- 1、ARP背景知识介绍
- 2、ARP欺骗攻击原理
- 3、ARP欺骗攻击的检测与防御
一、自学网络安全学习的误区和陷阱
1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习
我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而且实际向安全过渡后可用到的关键知识并不多
一般人如果想要把编程学好再开始学习网络安全往往需要花费很长时间,容易半途而废。而且学习编程只是工具不是目的,我们的目标不是成为程序员。建议在学习网络安全的过程中,哪里不会补哪里,这样更有目的性且耗时更少
2.不要把深度学习作为入门第一课
很多人都是冲着要把网络安全学好学扎实来的,于是就很容易用力过猛,陷入一个误区:就是把所有的内容都要进行深度学习,但是把深度学习作为网络安全第一课不是个好主意。原因如下:
【1】深度学习的黑箱性更加明显,很容易学的囫囵吞枣
【2】深度学习对自身要求高,不适合自学,很容易走进死胡同
3.不要收集过多的资料
网上有很多关于网络安全的学习资料,动辄就有几个G的材料可以下载或者观看。而很多朋友都有“收集癖”,一下子购买十几本书,或者收藏几十个视频
网上的学习资料很多重复性都极高而且大多数的内容都还是几年前没有更新。在入门期间建议“小而精”的选择材料,下面我会推荐一些自认为对小白还不错的学习资源,耐心往下看
二、学习网络安全的一些前期准备
1.硬件选择
经常会问我“学习网络安全需要配置很高的电脑吗?”答案是否定的,黑客用的电脑,不需要什么高的配置,只要稳定就行.因为黑客所使用的一些程序,低端CPU也可以很好的运行,而且不占什么内存.还有一个,黑客是在DOS命令下对进行的,所以电脑能使用到最佳状态!所以,不要打着学习的名义重新购买机器…
2.软件选择
很多人会纠结学习黑客到底是用Linux还是Windows或者是Mac系统,Linux虽然看着很酷炫,但是对于新人入门并不友好。Windows系统一样可以用虚拟机装靶机来进行学习
至于编程语言,首推Python,因为其良好的拓展支持性。当然现在市面上很多网站都是PHP的开发的,所以选择PHP也是可以的。其他语言还包括C++、Java…
很多朋友会问是不是要学习所有的语言呢?答案是否定的!引用我上面的一句话:学习编程只是工具不是目的,我们的目标不是成为程序员
(这里额外提一句,学习编程虽然不能带你入门,但是却能决定你能在网络安全这条路上到底能走多远,所以推荐大家自学一些基础编程的知识)
3.语言能力
我们知道计算机最早是在西方发明出来的,很多名词或者代码都是英文的,甚至现有的一些教程最初也是英文原版翻译过来的,而且一个漏洞被发现到翻译成中文一般需要一个星期的时间,在这个时间差上漏洞可能都修补了。而且如果不理解一些专业名词,在与其他黑客交流技术或者经验时也会有障碍,所以需要一定量的英文和黑客专业名词(不需要特别精通,但是要能看懂基础的)
比如说:肉鸡、挂马、shell、WebShell等等
三、自学网络安全学习路线
重点内容
概述
IP欺骗及防御技术
ARP欺骗及防御技术
一、概述
认证:
认证是网络上的计算机用于相互间进行识别的一种鉴别过程,经过认证的过程,获准相互交流的计算机之间就会建立起相互信任的关系。
信任:
信任和认证具有逆反关系,即如果计算机之间存在高度的信任关系,则交流时就不会要求严格的认证。而反之,如果计算机之间没有很好的信任关系,则会进行严格的认证。
目前比较流行的欺骗攻击主要有5种:
IP欺骗:使用其他计算机的IP来骗取连接,获得信息或者得到特权;
ARP欺骗:利用ARP协议的缺陷,把自己伪装成“中间人”,效果明显,威力惊人;
电子邮件欺骗:电子邮件发送方地址的欺骗;
DNS欺骗:域名与IP地址转换过程中实现的欺骗;
Web欺骗:创造某个万维网网站的复制影像,从而达到欺骗网站用户目的的攻击。
二、IP欺骗及防御技术
1、基本的IP欺骗
最基本的IP欺骗技术有三种:
简单的IP地址变化
源路由攻击
利用Unix系统的信任关系
这三种IP欺骗技术都是早期使用的,原理比较简单,因此效果也十分有限。
攻击者将一台计算机的IP地址修改为其它主机的地址,以伪装冒充其它机器。
首先了解一个网络的具体配置及IP分布,然后改变自己的地址,以假冒身份发起与被攻击方的连接。这样做就可以使所有发送的数据包都带有假冒的源地址。
2、源路由攻击
简单的IP地址变化很致命的缺陷是攻击者无法接收到返回的信息流。为了得到从目的主机返回源地址主机的数据流,有两个方法:
一个方法是攻击者插入到正常情况下数据流经过的通路上;
另一种方法就是保证数据包会经过一条给定的路径,而且作为一次欺骗,保证它经过攻击者的机器。
它包括两种类型的源路由:
宽松的源站选择(LSR):发送端指明数据流必须经过的IP地址清单,但是也可以经过除这些地址以外的一些地址。
严格的源路由选择(SRS):发送端指明IP数据包必须经过的确切地址。如果没有经过这一确切路径,数据包会被丢弃,并返回一个ICMP报文。
源站选路给攻击者带来了很大的便利。
攻击者可以使用假冒地址A向受害者B发送数据包,并指定了宽松的源站选路或者严格路由选择(如果确定能经过所填入的每个路由的话),并把自己的IP地址X填入地址清单中。
当B在应答的时候,也应用同样的源路由,因此,数据包返回被假冒主机A的过程中必然会经过攻击者X。
这样攻击者不再是盲目飞行了,因为它能获得完整的会话信息。
3、IP欺骗的高级应用——TCP会话劫持
会话劫持就是接管一个现存动态会话的过程,换句话说,攻击者通过会话劫持可以替代原来的合法用户,同时能够监视并掌握会话内容。
此时,攻击者可以对受害者的回复进行记录,并在接下来的时间里对其进行响应,展开进一步的欺骗和攻击。
会话劫持结合了嗅探及欺骗技术。
在一般的欺骗攻击中攻击者并不是积极主动地使一个用户下线来实现他针对受害目标的攻击,而是仅仅装作是合法用户。此时,被冒充的用户可能并不在线上,而且它在整个攻击中不扮演任何角色,因此攻击者不会对它发动进攻。
但是在会话劫持中,为了接管整个会话过程,攻击者需要积极攻击使被冒充用户下线。
4、TCP三步握手连接建立
TCP三步握手是TCP协议在建立连接时使用的一种三次握手技术。这种技术确保客户端和服务器之间的可靠性连接。TCP三步握手的过程如下:
-
第一步:客户端向服务器发送SYN(同步请求)包,告诉服务器客户端想要建立连接,并给服务器传递一个初始序列号。
-
第二步:服务器收到SYN包后,向客户端发回一个ACK(确认)包,表明服务器已收到客户端的请求,并告诉客户端服务器的初始序列号。
-
第三步:客户端收到ACK包后,向服务器发送一个ACK包,表明客户端也收到了服务器的回复,连接建立成功。
总的来说,第一步是客户端请求连接,第二步是服务器确认请求并建立连接,第三步是客户端向服务器发送确认连接请求。这三步握手使得双方都知道连接已成功建立,并且开始传输数据。
5、TCP会话劫持过程
step1:发现攻击目标
对于寻找合适的目标有两个关键的问题。
首先,通常攻击者希望这个目标是一个准予TCP会话连接(例如Telnet和FTP等)的服务器。
其次,能否检测数据流也是一个比较重要的问题,因为在攻击的时候需要猜测序列号。这就需要嗅探之前通信的数据包,对于交换网络环境,可能还需要使用ARP欺骗。
step2:确认动态会话
攻击者如何寻找动态会话?
与大多数攻击不同,会话劫持攻击适合在网络流通量达到高峰时才会发生的。
首先,他有很多供选择的会话;其次,网络流通量越大则被发现的可能就越小。
如果只有一个用户进行连接并数次掉线,那么就很有可能引起那个用户的怀疑。但是,如果网络流通量很大并且有很多的用户进行连接,那么用户们很有可能忽略掉线后面隐藏的问题,也许只是认为这是由于网络流通过大而引起的。
step3:猜测序列号
TCP区分正确数据包和错误数据包仅通过它们的SEQ/ACK序列号。序列号却是随着时间的变化而改变的。因此,攻击者必须成功猜测出序列号。
通过嗅探或者ARP欺骗,先发现目标机正在使用的序列号,再根据序列号机制,可以猜测出下一对SEQ/ACK序列号。
同时,攻击者若以某种方法扰乱客户主机的SEQ/ACK,服务器将不再相信客户主机正确的数据包,从而可以伪装为客户主机,使用正确的SEQ/ACK序列号,现在攻击主机就可以与服务器进行连接,这样就抢劫一个会话连接。
step4:使客户主机下线
当攻击者获得了序列号后,为了彻底接管这个会话,他就必须使客户主机下线。
使客户主机下线最简单的方式就是对其进行拒绝服务攻击,从而使其不再继续响应。
服务器会继续发送响应给客户主机,但是因为攻击者已经掌握了客户主机,所以该机器就不再继续响应。
step5:接管会话
既然攻击者已经获得了他所需要的一切信息,那么他就可以持续向服务器发送数据包并且接管整个会话了。
在会话劫持攻击中,攻击者通常会发送数据包在受害服务器上建立一个账户,甚至留下某些后门。通过这种方式,攻击者就可以在任何时候轻松进入系统了。
6、IP欺骗攻击的防御
方法1:限制用户修改网络配置
为了阻止攻击者使用一台机器发起欺骗攻击,首先需限制那些有权访问机器配置信息的人员。这么做就能防止员工执行欺骗。
方法2:入口过滤
大多数路由器有内置的欺骗过滤器。过滤器的最基本形式是,不允许任何从外面进入网络的数据包使用单位的内部网络地址作为源地址。
因此,如果一个来自外网的数据包,声称来源于本单位的网络内部,就可以非常肯定它是假冒的数据包,应该丢弃它。
这种类型的过滤可以保护单位的网络不成为欺骗攻击的受害者。
方法3:出口过滤
为了执行出口过滤,路由器必须检查数据包,确信源地址是来自本单位局域网的一个地址。
如果不是那样,这个数据包应该被丢弃,因为这说明有人正使用假冒地址向另一个网络发起攻击。离开本单位的任何合法数据包须有一个源地址,并且它的网络部分与本单位的内部网络相匹配。
7、防范源路由欺骗
保护自己或者单位免受源路由欺骗攻击的最好方法是设置路由器禁止使用源路由。
事实上人们很少使用源路由做合法的事情。因为这个原因,所以阻塞这种类型的流量进入或者离开网络通常不会影响正常的业务。
源路由欺骗是指攻击者在网络通信中伪装成其他节点,从而达到窃取、篡改、干扰网络数据的目的。防范源路由欺骗的方法主要有以下几点:
-
访问控制列表(ACL):ACL可以限制不合法的数据包进入网络,防止源路由欺骗的攻击。
-
加密技术:加密技术可以将数据包的内容加密,从而防止攻击者窃取、篡改数据包。
-
网络监控:实时监控网络通信,识别和拦截可疑的数据包和攻击行为。
-
维护网络安全:及时更新安全补丁,使用安全软件和设备,保障网络的安全。
-
加强对用户的管理:加强用户的认证和授权,限制用户的权限,防止恶意用户进行攻击。
8、防范信任关系欺骗
保护自己免受信任关系欺骗攻击最容易的方法就是不使用信任关系。但是这并不是最佳的解决方案,因为便利的应用依赖于信任关系。
但是能通过做一些事情使暴露达到最小:
限制拥有信任关系的人员。
不允许通过外部网络使用信任关系。
防范信任关系欺骗可以采取以下措施:
-
保持警惕:在和不完全信任的人进行交往时,要保持警惕,尽量少透露个人敏感信息。如果遇到可疑情况,要注意观察对方的言行举止。
-
调查对方的背景:在进行商业合作或者建立信任关系时,可以通过调查对方的身份、信誉和背景,以确保自己的安全。
-
制定规则:在建立信任关系的过程中,可以制定规则和约束,以保证对方履行承诺,同时也能降低风险。
-
选择可靠平台:在进行网上交易或者社交网络等活动时,可以选择可靠的平台,确保交易和信息安全。
-
学习防范技巧:可以通过学习防范技巧,如辨别虚假信息、骗局等,以加强自我防范。
9、防范会话劫持攻击
会话劫持攻击是非常危险的,因为攻击者能够直接接管合法用户的会话。
在其他的攻击中可以处理那些危险并且将它消除。但是在会话劫持中,消除这个会话也就意味着禁止了一个合法的连接,从本质上来说这么做就背离了使用Internet进行连接的目的。
会话劫持是指攻击者通过各种方式获取用户登录信息后,冒充用户身份登录目标系统,从而获取用户敏感信息或执行恶意操作的攻击方式。以下是防范会话劫持攻击的一些常见方法:
-
使用HTTPS加密协议:HTTPS是基于TLS/SSL协议的加密传输协议,能够有效地防范中间人攻击和会话劫持攻击。
-
使用双因素身份认证:双因素身份认证要求用户在登录过程中需要输入用户名和密码以外的另外一种身份识别方式,如手机验证码、指纹或面部识别等,可以有效增加攻击者破解用户账号密码的难度。
-
定期更换密码:定期更换密码是一种常见的防范会话劫持攻击的方式,管理员可以设置强密码复杂度策略并强制用户定期更换密码。
-
使用Cookie安全属性:为了防止Cookie被劫持,可以在设置Cookie时添加HTTPOnly和Secure等属性,让Cookie只能通过HTTP协议传输,不能被脚本访问,从而有效防止恶意脚本攻击和会话劫持攻击。
-
监控和记录登录行为:管理员可以对用户登录行为进行监控和记录,及时发现异常登录行为并进行相应处理,从而有效防范会话劫持攻击。
三、ARP欺骗攻击与防御技术
1、ARP背景知识介绍
ARP(Address Resolution Protocol):地址解析协议,用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)[RFC826]。属于链路层的协议。
在以太网中,数据帧从一个主机到达局域网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。
内核(如驱动)必须知道目的端的硬件地址才能发送数据。
ARP协议有两种数据包
ARP请求包:ARP工作时,送出一个含有目的IP地址的以太网广播数据包,这也就是ARP请求包。它表示:我想与目的IP通信,请告诉我此IP的MAC地址。ARP请求包格式如下:
arp who-has 192.168.1.1 tell 192.168.1.2
ARP应答包:当目标主机收到ARP请求包,发现请求解析的IP地址与本机IP地址相同,就会返回一个ARP应答包。它表示:我的主机就是此IP,我的MAC地址是某某某。ARP应答包的格式如下:
arp reply 192.168.1.1 is-at 00:00:0c:07:ac:00
ARP缓存表
ARP缓存表用于存储其它主机或网关的IP地址与MAC地址的对应关系。
每台主机、网关都有一个ARP缓存表。
ARP缓存表里存储的每条记录实际上就是一个IP地址与MAC地址对,它可以是静态的,也可以是动态的。如果是静态的,那么该条记录不能被ARP应答包修改;如果是动态的,那么该条记录可以被ARP应答包修改。
2、ARP欺骗攻击原理
ARP欺骗攻击是利用ARP协议本身的缺陷进行的一种非法攻击,目的是为了在全交换环境下实现数据监听。
通常这种攻击方式可能被病毒、木马或者有特殊目的的攻击者使用。
主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。
ARP欺骗正是利用了这一点。
3、ARP欺骗攻击的检测与防御
1、如何检测局域网中存在ARP欺骗攻击
网络频繁掉线
网速突然变慢
使用ARP –a命令发现网关的MAC地址与真实的网关MAC地址不相同
使用sniffer软件发现局域网内存在大量的ARP reply包
要检测局域网中是否存在ARP欺骗攻击,可以采取以下方法:
-
使用ARP查看命令检查ARP缓存表,查看是否存在重复MAC地址和IP地址的条目。如果存在,这可能就是ARP欺骗攻击的迹象。
-
使用网络监测工具(如Wireshark)检查网络流量,查看是否有异常的ARP请求或响应。特别需要注意的是,在ARP欺骗攻击中,攻击者会发送大量的欺骗性ARP响应,以欺骗受害者设备。
-
检查网络设备的日志文件,以查找任何怪异的或异常的网络活动。例如,有可能会看到大量的ARP响应或源MAC地址变化异常。
-
使用专业的网络安全工具来检测ARP欺骗攻击。这些工具可以检测并报告网络中任何的ARP欺骗攻击,同时也可以提供对应的应对措施。
在实际操作中, 及时更新网络设备的固件和软件补丁可以减少网络设备受到ARP欺骗攻击的风险,并且不定期进行网络安全检查和渗透测试,做好防御工作。
2、如何发现正在进行ARP攻击的主机
如果你知道正确的网关MAC地址,通过ARP –a命令看到的列出的网关MAC与正确的MAC地址不同,那就是攻击主机的MAC。
使用Sniffer软件抓包发现大量的以网关的IP地址发送的ARP reply包,包中指定的MAC就是攻击主机的MAC地址。
使用ARP保护程序发现攻击主机的MAC:ftp://166.111.8.243/tools/ArpFix.rar
要发现正在进行ARP攻击的主机,可以采取以下方法:
-
使用ARP缓存表(ARP cache)查看:ARP攻击会导致ARP缓存表中出现异常记录,比如相同IP地址对应不同的MAC地址。因此,定期检查ARP缓存表中的记录,发现异常记录即可怀疑是否存在ARP攻击。
-
使用ARP监控工具:有些网络安全工具中提供了ARP监控功能,可以实时监控ARP请求和响应,从而发现ARP攻击。常用的ARP监控工具有ARPwatch、ARPON等。
-
使用流量分析工具:ARP攻击会导致大量虚假ARP请求和响应的产生,因此可以使用网络流量分析工具(如Wireshark)来捕获网络流量,分析ARP数据包的来源和目的,确定是否存在ARP攻击。
-
使用入侵检测系统(IDS):某些IDS系统中提供了ARP攻击检测功能,可以自动检测并报告ARP攻击行为。
无论采用哪种方法,都需要有一定的网络安全技术知识和经验,以便能够正确地识别和应对ARP攻击。
3、ARP欺骗攻击的防范
MAC地址绑定,使网络中每一台计算机的IP地址与硬件地址一一对应,不可更改。
使用静态ARP缓存,用手工方法更新缓存中的记录,使ARP欺骗无法进行。
使用ARP服务器,通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。
使用ARP欺骗防护软件,如ARP防火墙。
及时发现正在进行ARP欺骗的主机并将其隔离。
ARP欺骗攻击是一种常见的网络攻击,可以通过以下方法进行防范:
-
使用静态ARP表:静态ARP表是管理员手动添加的ARP映射表项,可以防止ARP欺骗攻击。
-
使用动态ARP缓存表:使用动态ARP缓存表可以避免ARP欺骗攻击,但是缓存表中的项有时会被恶意攻击者篡改,因此需要定期清除和更新。
-
启用802.1x身份验证:802.1x可以限制网络访问只能由经过身份验证的用户进行,可以有效防止ARP欺骗攻击。
-
使用VPN:使用VPN可以建立一个加密通道,保证通信安全,可以有效防止ARP欺骗攻击。
-
安装入侵检测系统(IDS):IDS可以检测并警告管理员ARP欺骗攻击,并提供实时的攻击防范措施。
-
禁用无线网络自动连接功能:无线网络自动连接功能容易被ARP欺骗攻击利用,因此需要禁用。