我是靠谱客的博主 安详硬币,最近开发中收集的这篇文章主要介绍《网络攻防实践》 第六周作业,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

教材学习

TCP/IP网络协议攻击概述

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

网络安全属性

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

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

网络攻击基本模式

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

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

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

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

1506386-20190329154028031-86577418.png

网络层协议攻击

网络层的主要协议如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,它通过提取返回页面源码中的一些特定标签中的内容,然后把这些内容组合成一个字典。这对管理员密码特定的枚举更高效,字典价值也就更大。

1506386-20190403163356253-1961285947.png

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

1506386-20190403163406057-1763914774.png

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

1506386-20190403163414623-519181390.png

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

1506386-20190403163421682-1388441946.png

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

1506386-20190403163430268-1483524134.png

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

1506386-20190403163442138-1036454627.png

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

1506386-20190403163449016-639682691.png

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

1506386-20190403163458143-934031359.png

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

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

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

1506386-20190403163503337-727642790.png

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

1506386-20190403163510985-1733604183.png

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

1506386-20190403163519908-476380891.png

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

1506386-20190403163526964-1078616305.png

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

1506386-20190403163533392-1275512534.png

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

1506386-20190403163540786-1025809052.png

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

1506386-20190403163549353-1227916443.png

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

1506386-20190403163553050-838999435.png

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

1506386-20190403163601753-85177720.png

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

1506386-20190403163611107-943684729.png

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

1506386-20190403163618788-1027130189.png

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

1506386-20190403163626248-1571415370.png

Kali密码攻击之哈希传递

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

1506386-20190403164439528-1135894506.png

Kali无线安全分析工具

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

1506386-20190403163645454-1958734270.png

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

1506386-20190403163652546-739159025.png

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

1506386-20190403163659006-602262213.png

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

1506386-20190403163708005-173181975.png

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

1506386-20190403163717024-686779089.png

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

1506386-20190403163726302-967264670.png

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

1506386-20190403163900377-917154334.png

Black Hat Python3 Chapter5

web app mapper

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

运行结果:

1506386-20190404182426491-209661325.png

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])

运行结果:

1506386-20190404182435237-1601250909.png

1506386-20190404182446750-694341363.png

joomla_killer

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

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

1506386-20190404182454385-1385519299.png

代码链接

Black Hat Python3 Chapter5

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

最后

以上就是安详硬币为你收集整理的《网络攻防实践》 第六周作业的全部内容,希望文章能够帮你解决《网络攻防实践》 第六周作业所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部