教材和视频学习总结
一、教材第四章内容学习总结
网络嗅探与协议分析无论是对于网络攻击者、还是防御者,或安全研发人员,都是一个基础技术。本章主要详细介绍了嗅探与协议分析技术原理、实现机制和软件工具。让我们掌握了解使用tcpdump和Wireshark工具。
- 网络嗅探
嗅探技术是网络攻防中的重要词汇。本周学习的重点是wireshark的使用与相关嗅探原理。数据在计算机网络上是以帧为单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会带来安全方面的问题。
每一个在局域网上的工作站都有其硬件地址,这些地址惟一地表示了网络上的机器。当用户发送一个数据包时,这些数据包就会发送到LAN上所有可用的机器。
如果使用Hub,即基于共享网络的情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单地忽略这些数据)。如果某个工作站的网络接口处于混杂模式,那么它就可以捕获网络上所有的数据包和帧。
- wireshark的使用
wireshark的抓包结果整个窗口被分成三部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
使用wireshark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。
上图的数据包列表中,第一列是编号,第二列是截取时间,第三列source是源地址,第四列destination是目的地址,第五列protocol是这个包使用的协议,第六列info是一些其它的信息,包括源端口号和目的端口号。
中间部分协议树,通过此协议树可以得到被截获数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet protocol)、UDP端口号(user datagram protocol)以及UDP协议的具体内容(data)。
最下面是以十六进制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便的对各种协议的数据包进行分析。
- 网络嗅探的危害和作用:
网络嗅探作为攻击者经常使用的内网渗透技术,获得主机访问权后,能够被动的、静默嗅探网络上传输的数据。
网络嗅探利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息。
- 网络嗅探软件:
libpcap抓包开发库:libpcap是一个网络数据包捕获函数库,主要作用如下:
(1)捕获各种数据包,例如:网络流量统计
(2)过滤网络数据包,例如:过滤掉本地上的一些数据,类似防火墙
(3)分析网络数据包,例如:分析网络协议,数据的采集
(4)存储网络数据包,例如:保存捕获的数据以为将来进行分析
- tcpdump
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。
它的命令格式为:
- 网络嗅探的检测与防范
网络嗅探的检测:检查网卡是否在混乱模式下,来发现正在监听的嗅探器。
网络嗅探的防范措施:
(1)采用安全的网络拓扑,尽量将共享式网络升级为交换式网络。
(2)用静态ARP或者MAC-端口映射表代替动态机制。
(3)重视网络数据传输的集中位置点的安全防范。
(4)避免使用明文传输口令或敏感信息的网络协议。
(5)采用安全的网络拓扑,用静态ARP或MAC端口映射表代替动态机制,重视网关、路由器和交换机的安全防范,避免明文传输敏感信息的网络协议。
网络协议分析
网络协议分析是网络嗅探器进一步解析与理解捕获数据包必须的技术手段,需要识别出各个网络层次上所使用的网络协议类型。技术原理是对网络上传输的二进制数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
网络协议分析分析的典型步骤:
网络嗅探得到的是原始数据链路层传输的二进制数据包,大多情况下是以太网帧数据;
对以太网进行帧结构分析,定位帧头各字段结构,确定网络层协议类型,大多数是IP(0800)协议,并提取数据帧中包含的网络层数据内容;
进一步对IP数据包进行分析,根据IP协议头中的Protocol字段,确定传输类型;
继续根据TCP或UDP的目标端口确定具体的应用层协议;
根据相应的应用层协议对数据进行整合恢复,得到实际传输的数据。
- 网络协议分析工具Wireshark
WireShark基本功能:
(1)抓包(Capture):Capture Filter, BPF过滤器。
(2)分析(Analyze):自动协议解码,支持数百种协议,显示各层包头和内容字段。灵活选择协议对网络流进行解码。
(3)统计(Statistics):协议分类(Protocol Hierarchy)、会话列表(Conversations)、会话终端(EndPoints)、I/O Graph, 随时间统计的流量曲线、会话重组(Follow TCP/UDP Stream)和会话图(Flow Graph)。
- tcpdump使用
捕获到的信息
二、视频内容学习总结
1、漏洞分析之Openvas的使用
- 创建扫描目标Target,作为要扫描的目标
- 创建扫描任务Task
- 点击“start”开始任务
- 查看扫描结果,包含漏洞详细信息
导出扫描结果报告文件
使用Quick Start快速扫描
2、Kali漏洞分析之扫描工具
除了综合漏洞扫描器OpenVAS,Kali下还有其他一些漏洞分析扫描工具,包括WEB漏洞扫描器Golismero与Nikto,以及系统信息扫描收集工具Lynis与unix-privesc-check。
(1)Golismero
Golismero是一款开源的Web扫描器,它不但自带不少的安全测试工具,而且还可导入分析市面流行的扫描工具的结果,比如Openvas,Wfuzz, SQLMap, DNS recon等,并自动分析。Golismero采用插件形式的框架结构,由纯python编写,并集成了许多开源的安全工具。根据插件功能,可以分为四类,每个类别的插件接口都不同,在编写自定义插件的时候,要选择好相应的插件类型。
importplugin:导入插件
导入插件主要是用来加载其他安全工具的扫描结果testingplugin:测试插件
测试插件主要是用来测试或者渗透入侵的插件reportplugin:报表插件
报表插件主要是对测试结果生成报表UIPplugin:界面插件
主要是用于和用户交互的,显示当前系统的运行状况。
查看插件列表命令golismero plugins
(2)Nikto.pl
nikto是一款扫描指定主机的web类型,主机名。特定目录,cookie,特定cgi漏洞,xss漏洞,sql漏洞,返回主机允许的http方法等安全问题的工具。
(3)lynis
lynis系统信息收集整理工具,对Linux操作系统详细配置等信息进行枚举收集,生成易懂的报告文件。测试者可根据报告文件信息找到漏洞。
lynis --check-all -Q自动枚举一些信息,默认枚举当前系统的信息
(4) nuix-privesc-check 信息收集工具
unix-privesc-check与Lynis类似,也是信息收集工具,使用命令./unix-privesc-check > log.txt
- unix-privesc-check standard
3、kali漏洞分析之web爬行
web爬行工具,用于对网站路径、页面、账户的枚举。kali下将所有字典均存放在目录/usr/share/wordlists/下
(1)apache-users:用户枚举脚本
- apache-users -h 目标IP地址 -l 用户名字典 -p 端口号 -s 是否有SSL支持,1是有0是没有 -e 403(返回的状态码) -t 线程数(数字)
(2)cutycapt:网站截图工具
- cutycapt --url=目标网站 --out=图片名.png
(3)Dirbustor:Kali下的图形化目录扫描器,拥有直观的扫描结果
dirbuster 输入目标的网站地址http://192.168.88.129/,设置要扫描的字典,点击“start”查看结果
4、Kali漏洞分析之WEB漏洞扫描
(1) cadaver
一个用来浏览和修改WebDAV共享的Unix命令行程序,使用cadaver就像使用命令行的FTP程序,因此它很适合基本的WebDAV调试。它可以以压缩的方式上传和下载,也会检验属性、拷贝、移动、锁定和解锁文件。
(2)DAVTest
测试支持WebDAV的服务器上传文件等。
(3)Deblaze
针对FLASH远程调用等的枚举
(4)Fimap
远程和本地文件包含的扫描器,文件包含漏洞利用工具
(5)grabber
web应用漏洞扫描器,可以指定扫描漏洞类型结合爬虫对网站进行安全扫描。
扫描漏洞,如果需要爬虫,加上-spider;要爬多深,接个数字;爬虫爬到的url需要做哪些漏洞的检测,后面可以接比如-sql,后面再接url与目标地址。
(6)Joomla Scanner
类似于Wpscan的扫描器,针对特定CMS(Joomla)的漏洞扫描工具。
- ./joomscan.pl -u 网站地址
(7)skipfish
google出品的一款自动化的网络安全扫描工具,谷歌工程师Michal Zalewski称,尽管Skipfish与Nikto和Nessus等其他开源扫描工具有相似功能,但Skipfish还具备一些独特的优点。Skipfish通过HTTP协议处理且占用较低的CPU资源,因此它的运行速度比较快。
skipfish -o /tmp/1.report http://url/ /* -o是output即生成文件,后面跟生成的目录*/
- skipfish -o ~/report123 http://baidu.com/扫描百度,在home目录下生成名为“report123”的报告
(8)uniscan-gui
有图形界面的工具,简单易用,信息收集和web扫描结合的工具。
- 对靶机进行扫描
(9)w3af
w3af是一个web应用程序攻击和检查框架,该项目已超过130个插件,其中包括检查网站爬虫,SQL注入(SQL Injection),跨站(XSS),本地文件包含(LFI),远程文件包含(RFI)等。该项目的目标是建立一个框架,以寻找和开发web应用安全漏洞,所以很容易使用和扩展。
(10)wapiti
wapiti的工作方式与nikto类似,也采用黑盒的方式主动的对被测web应用进行扫描,寻找其中潜在的安全缺陷,但不像nikto提供测试用例库,而是实现了内置的匹配算法,包括Windows、MAC OS/X和类Unix系统。支持的协议有http/https 1.0/1.1,HTTPS要求安装SSL库。支持生成多种格式的安全测试验证报告。它可以实现以下功能:
- 文件处理错误(本地和远程打开文件,readfile)
- 数据库注入(PHP/JSP/ASP,SQL和XPath注入)
- XSS(跨站点脚本)注入
- LDAP注入
- 命令执行检测(eval(),system(),passtru()...)
- CRLF注射入(HTTP响应,session固定...)
wapiti 目标IP地址 -v 2