2018-2019-2 20189215 《网络攻防技术》第六周作业

教材《网络攻防技术》第五、六章学习


第5章 TCP/IP网络协议攻击

5.1 TCP/IP协议栈攻击概述

  • 网络安全的属性:机密性 、完整性 、可用性 、真实性 、不可抵赖性 。
  • 网络攻击的基本模式分为:截获(嗅探 与 监听) 、中断(拒绝服务) 、篡改(数据包篡改) 、伪造(欺骗)。
  • TCP/IP网络协议栈在设计时采用了分层模型,分为:网络接口层 、互联层 、传输层 、应用层。每一层当中都有针对破坏网络安全属性为目的的攻击技术。每一层所涉及的主要协议:
    • 网络接口层:以太网协议、PPP协议。
    • 互联层:IPv4、ICMP、ARP、DGP。
    • 传输层:TCP、UDP。
    • 应用层:HTTP、FTP、POP3/SMTP、DNS、SMB。
  • 网络协议栈面临的攻击
  • 协议攻击工具:Netwag、Netwox

5.2 网络层协议攻击

  • IP源地址欺骗:攻击者伪造具有虚假地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。
    最主要用在拒绝服务攻击中,攻击机向目标主机发送大量构造的虚假IP地址,攻击者不需要获取到来自目标主机的返回的数据包,因为这样会攻击者的网络资源,采用虚假IP地址的拒绝服务供给也会起到隐藏真正发起攻击的网络位置。
    • 拒绝服务攻击范例:利用中间人攻击技术嗅探到通信双方的通信过程,抓取通信双方在三次握手建立连接。
    • 防范措施:使用随机化的初始序列号,是的远程攻击者无法猜测道通过源地址欺骗伪装建立TCP;连接所需的序列号;使用IPsec,对传输的数据包进行加密,避免泄露信息;在局域网网关上启动入展过滤机制,阻断来自外部单源IP地址却属于内部网络的数据包。
  • ARP欺骗:攻击者在有线以太网或是无线网络上发送伪造的ARP消息,对特定IP所对应MAC地址进行欺骗,使局域网内主机记录的MAC-IP地址映射表中被攻击者的条目的MAC地址修改为攻击者指定的MAC地址,这样局域网内发送给被攻击者的数据包就会发送给修改后的MAC地址主机。
    • 应用场景:ARP欺骗技术实现网络嗅探;ARP欺骗技术实现中间人攻击。
    • 防范措施:采用静态的IP地址-MAC地址绑定。
  • ICMP重定向攻击:攻击者伪装成路由器(IP地址欺骗:冒充为网关)发送虚假的ICMP重定向路由路径控制报文,使得受害主机选择攻击者指定的路径,从而实现嗅探或假冒攻击。这里存在一个现象:再转发的过程中,攻击节点协议栈可能会向被攻击者发送ICMP重定向报文,说明直接发送给真实的网关比发送给攻击机少一跳,这个报文将会是欺骗路径更改至原路径。
    • 应用场景:中间人攻击、网络嗅探。
    • 防范措施:设置防火墙过滤,对于ICMP重定向报文判断是不是来自本地路由器。

5.3 传输层协议攻击

  • TCP RST 攻击:伪造TCP重置报文攻击,是一种假冒干扰TCP通信连接的技术方法。攻击者通过嗅探的方式来监视通信双方,在获得源、目的IP地址即端口,以及序号之后就可以结合IP地址欺骗技术伪装成通信一方,在确保端口号一致和序列号落入TCP窗口之内的情况下,发送TCP重置报文给通信另一方,就可以中断双方正常的网络通信,达到拒绝服务的目的。
    • 应用场景:中断TCP连接。
  • TCP会话劫持:攻击者通过实施中间人攻击,嗅探到建立连接的通信双方的序列号,通过假冒用户的IP地址向Telnet服务器发送数据包,宣称自己就是用户。而攻击者发送的数据包中的序列号必须满足SVR_ACK<=序列号<=SVR_ACK+SVR_WND,其中的SVR_END为Telnet服务器的接收窗口,Telnet服务器才会接收该数据包。
    • 中间人攻击技术选取:ICMP路由重定向攻击、ARP欺骗攻击,大多数路由设备都禁用ICMP路由重定向,所以目前比较普遍的方法是ARP欺骗技术来进行TCP会话劫持。
    • 防范措施:采用静态IP-MAC绑定。避免中间人攻击。
  • TCP SYN Flood:又称为SYN洪泛攻击模式拒绝服务攻击的一种,利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。
    • 防范措施:SYN-Cookie技术,该技术改变的资源分配策略:当服务器收到一个SYN报文后,不立即分配缓冲区,而是将连接信息生成一个cookie,并将这个Cookie作为将要返回的SYN+ACK报文的初始序列号。单客户端返回一个ACK报文是,根据报头信息计算cookie,与返回的确认号(初始的序列号+1)的前24位进行比较,如果相同,那么是一个正常连接,分配资源,建立连接。
  • UDP Flood拒接服务攻击:通过向目标主机和网络发送大量的UDP报文,造成目标主机显著的计算负载提升,或者目标网络拥塞,从而使得目标主机和网络陷入不可用状态,造成拒绝服务攻击。
    • 防范措施:防火墙和代理机制来过滤掉一些非预期的网络流量。

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

  • 监测、预防与安全加固
  • 网络安全协议。如:网络接口层上的WEP、WPA/WPA2、802.X;网络互联层上的IPsec协议簇;床数层上的TLS;应用层的HTTPS、S/MIME、SET、SSH。
  • 下一代互联网协议:IPv6。

