一、教材学习
1.1 网络嗅探
- 1.网络嗅探概述
网络嗅探利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。实现网络嗅探技术的工具称为网络嗅探器(Sniffer),嗅 探器捕获的数据报文是经过封包处理之后的二进制数据,因此通常会结合网络数据协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容以及实际发送的应用层信息。
网络嗅探作为攻击者经常用的内网渗透技术,通常在攻击者获得内部网络中一台主机的访问权后实施,能够被动地、静默地嗅探网络上传输的数据,并从中窃取机密信息(各类用户名和口令、电子邮件正文及附件、网络打印的文档),和底层的网络协议信息(使用的DNS服务器IP地址、网关IP地址、TCP连接序号),通过网络嗅探获得的数据还可以为攻击者进行中间人攻击提供帮助。网络嗅探具有被动性与非干扰性,很强大的隐蔽性,往往难以被人发觉。
以太网与wifi是目前有线局域网与无线局域网最流行的链路层协议。也是目前嗅探器主要监听对象。
网络嗅探技术可以按所监听的链路层网络进行分类。分为无限嗅探器和有限嗅探器。无限嗅探器可以读取和分析符合如IEEE 802.11等无线传输协议的数据包。
网络嗅探技术可以按实现形式进行分类。分为软件嗅探器和硬件嗅探器。硬件嗅探器通过专用硬件对网络数据进行捕获和分析,通常也成为协议分析仪。速度快,往往被放置在网络的关键位置。但是成本高。软件嗅探器一般实现为不同类型操作系统上的应用软件,通过对网卡编程实现,价格相对便宜。易于使用,但是速度慢,效果不佳。
- 2.嗅探技术原理与实现。
处于混杂模式下的网卡能够接受一切通过它连接共享通信媒介的数据帧。为了嗅探以太网上的流量,需要将网卡设置为混杂模式。
利用以太网在实际部署有限局域网时根据部署方式不同分为共享式网络和交换式网络两种。共享式网络主要使用集线器连接,其网络拓扑结构是基于总线,同一集线器上连接的所有主机在发送数据包时,都会发往每一台主机,任一主机都能嗅探整个集线器上的全部网络流量;而交互式网络则主要使用交换机,所以数据帧都通过交换机转发,交换机通过映射表与数据包的目标MAC地址进行转发,可以有效的避免网络广播风暴,减少网络数据被嗅探的风险。
网络嗅探的技术手段:
(1)MAC地址洪泛攻击:向交换机发送大量含有虚构MAC地址和IP地址的数据包。致使交换机的“MAC地址-端口映射表”溢出无法处理,使得交换机进入“打开失效”模式,此模式类似于集线器的工作方式
(2)MAC欺骗:假冒要监听的主机网卡,攻击者通过源MAC地址伪造成目标地址的源MAC地址,并将这样的数据包通过交换机发送出去。使得交换机不断地更新他的映射表,从而让交换机相信攻击者主机的MAC地址就是目标主机的MAC地址。
(3)ARP欺骗:利用IP地址与MAC地址之间进行转换时的协议漏洞,达到MAC地址欺骗。(最常用的一种嗅探技术手段)
类unix平台的网络嗅探技术主要通过内核态的BPF和用户态的libpcap抓包工具库实现。其嗅探捕获的数据包将保存在pcap记录文件中。
windows平台不提供标准的网络嗅探和抓包接口,因此需要增加一个驱动程序或网络组件来访问内核网卡驱动中捕获的数据包,常用于类UNIX平台上的BPF兼容的NPF,和与libpcap兼容的标准抓包接口WinPcap(主要包含packet.dll和wpcap.dll两个模块)。
3.网络嗅探器软件
(1)类UNIX平台网络嗅探器软件a.libpcap抓包开发库 b.tcpdump:最老、最通用,维护最好http://www.tcpdump.org/ c.wireshark:以前名叫ethereal。基于图形界面的嗅探器软件。http://www.wireshark.org/ (2)Windows平台网络嗅探器软件 对应UNIX里的BPF/libpcap/tcpdump Windows里有NPF/winpcap/windump,还有wireshark的Windows版本,还有商业的具有友好界面及很强统计分析能力的SniffPro软件,还有Buttsniffer、NetMon、Network Associates Sniff等。
4.网络嗅探的捡测与防范
检测- 同一主机上可以通过检查网卡是否运行到混杂模式下,来发现正在监听的嗅探器
- 基于混杂模式下操作系统和协议栈的不同特性,来检测处网络中其他主机上的嗅探器
antisniff
防范- 采用安全的网络拓扑,尽量采用交换式网络系统
- 用静态ARP或者MAC端口映射表代替动态机制:针对渗透嗅探
- 重视网络数据传输的集中位置点的安全防范,如网关、路由器和交换机等。
避免使用明文传输口令或敏感信息的网络协议,使用加密及安全增强的网络协议进行替代
1.2 网络协议分析
网络嗅探截获在通过封包过程组装的二进制格式原始报文内容,为了获取其中包含的信息,需要根据TCP/IP协议站的协议规范,重新还原处数据包在各个协议层上的协议格式及其内容,以及在应用层传输的实际数据。
1.2.1 网络协议分析技术
原理
对网络传输的二进制格式数据包进行解析,以恢复出各层网络协议信息(包括网络层、传输层、链路层撒协议类型及所有包头字段信息)以及传输的内容。
技术实践
Snort 开源网络入侵检测系统,基于网络嗅探开发库libpcap,Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网络入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
snort工作过程
- 解析以太网数据帧http://blog.sina.com.cn/s/blog_65db99840100kpph.html
- 解析IP数据包
解析TCP数据包
1.2.2 网络协议分析工具Wireshark
之前称为ethereal,开源的网络协议分析工具,可以用来解决网络故障,进行系统管理和安全管理,学习网络协议。a 可用于网络嗅探方面,支持对多种类型网络接口,包括以太网、802.11无线网络,并支持从网络中截获数据包及从离线的记录文件中读取网络数据包。b 在网络协议分析方面,通过网络协议解析框架支持开源社区提交网络协议的解析插件。
Wireshark 是当今世界上被应用最广泛的网络协议分析工具。用户通常使用Wireshark来学习网络协议,分析网络问题,检测攻击和木马等。
为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。处理HTTP,HTTPS用Fiddler,其他协议比如TCP,UDP就用wireshark。
二、视频内容学习
2.1 漏洞评估系统openvas的安装
kali和BackTrack默认已经安装好了OpenVAS,也可通过
$ sudo apt-get install openvas
按照命令行形式进行下载,总是不成功,总显示我得kali的证书过期了,更新证书后,发现系统崩溃了,用快照恢复但是反复几次之后,认为是kali下载版本的问题,因此重新下载了最新版的kali,下载后进行源更新,随后执行:
root@kali:~# apt-get update
root@kali:~# apt-get dist-upgrade
更新较为缓慢!
2.2 kali漏洞分析工具
1.Golismero 新兴开源web扫描器
扫描结果过于杂乱,扫描界面不够友好,报告生成不够规范
2.Nikto.pl 开源网页服务器扫描器
root@localhost:~# nikto -h <目标ip>
3.Lynis 系统信息收集工具
对Linux操作系统详细配置等信息进行枚举,生成易懂的报告文件
root@localhost:~# lynix --check-all -Q
即开始自动枚举一些信息
4.unix-privesc-check 信息收集工具
root@localhost:~# unix-privesc-check standard
2.3 漏洞分析之web爬行
对网站的路径、页面、账户等进行枚举,需要“字典”的帮助。kali内置字典存放在、文件系统/主文件夹/usr/share/wordlists里,之后的操作如果用到字典,根据这个路径进行调用,,即用到了爬行
1.Apache-users 用户枚举脚本
root@localhost:~# apache-users -h -l
root@localhost:~# apache-users -h 192.168.129.150 -l /usr/share/wordlists/dirbuster/
2.CutyCapt 网站截图工具
kali中打开
root@localhost:~# cutcapt --url=http://www.baidu.com/ --out=baidu.png
3.DIRB 强大的目录扫描工具(1)
root@localhost:~# dirb http://192.168.129.150(目标网站地址)
4.Dirbuster 图形化目录扫描工具(2),拥有直观地扫描效果
界面简单,输入目标网站地址,选定字典,配置参数,操作简单
5.vega kali下的WVS,开源漏洞扫描工具
创建一个扫描地址,归类整理危险档信息
6.WebSlayer
主要用于爆破攻击
2.3 漏洞分析之web漏洞扫描
与爬行密切相关,对url进行测试
1.cadaver 类似shell的一个界面,需要主机名和路径,用来浏览和修改Unix命令行程序。
root@localhost:~# cadaver --help
ssh远程连接管理
2.DAVTest 测试对支持WebDAV的服务器上自动上传应用、随机目录文件等
root@localhost:~# davtest --url <扫描地址>
3.Deblaze 针对FLASH远程调用等的枚举
4.Fimap 远程和本地文件包含工具和漏洞利用工具
5.Grabber是一个WEB应用漏洞扫描器,可以制定扫描漏洞类型结合爬虫对网站进行安全扫描,可针对性进行测试。
6.joomscan,针对一个CMS进行扫描,-u 《ip地址》
7.skipfish ——google的一款自动化的网络安全扫描工具,通过http协议处理,占有较少CPU资源,运行速度很快
root@localhost:~# skipfish -o <目标存放地址> <扫描网站>(-o为output)
ctrl+c结束会自动生成一个报告。
8.Uniscan -gui 有图形界面,输入URL,勾选图形工具
9.W3AF web应用程序工具和检查框架,建立一个框架,以寻求安全漏洞。
root@localhost:~# w3af_gui (打开)
10.Wapiti 和nikto类似,用黑客方式主动对被测WEB进行扫描,寻找其中的漏洞,也可以导出一些html报告。
root@localhost:~# wapiti <扫描地址>
11.webshag :集成调用框架,调用Nmap、UScan、信息收集、爬虫等功能,使扫描过程更容易。
输入ip地址,开始爬虫
12.websploit 主要用于远程扫描和分析系统漏洞。
本周学习内容如上,openvas很是让人焦灼,本来装好了,但是出了一些问题,打不开,放置了两天之后,OPENVAS manner is not running。。
调了很久没有成果。之后有时间会继续试着调一下。