教材学习

TCP/IP网络协议攻击概述

TCP/IP网络协议栈在设计之初假设环境中的用户都是可信任的,没有考虑其中的安全问题。随着互联网发展,恶意用户出现,许多安全问题逐渐浮出睡眠并受到重视。

网络安全属性

从安全属性来看,机密性(confidentiality)、完整性(intergrity)和可用性(availability)构成了网络安全的三个基本属性,也被称为安全金三角模型(CIA)。国际电信联盟(ITU)在X.800安全体系标准中还定义了网络安全的其他两个属性,包括真实性(authentication)和不可抵赖性(Non-Repudiation)。

  • 机密性:指网络中的信息不被非授权实体获取和使用,通常基于加密算法进行保障。
  • 完整性:是指信息未经授权不能改变的特性,即信息在存储和传输过程中保持不被修改、不被破坏和丢失的特性。
  • 可用性:是指被授权实体访问并按需求使用的特性,即当需要时能够正常地存取和访问所需信息的服务。
  • 真实性:是指确保通信双方是它所声称的真是实体,而非假冒实体。
  • 不可抵赖性:是指在通信中确保任何一方无法抵赖自己曾经做过的操作的安全特性,包括对自己行为的不可抵赖及对行为发生时间的不可抵赖,有时也被称为不可否认性和可审查性。

网络攻击基本模式

网络攻击的基本模式有以下四种:截获、中断、篡改、伪造。其中截获属于被动攻击模式,具体攻击技术为嗅探和监听;中断属于主动攻击,具体攻击技术为拒绝服务;伪造具体攻击技术为欺骗;篡改一般需结合身份欺骗进行中间人攻击。

TCP/IP网络协议栈安全缺陷与攻击技术

TCP/IP网络协议栈在设计之初假设环境中的用户都是可信任的,没有考虑其中的安全问题。

TCP/IP网络协议栈在设计时采用了分层模型,分为了网络接口层、互联层、传输层与应用层,每一层负责不同的功能,各自具有相应的网络协议,每个层次上都有一定的安全问题,具体如下:

网络层协议攻击

网络层的主要协议如IP、ICMP和ARP都存在多种攻击模式

IP源地址欺骗

IP协议在设计时只是用数据宝中的目标地址进行路由转发,从而不对原地址进行真实性验证。怀有恶意的攻击者会修改IP协议包头,使其包含一个不同的虚假IP地址,达到欺骗目标和隐藏发送源的目的。

防范措施包括:

  • 使用随机化的初始序列号,使远程攻击者无法猜测到通过源地址欺骗伪装建立TCP连接所需的序列号。
  • 使用网络层安全传输协议如IPsec,对传输的数据包进行加密。
  • 避免采用基于IP地址的信任策略,以基于加密算法的用户身份认证机制来替代。
  • 在路由器和网关上实施包过滤。

ARP欺骗

也被称为ARP投毒,是指攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗。

ARP协议在进行IP地址到MAC地址映射查询时存在安全缺陷,一方面采用了广播请求包方式在局域网段中询问映射关系,但没有对响应结果进行真实性验证的技术流程与方法,而另一方面ARP协议为提高效率,设计了ARP缓存机制,以及会将主动的ARP应答视作有效信息进行接受,这使得ARP缓存非常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。

防范措施包括:

  • 静态绑定关键主机的IP地址与MAC地址的映射关系
  • 使用相应的ARP防范工具
  • 使用VLAN虚拟子网细分网络拓扑
  • 加密传输数据

ICMP路由重定向攻击

攻击者通过伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击。

ICMP重定向攻击就是利用ICMP路由重定向报文来改变主机的路由表,向目标机器发送重定向消息,自己则可以伪装成路由器,使目标机器的数据报发送至攻击机从而加强监听。

方法措施包括:

  • 根据类型过滤一些ICMP数据包
  • 设置防火墙过滤
  • 对ICMP重定向报文判断是不是来自本地路由器。

传输层协议攻击

传输层的主要协议TCP和UDP也存在很多种不同攻击方式。

TCP RST攻击

这是一种假冒干扰TCP通信连接的技术方法。TCP重置报文将直接关闭掉一个TCP会话连接。

TCP会话劫持攻击

这种攻击目标是劫持通信双方已建立的TCP会话连接,假冒其中一方的身份与另一方进行通信。

