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

一、第四章 网络嗅探和协议分析


1.网络嗅探

定义:
  网络嗅探是一种黑客常用的窃听技术,与传统的电话窃听在电话线路上对特定号码的通话内容类似,网络嗅探利用计算机的网络接口截获目的地为其它计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。
工作原理与实现:

  • 以太网工作原理
  • 共享式网络与交换式网络中的嗅探
    (1)MAC地址洪泛攻击
    (2)MAC欺骗
    (3)ARP欺骗
  • 类UNIX平台的网络嗅探技术实现
  • Windows平台的网络嗅探实现技术

网络嗅探器软件:

  • 类UNIX平台网络嗅探器软件:
    (1)libpcap抓包开发库
    (2)tcpdump嗅探器软件
    (3)wireshark嗅探器软件
    (4)其他嗅探器软件:dsniff、sniffit和linux_sniffer等
  • windows平台网络嗅探器软件:
    SnifferPro、Buttsniffer、NetMon、Network Associates Sniffer等。

网络嗅探的检测与防范

  • 检测
    网络嗅探属于一种被动式非干扰性的攻击手段,具有很高的隐蔽性,因此对网络嗅探的检测比较困难,但仍然有一些技术手段能够对网络中的嗅探器进行检测。在同一台主机上可以查看网卡是否运行在混杂模式下,来发现正在进行监听的嗅探器。
  • 防范措施
    (1)采用安全的网络拓扑,尽量将共享式网络升级为交换式网络,并通过在交换机上设置VLAN等技术手段,对网络进行合理的分段,从而尽量使得网络包只被转发到目的主机上。
    (2)用静态ARP或者MAC-端口映射表代替动态规划,该措施主要是对渗透嗅探进行防范。
    (3)重视网络数据传输的集中位置点的安全防范,如网关、路由器和交换机等,这些位置能够让网络嗅探发挥最大的网络数据捕获功效,成为攻击者的重要关注区域,因此也应该成为网络管理员的重要防范区域。
    (4)避免使用明文传输口令或敏感信息的网络协议,而使用加密及安全增强的网络协议进行替代。

2.网络协议分析

网络协议分析的过程:
(1)首先网络嗅探得到的原始数据是在链路层传输的二进制数据包,大多数情况下是以太网数据帧;
(2)对以太网数据帧进行结构分析,定位出帧头各字段结构,根据帧头的Type字段确定网络层协议类型,大多数情况下是IP协议(0800),并提取数据帧中包含的网络层数据内容:
(3)进一步对IP数据包分析,如果设置了分片位,则进行IP分片重组,根据IP协议头中的Protocol字段,确定传输层协议类型,通常情况下是TCP(6)或者UDP(17),并提取IP数据包中的传输层数据内容;
(4)继续根据TCP或UDP的目标端口确定具体的应用层协议,如http、ftp、telnet等协议数据包,并对TCP或者UDP数据包进行拼接重组,得到应用层特定协议的应用交互内容;
(5)依据相应的应用层协议对数据进行整合恢复,得到实际传输的数据。
而对于未知的网络协议,如一些新型恶意代码所使用的定制协议,或者一些采用加密进行保护的协议,例如,进行协议分析的难度非常大,需要分析师具有较高的二进制逆向工程技术能力,以确定出这些协议的格式。
Snort解析网络层协议过程:
(1)解析以太网数据帧
  解析之前先考虑以太网数据帧的格式图,帧头中包括6字节的目的MAC地址,6字节的源MAC地址,2字节的上层协议类代码。
  Snort中decode.c的DecodeEthPkt例程的解包过程大致如下:
  ①预处理:拆包之前进行一些前期处理,如以太网鲍计数自增,判断包头长度是不是大于预定义的最大包头长度,是不是小于预定义的最小包头长度,若发现有误则进行报错处理等。
  ②拆包:实际的拆包过程很简单,将当期得到的包的指针赋予Packet数据结构中相应的指针eh(EtherHdr型的指针)即可。
  ③解析上层协议:用switch语句对以太网包头中指定的上层应用类型代码进行选择,调用相应的处理函数。
(2)解析IP数据包
  IP数据包的解析与以太网数据帧处理类似,也有一个结构体分别对应IP数据包头的各类信息,其中版本号和报头长度是作为一个字节数据存放的,标志位和分段位移也是共享一个字节的,并且其中没有涉及IP包的选项和填充(它们在Packet数据结构中)。
(3)解析TCP数据包
  TCP数据包格式,同样在Snort中有结构体与之对应,而TCP选项和填充也在Packet数据结构中。
  TCP报文解析的过程DecodeTCP也分为三个部分:
  ①预处理,包的长度等信息的检验。
  ②拆包:将当前的包的指针赋给Packet的tcph,之后也有一些关于包合法性的处理以及TCP数据包中标志位的处理、选项和填充的处理。
  ③解析:数据的得到只需要将指针向后移动TCP的包头长度并赋值给相应的指针,以后的数据处理则交由相应的程序处理,区分不同上层协议的便是端口号,如80端口一般对应http,23端口对应telnet,21端口对应ftp等。

二、kali视频学习(11-15)


1.KaliSecurity——漏洞分析之OpenVAS使用

(1)利用浏览器打开openvas

(2)新建扫描目标(target),并对其进行设置

(3)创建扫描任务

(4)点击开始进行扫描任务

(5)查看扫描报告,当前发现一个中级危险

(6)扫描结果如下:

2.KaliSecurity——漏洞分析之扫描工具

(1)WEB漏洞Golismero
  使用golismero scan 主机IP命令即可对主机进行漏洞扫描,这里选用IP为192.168.43.20,扫描结果如下:

(2)漏洞扫描器nikto
使用nikto -h 127.0.0.1 对自身进行扫描:

(3)Lynis系统信息收集整理工具
使用lynis --check-all进行信息收集:

(4)unix-privesc-check信息收集工具
使用unix-privesc-check standard 命令查看信息:

3.KaliSecurity——漏洞分析之WEB爬行

(1)Apache-users
使用命令:apache-users -h 172.0.0.1 -l /usr/share/wordlists/dirbuster/apache-user-enum-2.0.txt -p 80 -s 0 -t 10 -e 403
(2)CutyCapt:网站截图工具
使用命令:cutycapt --url=http://www.baidu.com/ --out=baidu.png 可以将百度首页截图

(3)DIRB:强大的目录扫描工具
使用命令类型:

对百度进行扫描:

4.KaliSecurity——漏洞分析之WEB漏洞扫描(一)

(1)cadaver
cadaver是一个用来浏览和修改WebDAV共享的Linux命令行程序。
(2)DavTest
使用 davtest -url 命令行
(3)deblaze
针对Flash的远程枚举
(4)Fimap
Fimap是一款本地及远程的文件包含漏洞检测工具,并能对检测到的漏洞进行利用,带了一个google的语法搜索功能。
(5)Grabber
Grabber是一个WEB应用漏洞扫描器,可以指定扫描漏洞类型结合爬虫对网络进行安全扫描,其支持以下漏洞扫描:

5.KaliSecurity——漏洞分析之WEB漏洞扫描(二)

  • Joomla Scanner
  • SkipFish
  • Uniscan
  • W3AF
  • Wapiti
  • Webshag
  • WebSploit

猜你喜欢

转载自www.cnblogs.com/heyzero/p/10574017.html