第6章 网络安全防范技术

6.1 安全模型

本章从安全模型开始介绍,网络安全技术分为网络防御技术、网络监测技术和网络安全事件响应技术。

6.2 网络安全防范技术与系统

  • 防火墙:指的是置于不同的网络安全域之间,对网络流量或访问行为实施访问控制的安全组件或设备。它的基本功能是控制计算机网络中不同信任程度网络域之间传送的数据流。
  • 防火墙技术:包过滤技术、基于状态监测的包过滤(或称动态包过滤)技术、代理技术。防火墙的部署方法有:包过滤路由器、双宿主堡垒主机、屏蔽主机、屏蔽子网。
  • 其他网络防御技术:VPN、内网安全管理、内容安全管理SCM、统一威胁管理。
  • Linux开源防火墙:netfilter/iptable。netfilter是Linux内核中实现的防火墙功能模块,iptables则是应用态的防火墙管理工具。
    iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

6.3 网络监测技术与系统

  • 入侵检测技术就是对入侵行为进行检测与发现,它是防火墙之后的第二道安全屏障。入侵检测系统可分为基于主机的入侵检测系统(HIDS)和基于网络的入侵检测系统(NIDS)。入侵检测系统的体系结构分为集中式、层级式和协作式。入侵防御系统是在入侵检测系统基础上发展出来的一种网络安全技术和产品形态,有时也称为内嵌式IDS,它采用直接在网络边界位置内联连接的方式,并在监测到入侵行为后,直接对所关联的攻击网络连接进行阻断处理。
  • Snort是一款非常著名的开源网络入侵检测系统软件,具有强大的功能:数据包嗅探、数据包记录和分析以及各种入侵检测功能。Snort当中的4个主要部件是:数据包嗅探与解码器、预处理器与插件、检测引擎与插件、输出模块与插件。

6.4 网络安全事件响应技术

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

教材五、六章练习


ARP欺骗

本实验中主机角色及IP/MAC地址如下表所示。

主机 IP地址 MAC地址
通信机A 192.168.11.22 00:0C:29:A4:DC:4F
通信机B 192.168.11.150 00:0C:29:7B:A9:44
攻击机C 192.168.11.123 00:0C:29:9F:6E:8F

其中,A与B作为通信双方进行通信,C为攻击者,对A进行ARP欺骗。

  • 首先,A需要ping通B,以产生ARP缓存。
  • 在C上ping通A与B,可以得到ARP缓存。
  • 在C上使用arp -a查看ARP缓存,可以看到IP地址与对MAC之间的映射关系。
  • 在C上使用netwox的33号工具进行ARP欺骗:
  • 在A上查看ARP缓存(不显示ARP缓存可能是因为已经被清空,需要快一点查看),可发现B的MAC地址已改为C的MAC地址,达到欺骗A的目的。

SYN Flood 攻击

本实验中主机角色及IP地址如下表所示。

主机 IP地址
客户端A 192.168.11.22
服务器B 192.168.11.150
攻击机C 192.168.11.123
  • 将B作为Telnet服务器,A作为Telnet客户端。用A的Telnet客户端连接B的Telnet服务器,正常情况如下图所示。
  • 在B上使用命令netstat -na | grep tcp查看端口,可以看到Telnet服务端口是23号。
  • 在C上使用命令sudo netwox 76 -i 192.168.11.150 -p 23对B的23端口进行洪泛攻击。
  • 此时查看B的23端口的待处理队列如下。
  • 此时A的Telnet客户端无法再次连接B的Telnet服务器。

kali视频学习


21.KaliSecruity-密码攻击之在线攻击工具