TCP使用端到端的连接,即TCP用(源IP,源TCP端口号,目的IP,目的TCP端号)来唯一标识每一条已经建立连接的TCP链路。另外,TCP在进行数据传输时,TCP报文首部的两个字段序号(seq)和确认序号(ackseq)非常重要。序号(seq)和确认序号(ackseq)是与所携带TCP数据净荷(payload)的多少有数值上的关系:序号字段(seq)指出了本报文中传送的数据在发送主机所要传送的整个数据流中的顺序号,而确认序号字段(ackseq)指出了发送本报文的主机希望接收的对方主机中下一个八位组的顺序号。因此,对于一台主机来说,其收发的两个相临TCP报文之间的序号和确认序号的关系为:它所要发出的报文中的seq值应等于它所刚收到的报文中的ackseq的值,而它所要发送报文中ackseq的值应为它所收到报文中seq的值加上该报文中所发送的TCP净荷的长度。

TCP会话劫持的攻击方式可以对基于TCP的任何应用发起攻击,如HTTP、FTP、Telnet等。对于攻击者来说,所必须要做的就是窥探到正在进行TCP通信的两台主机之间传送的报文,这样攻击者就可以得知该报文的源IP、源TCP端口号、目的IP、目的TCP端号,从而可以得知其中一台主机对将要收到的下一个TCP报文段中seq和ackseq值的要求。这样,在该合法主机收到另一台合法主机发送的TCP报文前,攻击者根据所截获的信息向该主机发出一个带有净荷的TCP报文,如果该主机先收到攻击报文,就可以把合法的TCP会话建立在攻击主机与被攻击主机之间。带有净荷的攻击报文能够使被攻击主机对下一个要收到的TCP报文中的确认序号(ackseq)的值的要求发生变化,从而使另一台合法的主机向被攻击主机发出的报文被被攻击主机拒绝。TCP会话劫持攻击方式的好处在于使攻击者避开了被攻击主机对访问者的身份验证和安全认证,从而使攻击者直接进入对被攻击主机的的访问状态,因此对系统安全构成的威胁比较严重。

防范措施包括:

  • 禁用主机上的源路由
  • 采用避免ARP欺骗的措施
  • 采用避免被ICMP重定向的措施

TCP SYN Flood拒绝服务攻击

SYN Flood是一种广为人知的DoS(拒绝服务攻击)是DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。

防范措施包括:

  • SYN-Cookie措施
  • 防火墙地址状态监控技术

UDP Flood 拒绝服务攻击

UDP洪泛是一种拒绝服务攻击,其中大量的用户数据报协议(UDP)数据包被发送到目标服务器,目的是压倒该设备的处理和响应能力。防火墙保护目标服务器也可能因UDP泛滥而耗尽,从而导致对合法流量的拒绝服务。

防范措施包括:

  • 禁用或过滤监控和响应服务
  • 禁用或过滤器他的UDP服务
  • 在网络关键位置使用防火墙和代理机制来过滤掉一些非预期的网络流量

TCP/IP网络协议栈攻击防范措施

  • 监测、预防与安全加固
  • 改进网络安全协议
  • 下一代互联网协议

网络安全防范技术与系统

  • 防火墙。指的是置于不同的网络安全域之间,对网络流量或访问行为实施访问控制的安全组件或设备。它的基本功能是控制计算机网络中不同信任程度网络域之间传送的数据流。具体的为网络管理员提供:

    • (1)检查控制进出网络的网络流量
    • (2)防止脆弱或不安全的协议和服务
    • (3)防止内部网络信息的外泄
    • (4)对网络存取和访问进行监控审计
    • (5)防火墙可以强化网络安全策略并集成其他安全防御机制。
  • 而防火墙也有不足,由于它的先天而无法防范的有:
    • (1)来自网络内部的安全威胁
    • (2)通过非法外联的网络攻击
    • (3)计算机病毒传播。
  • 由于技术瓶颈技术而无法防范的有:
    • (1)针对开放服务安全漏洞的渗透攻击
    • (2)针对网络客户端程序的渗透攻击
    • (3)基于隐蔽通道进行通信的特洛伊木马或僵尸网络。
  • 防火墙技术:包过滤技术、基于状态监测的包过滤(或称动态包过滤)技术、代理技术。防火墙产品:集成包过滤功能的路由器、基于通用操作系统的防火墙软件产品、基于安全操作系统的防火墙、硬件防火墙设备。防火墙的部署方法有:包过滤路由器、双宿主堡垒主机、屏蔽主机、屏蔽子网。
  • Linux开源防火墙:netfilter/iptable。
    • netfilter/iptables开源防火墙工作原理:在 netfilter/iptables防火墙中,netfilter组件位于Linux内核空间中,实现了静态包过滤和状态报文检查基本防火墙功能,此外也支持灵活可扩展框架支持NAT网络地址转换等其他额外功能。
    • Iptables为用户配置netfilter规则的命令接口,语法为:
    • iptables [-t table] command [match] [target] /* command部分告诉iptables命令要做什么,例如插入规则 */
    • netfilter/iptables的NAT机制:IP伪装、SNAT机制、DNAT机制。
  • 其他网络防御技术:VPN、内网安全管理、内容安全管理SCM、统一威胁管理。

