教材学习内容总结
网络嗅探
网络嗅探(sniff)是一种黑客常用的窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密通信等。实现网络嗅探的工具称为网络嗅探器(Sniffer),嗅探器捕获的数据报文是经过封包处理之后的二进制数据,因此通常会结合网络协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容,以及实际发送出的应用层信息。网络嗅探技术是一把双刃剑,一方面,它是攻击者的入侵手段,另一方面,它也是防御者必备的工具,网络管理者可以利用网络嗅探来捕获与分析网络的流量信息。
- 网络嗅探的危害和作用:
- 网络嗅探作为攻击者经常使用的内网渗透技术,获得主机访问权后,能够被动的、静默嗅探网络上传输的数据。
- 网络嗅探利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息。
在纯交换网络中可以采用如下手段使不应到达本地数据包到达本地,从而实现嗅探:
(1)MAC地址泛洪攻击:通过填满MAC地址表 (桥接表) 导致同一网段内设备之间通讯无法单播,只能通过未知单播泛洪来进行通讯。从而达到窃听信息的目的。
(2)MAC欺骗:目的是假冒所要监听的主机网卡,使交换机将本应发送给目标主机的数据包发送给攻击者,从而达到数据嗅探的目的。
(3)ARP欺骗:利用IP地址与MAC地址之间进行转化时的协议漏洞,达到MAC地址欺骗,从而达到在交换式局域网中嗅探的目的。- 网络嗅探软件:
- libpcap抓包开发库:libpcap是一个网络数据包捕获函数库,主要作用如下:
(1)捕获各种数据包,例如:网络流量统计
(2)过滤网络数据包,例如:过滤掉本地上的一些数据,类似防火墙
(3)分析网络数据包,例如:分析网络协议,数据的采集
(4)存储网络数据包,例如:保存捕获的数据以为将来进行分析 tcpdump:用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。
它的命令格式为:wireshark嗅探器软件:wireshark是网络包分析工具。主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。网络管理员使用Wireshark来检测网络问题,网络安全工程师使用wireshark中文版来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。
- libpcap抓包开发库:libpcap是一个网络数据包捕获函数库,主要作用如下:
如下所示:将tcpdump抓到的100个包,保存在test.cap文件里,然后用wireshark对抓到的包进行分析
- 网络嗅探的检测与防范
- 网络嗅探的检测:检查网卡是否在混乱模式下,来发现正在监听的嗅探器。
- 网络嗅探的防范措施:
(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)。
- WireShark基本功能:
wireshark的使用
对抓包结果的说明
wireshark的抓包结果整个窗口被分成三部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
使用wireshark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。
上图的数据包列表中,第一列是编号,第二列是截取时间,第三列source是源地址,第四列destination是目的地址,第五列protocol是这个包使用的协议,第六列info是一些其它的信息,包括源端口号和目的端口号。
中间部分协议树,通过此协议树可以得到被截获数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet protocol)、UDP端口号(user datagram protocol)以及UDP协议的具体内容(data)。
最下面是以十六进制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便的对各种协议的数据包进行分析。
kali视频(11-16)学习
漏洞分析之Openvas的使用
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 scan http://192.168.200.6
(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
kali漏洞分析之web爬行
web爬行工具,用于对网站路径、页面、账户的枚举。kali下将所有字典均存放在目录/usr/share/wordlists/下
(1)apache-users:用户枚举脚本
(2)cutycapt:网站截图工具
(3)DIRB:强大的目录扫描工具
(4)Dirbustor:Kali下的图形化目录扫描器,拥有直观的扫描结果
Kali漏洞分析之WEB漏洞扫描
(1) cadaver
一个用来浏览和修改WebDAV共享的Unix命令行程序,使用cadaver就像使用命令行的FTP程序,因此它很适合基本的WebDAV调试。它可以以压缩的方式上传和下载,也会检验属性、拷贝、移动、锁定和解锁文件。
(2)DAVTest
测试支持WebDAV的服务器上传文件等。
(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即生成文件,后面跟生成的目录*/
(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固定...)
(11)webshag-gui
集成调用框架,调用nmap,uscan,信息收集、爬虫等功能,使扫描过程更易。
(12)WebSploit
一个开源项目,主要用于远程扫描和分析系统漏洞。使用它可以非常容易和快速发现系统中存在的问题,并深入分析。