密码攻击是安全测试中必不可少的一环,kali Linux对密码攻击工具做了整理,如下图。其中在线攻击多为一个服务远程连接并使用用户名与密码破解。

  • Cewl。Cewl可以通过爬行网站获取关键信息创建一个密码字典。比如说爬行一个URL,它通过提取返回页面源码中的一些特定标签中的内容,然后把这些内容组合成一个字典。这对管理员密码特定的枚举更高效,字典价值也就更大。
  • CAT。思科安全审计工具,扫描Cisco路由器的一般性漏洞,例如默认密码,SNMP,community字串和一些老的IOS bug(思科操作系统) 。
  • Findmyhash。在线哈希破解工具,借助在线破解哈希网站的接口制作的工具。使用命令findmyhash MD5 -h 哈希值,连接各个网站的接口测试能否反查到该哈希值的原字符串,从而破解MD5的哈希。命令示例:findmyhash MD5 -h c4ca4238a0b923820dcc509a6f75849b
  • Hydra。支持对各种服务的破解,xhydra 是其图形化页面版本。
    使用方法如下:
hydra -L user.txt -P pass.txt -F ftp://127.0.0.1:21 //破解FTP服务
hydra -L user.txt -P pass.txt -F ssh://127.0.0.1:22 //破解SSH服务
hydra -L user.txt -P pass.txt -F smb://127.0.0.1 //破解SMB服务
hydra -L user.txt -P pass.txt -F mssql://127.0.0.1:21 //破解MSSQL账号密码
  • Medusa。类似于Hydra的一款工具,使用方法类似,命令示例:medusa -u root -P ~/pass.txt -M ssh -h 127.0.0.1
  • NCrack。是一个高速的网络认证破解工具,突出了RDP(3389)爆破功能。命令示例:ncrack -vv -U windows.user -P windows.pwd 192.168.1.101:3389,CL=1 -f
  • Onesixtyone。snmp扫描工具,用于找出设备上的SNMP Community 字串,扫描速度非常快。可以批量获取目标的系统信息。同时,该工具还支持SNMP社区名枚举功能。安全人员可以很轻松获取多台主机的系统信息,完成基本的信息收集工作。
  • Patator。全能暴力破解测试工具,采用模块化设计并具有灵活的可用性。命令示例:patator ssh_login host=127.0.0.1 user=root password=FILE0 0=pass.txt -x ignore:mesg='Authentication failed.'
  • phrasen|drescher。多线程文件插件式的密码破解工具。
  • THC-PPTP-Bruter。针对PPTP VPN端点(TCP端口1723)的暴力破解工具。支持最新的MSChapV2 验证,对windows和Cisco网关测试通过。用以探测微软中存在的一个漏洞,并通过此漏洞,尝试以每秒300个密码进行暴力破解。

22.KaliSecruity-密码攻击之离线攻击工具(一)

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

  • creddump套件。kali Linux下离线攻击工具中的cache-dump、lsadump与pwdump均为creddump套件的一部分,基于Python的哈希抓取工具。
    • cache_dump:Windows系统将用户信息和密钥存储在系统存档文件和安全存档中。只要提取这些内容,就可以获取用户信息和密码哈希值。
    • lsadump:LSA是Windows系统本地安全认证的模块。它会存储用户登录其他系统和服务用户名和密码,如VPN网络连接、ADSL网络连接、FTP服务、Web服务
    • pwdump:Windows运行过程中SAM被锁定,不能直接复制或编辑Windows口令,Pwdump可以将Windows口令从SAM文件中提取出来,并存储在指定的文件中。
  • chntpw。ch=change;nt=window NT;pw=password。用来修改Windows SAM文件实现系统密码修改,也可在kali作为启动盘时做删除密码的用途。
  • crunch。实用的密码字典生成工具,可以指定位数生成暴力枚举字典。例如输入命令:crunch 1 5 0369 即输入1到5位的由0369组成的数。
  • dictstat。字典分析工具,可分析现有字典分布状况,也可按照一定过滤器提取字典。
  • fcrackzip。zip压缩包密码破解工具。首先使用命令zip -P sama cipher.zip plain生成一个带有密码的zip压缩包,然后使用fcrackzip -b -v -c a -l 1-5 -u cipher.zip进行破解。
  • hashcat。Hashcat系列软件是比较强大的密码破解软件,系列软件包含Hashcat、oclHashcat;还有一个单独新出的oclRausscrack。其区别为Hashcat只支持cpu破解;oclHashcat和oclGausscrack则支持gpu加速。oclHashcat则分为AMD版和NIVDA版。
  • hashid。一款简单易用的哈希分析工具,可以判断哈希或哈希文件是何种哈希算法加密的。
    首先进行哈希

    再使用本工具,越靠上说明概率越大。
  • hash-identifier。是一款与HashID类似的一款工具。
  • John the ripper。Linux shadow中账户的密码破解,例如我们对本机的系统哈希进行密码破解,可在短短1s之内得到密码明文。
  • Johnny。John the ripper的图形化界面。