网络检测技术与系统

  • 入侵检测技术就是对入侵行为进行检测与发现,它是防火墙之后的第二道安全屏障。评估入侵检测技术和系统的两个重要参数是检测率和误报率。理想的入侵检测系统应该同时具有较高的正确检出率和较低的误报率,然而由于存在“基调悖论”现象,提高检测率与降低误报率互为矛盾。入侵检测技术分为无用检测和异常检测。入侵检测系统可分为基于主机的入侵检测系统(HIDS)和基于网络的入侵检测系统(NIDS),这两者可以互相补充成为分布式入侵检测系统(DIDS)。入侵检测系统的体系结构分为集中式、层级式和协作式。入侵防御系统是在入侵检测系统基础上发展出来的一种网络安全技术和产品形态,有时也称为内嵌式IDS,它采用直接在网络边界位置内联连接的方式,并在监测到入侵行为后,直接对所关联的攻击网络连接进行阻断处理。
  • Snort是一款非常著名的开源网络入侵检测系统软件,用c语言编写,具有强大的功能:数据包嗅探、数据包记录和分析以及各种入侵检测功能。Snort当中的4个主要部件是:数据包嗅探与解码器、预处理器与插件、检测引擎与插件、输出模块与插件。

网络安全事件响应技术

网络安全事件响应是P2DR模型中响应环节的关键技术手段。是指针对那些影响计算机系统和网络安全的不当行为,所采取的措施和行动,旨在阻止和减小事件所带来的影响。计算机安全事件响应小组(CSIRT)是进行网络安全事件应急响应和处理的专业团队。安全事件响应可分为6个阶段:准备、检测、抑制、根除、回复和跟踪。响应过程当中所涉及的关键技术包括计算机取证、攻击追溯与归因、备份恢复与灾难恢复等。

参考资料

网络攻防技术与实践

实践练习

课上活动已完成。

视频学习总结

Kali密码攻击之在线攻击工具

1.Cewl。可以通过爬行网站获取关键信息创建一个密码字典。比如说爬行一个URL,它通过提取返回页面源码中的一些特定标签中的内容,然后把这些内容组合成一个字典。这对管理员密码特定的枚举更高效,字典价值也就更大。

2.CAT(Cisco-Auditing-tool)。一个很小的安全审计工具,扫描Cisco路由器的一般性漏洞,例如默认密码、SNMP community字串和一些老的IOS bog

3.Findmyhash。在线哈希破解工具,借助在线破解哈希网站的接口制作的工具。

4.Hydra。老牌破解工具,支持对各种服务的破解,xhydra 是其图形化页面版本。

5.Medusa。类似于Hydra的一款工具,使用方法类似 。

6.NCrack。相似的功能基本类似,但突出了RDP(3389)爆破功能。

7.ONesixtyone。onesixtyone是一个snmp扫描工具,用于找出设备上的SNMP Community字串,扫描速度非常快。

8.Patator。一款Python编写的多服务破解工具。

Kali密码攻击之离线攻击工具

线密码攻击在渗透测试中很重要,但对于测试过程中得到的哈希,加密数据,需要离线破解工具辅助解决。

1.Creddump套件。Kali Linux下离线攻击工具中的Cache-dump、lsadump与pwdump均为creddump套件的一部分,基于python的哈希抓取工具。

2.Crunch。实用的密码字典生成工具,可以指定位数生成暴力枚举字典。

3.Fcrackzip。Kali下的一款 zip压缩包密码破解工具

4.Hashcat。Hashcat系列软件是比较强大的密码破解软件,系列软件包括Hashcat、oclHashcat;还有一个单独新出的oclRausscrack。其区别为Hashcat只支持cpu破解;oclHashcat和oclGausscrack则支持gpu加速,oclHashcat则分为AMD版和NIVDA版。

5.hashid。一款简单易用的哈希分析工具,可以判断哈希或哈希文件是何种哈希算法加密的。

6.hash-identifier。一款与HashID类似的一款工具。

7.John the ripper。试图破解某个特定的密码散列,常用于Linux shadow 中账户的密码破解。Johnny将John图形化。

8.Ophcrack。利用彩虹表来破解 Windows密码的工具,对应有命令行版的ophcrack-cli。主要有Load、Delete、Save、Table、Crack、Help 和 Exit 七大主要模块。

9.Pyrit。Pyrit是一款无线网络密码破解工具,借助GPU加速,可以让WAP2密码破解更效率。

10.Rcrack。彩虹表密码哈希工具,使用第一代彩虹表,当然首先,要有足够容量的彩虹表。

11.Rsmangler。字典处理工具,可以生成几个字串的所有可能组合形式,在生成社工字典时亦可用到,可以有选择的关闭某些选项。

12.Truecrack。一款针对TrueCrypt加密文件的密码破解工具。

Kali密码攻击之哈希传递

在windows系统中,系统通常不会存储用户登录密码,而是存储密码的哈希值,在我们远程登录系统的时候,实际上向远程传递的就是密码的hash值。当攻击者获取了存储在计算机上的用户名和密码的hash值的时候,他虽然不知道密码值,但是仍然可以通过直接连接远程主机,通过传送密码的hash值来达到登录的目的。
Keimpx。一款Python编写的哈希传递工具,可以通过已有的hash信息get一个后门shell ,本版本需要更新一些包。

Kali无线安全分析工具

1.Aircrack-ng。与802.11标准的无线网络分析有关的安全软件,主要功能有网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解。Aircrack-ng可以工作在任何支持监听模式的无线网卡上并嗅探802.11a,802.11b,802.11g的数据。

2.Cowpatty。知名的WPA-PSK握手包密码破解工具。

3.EAPMD5PASS。针对EAP-MD5的密码破解工具。

4.Fern Wifi Cracker。图形化界面工具。如果有外置的无线网卡,需要在虚拟机中把无线网卡勾选在kali下,就能通过接口扫描周围的无线网,扫描之后可以做进一步的攻击测试。

5.MDK3。无线DOS攻击测试工具,能够发起Beacon Flood、Authentication DoS、Deauthentication/Disassociation Amok等模式的攻击,另外它还具有针对隐藏ESSID的暴力探测模式、802.1X渗透测试、WIDS干扰等功能。

6.wifite。自动化的无线网审计工具,可以完成自动化破解,由Python脚本编写,结合Aircrack-ng套件与Reaver工具。

7.Reaver。利用了WPS的一个弱点(WPS功能是路由器与无线设备之间的一种加密方式,它与设备中硬编码保存的一个PIN码绑定在一起)。Reaver对开启WPS的路由器的PIN码进行破解,只要有足够的时间,它就能破解WPA或WPA2的密码。

Black Hat Python3 Chapter5

web app mapper

目标地址:http://www.blackfire.mobi (感谢网站作者的分享)
joomla应用下载地址:https://github.com/joomla/joomla-cms (需要用到joomla的目录结构)
代码改为python3代码不需要太多修改,把urllib2的相应函数改为urllib中的相应函数即可。

运行结果:

content_bruter

目标地址:https://www.jianshu.com
使用字典来源:https://github.com/nathanmyee/SVNDigger

或者:https://github.com/digination/dirbuster-ng

本代码中使用dirbuster-ng/wordlists/small.txt

修改代码需要注意是否使用代码中的extension扩展,这和选用的字典中带不带后缀有关系,其次原代码中对网址的拼接有问题,重写如下:

for brute in attempt_list:brute_list = brute.split('\'')if len(brute_list) == 3:url = "{}/{}{}".format(target_url, brute_list[1], brute_list[2])elif len(brute_list) == 2:url = "{}/{}".format(target_url, brute_list[1])

运行结果:

joomla_killer

测试网址:https://passport.csdn.net/login

字典来源:https://github.com/rootphantomer/Blasting_dictionary
本代码使用:Blasting_dictionary/常用密码.txt
代码修改就不多说了。比较简单,运行结果如下:

代码链接

Black Hat Python3 Chapter5

转载于:https://www.cnblogs.com/thechosenone95/p/10649839.html