23.KaliSecruity-密码攻击之离线攻击工具(二)

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

  • pyrit。Pyrit是一款无线网络密码破解工具,借助GPU加速,可以让WAP2密码破解更效率。
    • 使用analyze检查抓到的包:pyrit -r xxx.cap analyze
    • 开始跑包(单纯字典):pyrit -r xxx.cap -i yyy.dic -b ssid attack_passthrough
    • 也可以将pyrit与crunch结合使用:1crunch 8 8 1234567890 | pyrit -i - -r /file/hack01-cap -b bssid attack_passthrough //纯数字8位密码字典
  • Rcrack。彩虹表密码哈希工具,使用第一代彩虹表(RT格式)。使用彩虹表可以大幅度加速哈希破解的进度,但要有足够容量的彩虹表,这也是所谓用硬盘的空间换取破解的时间。
  • Rcracki_mt。彩虹表哈希破解工具,支持最新格式的彩虹表进行哈希破解。
  • Rsmangler。字典处理工具,可以生成几个字串的所有可能组合形式,在生成社工字典时亦可用到,可以有选择的关闭某些选项。例如,创建一个test文件,其中有关键词9215和chenxi,然后输入命令rsmangler -f ~/test,便能得到所有可能的字串(拼接test中出现的字符)。
  • Samdump2与BKhive。Linux下破解Windows下哈希的工具
bkhive system bootkey
samdump2 SAM bootkey > hashes
接着使用john破解john hashes即可
  • SIPCrack。针对SIP protocol协议数据包的破解工具,支持PCAP数据包与字典破解。
  • SUCrack。借助su命令进行本地root账户的密码破解。
  • Truecrack。针对TrueCrypt加密文件的密码破解工具。

24.KaliSecruity-密码攻击之哈希传递攻击

passing the hash,中文一般翻译为hash传递攻击,在windows系统中,系统通常不会存储用户登录密码,而是存储密码的哈希值,在远程登录系统的时候,实际上向远程传递的就是密码的hash值。当攻击者获取了存储在计算机上的用户名和密码的hash值的时候,攻击者虽然不知道密码值,但是仍然可以通过直接连接远程主机,通过传送密码的hash值来达到登录的目的。

  • Passing the hash套件。要进行哈希传递攻击,首先要有目标主机的哈希信息,可以用pwdump7抓取哈希。pth套件每个工具都针对win下响应的exe文件,如使用pth-winexe可以借助哈希执行程序得到一个cmdshell。pth-winexe -U Administrator%哈希 //目标地址 cmd借助哈希执行程序得到一个反弹的正向连接shell。
  • keimpx。一款Python编写的哈希传递工具,可以通过已有的hash信息get一个后门shell 。

25.KaliSecruity-无线安全分析工具

kali下无线安全分析工具包括RFID与NPC工具(与之相关的是IC卡的攻击与破解,生活中形形色色的饭卡,工卡,房卡,水卡都可以成为攻击测试的目标)、软件定义无线电工具、蓝牙Hack工具与常规无线网络分析工具(BackTrack系列曾以此闻名,包括Aircrack-ng无线网络分析套件等工具)。

  • Aircrack-ng。是一个与802.11标准的无线网络分析有关的安全软件,主要功能:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解,Aircrack-ng可以工作在任何支持监听模式的无线网卡上并嗅探802.11a,802.11b,802.11g的数据。该程序可运行在Linux和Windows上,Linux版本已经被移植到了Zaurus和Maemo平台上。
  • Cowpatty。wpa-psk握手包密码破解工具
  • EAPMD5PASS。针对EAP-MD5的密码破解工具。
  • Fern Wifi Cracker。图形化界面工具。如果有外置的无线网卡,需要在虚拟机中把无线网卡勾选在kali下,就能通过接口扫描周围的无线网,扫描之后可以做进一步的攻击测试。
  • MDK3。无线DOS攻击测试工具,能发起攻击,也具有针对隐藏ESSID的暴力探测模式、802.1x渗透测试、WIDS干扰等功能。
  • wifite。自动化的无线网审计工具,可以完成自动化破解,由Python脚本编写,结合Aircrack-ng套件与Reaver工具。
  • Reaver。利用了WPS的一个弱点(WPS功能是路由器与无线设备之间的一种加密方式,它与设备中硬编码保存的一个PIN码绑定在一起)。Reaver对开启WPS的路由器的PIN码进行破解,只要有足够的时间,它就能破解WPA或WPA2的密码。

《Python 黑帽子》第五章


代码托管:[https://github.com/jsjliyang/python3-Black.Hat/tree/master/chapter5)

  • web_app_mapper.py
  • joomla_killer.py
原文地址:https://www.cnblogs.com/jsjliyang/p/10634858.html