《网络攻防实践》 第六周作业相关推荐

  1. 2017-2018-1 20179215《Linux内核原理与分析》第二周作业

    20179215<Linux内核原理与分析>第二周作业 这一周主要了解了计算机是如何工作的,包括现在存储程序计算机的工作模型.X86汇编指令包括几种内存地址的寻址方式和push.pop.c ...

  2. 2022-2023-1 20222809《Linux内核原理与分析》第一周作业

    Linux内核原理与分析第一周作业 配置环境 1.参考Linux(Ubuntu)系统安装图文教程中第二种借助virtualbox成功配置Ubuntu环境 2.升级更新软件包 可以通过调节分辨率和虚拟机 ...

  3. 实验楼 linux内核原理与分析,《Linux内核原理与分析》第一周作业 20189210

    实验一 Linux系统简介 这一节主要学习了Linux的历史,Linux有关的重要人物以及学习Linux的方法,Linux和Windows的区别.其中学到了LInux中的应用程序大都为开源自由的软件, ...

  4. 2021-2022-1 20212820《Linux内核原理与分析》第一周作业

    声明:本文是基于Linux 基础入门_Linux - 蓝桥云课 (lanqiao.cn)这门课学习所写的课程笔记. 实验1 Linux系统简介 Linux主要包括是系统调用和内核两部分 Linux与W ...

  5. 2022-2023-1 20222816《Linux内核原理与分析》第一周作业

    目录 实验一     Linux系统简介 实验二     基础概念及操作 实验三     用户及文件权限管理 总结 第一周课后在实验楼学习了<Linux入门>(新版),以下是我本周的学习笔 ...

  6. 《Linux内核原理与分析》第二周作业

    反汇编一个简单的C程序 1.实验要求 使用: gcc –S –o test.s test.c -m32 命令编译成汇编代码,对汇编代码进行分析总结.其中test.c的具体内容如下: int g(int ...

  7. 2018-2019-1 20189218《Linux内核原理与分析》第九周作业

    进程调度的时机 进程调度时机就是内核调用schedule函数的时机.当内核即将返回用户空间时,内核会检查need_resched标志是否设置.如果设置,则调用schedule函数,此时是从中断(或者异 ...

  8. 20189220 余超《Linux内核原理与分析》第一周作业

    实验一 Linux系统简介 通过实验一主要是学习到了Linux 的历史简介,linux与windows之间的区别,主要是免费和收费,软件和支持,安全性,使用习惯,可制定性,应用范畴等.linux具有稳 ...

  9. 2018-2019-1 20189201 《LInux内核原理与分析》第九周作业

    那一天我二十一岁,在我一生的黄金时代.我有好多奢望.我想爱,想吃,还想在一瞬间变成天上半明半暗的云.那一年我二十一岁,在我一生的黄金时代.我有好多想法.我思索,想象,我不知该如何行动,我想知道一个城市 ...

  10. 2018-2019-1 20189208《Linux内核原理与分析》第九周作业

    活动 main函数编译有问题,div 函数和系统中某个函数重名,浮点输出有问题,scanf也有问题 修改如下 scanf_s("%d %d", &a, &b); p ...

最新文章

  1. 基于依存句法分析的关键短语抽取算法实战
  2. 【Python基础】学习用Pandas处理分类数据!
  3. 中缀表达式转换为前缀及后缀表达式并求值【摘】
  4. LeetCode--226--翻转二叉树
  5. 苹果年底推出搭载M2芯片MacBook Air和MacBook Pro
  6. 移除mac下 .Ds_Store的解决办法
  7. 用Keil-MDK开发TQ2440裸机程序入门教程
  8. 170923_Spring Cloud 微服务实战(翟永超著) 读书笔记(一)_什么是Spring Cloud?
  9. event mpm php,Apache下三种MPM模式:prefork,worker和event
  10. Saber2016仿真软件安装详细步骤及hostID全为0的可能原因
  11. suse linux修改系统时间,linux时间和时区修改(附suse)
  12. 运放自激震荡的大杂烩总结
  13. 第六讲 Keras实现手写字体识别分类
  14. 前端面试经典题目合集--77题
  15. android-使用asm.jar将Android手机屏幕投影到电脑
  16. Linux/Centos7搭建饥荒服务器教程
  17. 一次幸运的校招小米Java后台offer(1),Java面试2021
  18. ffmpeg+sdl音频播放器
  19. 实用干货|腾讯内部几近满分的项目管理方法(PPT)
  20. 第五届浙江省网络与信息安全竞赛部分WP

热门文章

  1. 数据百问系列:“未知”数据该如何处理?
  2. SuRF : Practical Range Query Filtering with Fast Succinct Tries
  3. 苏州光伏逆变器走进宜家英国实体店
  4. 畸变矫正及像素损失分析
  5. 蓝桥杯STM32G431RBT6学习——定时器中断
  6. 使用element ui 的日期插件搜索清空时报错
  7. 5秒钟之后跳转页面(点击按钮直接跳转)
  8. 华为要求七千员工先辞职再竞岗 补偿费超10亿
  9. 华为机考攻略(python)--入门题【5题】(第一题HJ5进制转换)
  10. 二叉树前序中序后续线索树_后序线索二叉树怎么画 线索二叉树基本操作详解 - 办公软件 - 服务器之家...