网络攻防第四周做业

教材内容学习 网络嗅探与协议分析

1、网络嗅探

1.网络嗅探概述html

网络嗅探利用计算机的网络接口截获目的地为其余计算机的数据报文,以监听数据流中所包含的用户帐户密码或私密信息等。实现网络嗅探技术的工具称为网络嗅探器(Sniffer),嗅 探器捕获的数据报文是通过封包处理以后的二进制数据,所以一般会结合网络数据协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容以及实际发送的应用层信息。前端

网络嗅探做为攻击者常常用的内网渗透技术,一般在攻击者得到内部网络中一台主机的访问权后实施,可以被动地、静默地嗅探网络上传输的数据,并从中窃取机密信息(各种用户名和口令、电子邮件正文及附件、网络打印的文档),和底层的网络协议信息(使用的DNS服务器IP地址、网关IP地址、TCP链接序号),经过网络嗅探得到的数据还能够为攻击者进行中间人攻击提供帮助。网络嗅探具备被动性与非干扰性,很强大的隐蔽性,每每难以被人发觉。web

以太网与wifi是目前有线局域网与无线局域网最流行的链路层协议。也是目前嗅探器主要监听对象。shell

网络嗅探技术能够按所监听的链路层网络进行分类。分为无限嗅探器和有限嗅探器。无限嗅探器能够读取和分析符合如IEEE 802.11等无线传输协议的数据包。数据库

网络嗅探技术能够按实现形式进行分类。分为软件嗅探器和硬件嗅探器。硬件嗅探器经过专用硬件对网络数据进行捕获和分析,一般也成为协议分析仪。速度快,每每被放置在网络的关键位置。可是成本高。软件嗅探器通常实现为不一样类型操做系统上的应用软件,经过对网卡编程实现,价格相对便宜。易于使用,可是速度慢,效果不佳。apache

2.嗅探技术原理与实现。编程

处于混杂模式下的网卡可以接受一切经过它链接共享通讯媒介的数据帧。为了嗅探以太网上的流量,须要将网卡设置为混杂模式。windows

利用以太网在实际部署有限局域网时根据部署方式不一样分为共享式网络和交换式网络两种。共享式网络主要使用集线器链接,其网络拓扑结构是基于总线,同一集线器上链接的全部主机在发送数据包时,都会发往每一台主机,任一主机都能嗅探整个集线器上的所有网络流量;而交互式网络则主要使用交换机,因此数据帧都经过交换机转发,交换机经过映射表与数据包的目标MAC地址进行转发,能够有效的避免网络广播风暴,减小网络数据被嗅探的风险。api

网络嗅探的技术手段:安全

(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端口映射表代替动态机制:针对渗透嗅探
  • 重视网络数据传输的集中位置点的安全防范,如网关、路由器和交换机等。
  • 避免使用明文传输口令或敏感信息的网络协议,使用加密及安全加强的网络协议进行替代

2、网络协议分析

网络嗅探截获在经过封包过程组装的二进制格式原始报文内容,为了获取其中包含的信息,须要根据TCP/IP协议站的协议规范,从新还原处数据包在各个协议层上的协议格式及其内容,以及在应用层传输的实际数据。

1.网络协议分析技术

原理

对网络传输的二进制格式数据包进行解析,以恢复出各层网络协议信息(包括网络层、传输层、链路层撒协议类型及全部包头字段信息)以及传输的内容。

技术实践

Snort 开源网络入侵检测系统,基于网络嗅探开发库libpcap,Snort有三种工做模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并做为接二连三的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网络入侵检测模式是最复杂的,并且是可配置的。咱们可让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采起必定的动做。

snort工做过程

2.网络协议分析工具Wireshark

以前称为ethereal,开源的网络协议分析工具,能够用来解决网络故障,进行系统管理和安全管理,学习网络协议。a 可用于网络嗅探方面,支持对多种类型网络接口,包括以太网、802.11无线网络,并支持从网络中截获数据包及从离线的记录文件中读取网络数据包。b 在网络协议分析方面,经过网络协议解析框架支持开源社区提交网络协议的解析插件。

Wireshark 是当今世界上被应用最普遍的网络协议分析工具。用户一般使用Wireshark来学习网络协议,分析网络问题,检测攻击和木马等。

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

wireshark能获取HTTP,也能获取HTTPS,可是不能解密HTTPS,因此wireshark看不懂HTTPS中的内容

处理HTTP,HTTPS用Fiddler,其余协议好比TCP,UDP就用wireshark

视频内容学习

漏洞评估系统openvas的安装

OpenVAS是一款免费的开放式风险评估工具,能够检测远程系统和应用程序中的安全问题。最初做为Nessus一个子工具,被称为 GNessUs。其特色就是容许继续免费开发。最先是由Portcullis Computer security公司的渗透测试人员发布的,以后由Slashdot网站的Tim Brown发布。

http://www.openvas.org/

包括一个中央服务器和一个图形化前端。用这个服务器运行不一样的网络漏洞测试(采用的是Nessus攻击脚本语言)并且会常常性更新。

kali和BackTrack默认已经安装好了OpenVAS,也可经过

$ sudo apt-get install openvas

进行安装,kali没有对openvas进行完整配置,因此为了很好的运行openvas,必须手动配置。

openvas-manager:负责与客户端Greebone程序通讯,完成扫描任务、检测报告的提交等工做,默认端口为9390  

openvas-scanner:实际执行扫描的主服务,默认端口为9391  

gsad:负责提供Web访问界面,默认监听地址为127.0.0.1,端口为9392 

openvas-administrator   :负责与openvas-manager、gsad通讯,完成用户和配置管理等操做,默认监听地址为127.0.0.1,端口为9393。

先进行一下检查

我获得的检查结果我以为非常乐观,看到kali视频十讲的,从step1就出现了error,可是第一次进行openvas-check-step,只是在第七步出现了error,以下图,除下图以外,还有ERROR:openvas scanner is not running.以后我打开了openvas scanner,再进行openvas-check-step就获得下图.

下一步就是解决的问题

下面就是进行尝试解决这个问题。

没有效果

查阅资料,再尝试

$ openvasmd --database=/usr/local/var/lib/openvas/mgr/tasks.db --slisten=192.168.129.1 --sport=9391 --listen=0.0.0.0 --port=9390

再尝试。。为OpenVAS manager建立一个客户端证书

$ openvas-mkcert-client -n om -i

如今须要利用最新更新的NVTs从新建立一下数据库,这一步要是不作以后颇有可能会出错的。。

$ openvas-nvt-sync --wget

更新数据库须要很长时间,晚上的网真是让人捉急,等啊等,等等等等。。。。

下面两幅图是在没网的状况下更新数据库的“杰做”,我真是对本身无语了,走过的错误的路也要记下来。。记下来。。

再一次openvas-check-step

openvas manager成功

再来解决以下问题

service greenbone-security-assistant start

再一次openvas-check-step

Greenbone Security Assistant配置成功

再来解决以下问题。

openvasad -start

启动OpenVAS administrator:administraor配置是安装过程当中的大工程。。要先建立一个管理员用户,固然这个能够在图形界面配置,命令行配置方式以下:

openvasad –c wyq –n openvasadmin –r Admin

(-n 为名字 -r为角色)

再一次openvas-check-step

kali提示:It seems like your OpenVAS-6 installation is OK.

暂时看起来好像是弄好了。

** 启动OpenVAS服务 **

一般状况下,更新完插件后,OpenVAS服务对应的几个程序都会启动。因此,用户在启动服务以前,可使用netstat命令查看该服务是否已经启动。默认,OpenVAS服务将会监听9390、9391和9392三个端口。因此,用户能够执行以下命令:

root@localhost:~# netstat -antp | grep 939*

能够看到939开头的三个端口都已经被监听,并且监听的主机地址为127.0.0.1。这说明OpenVAS服务已启动,而且仅容许本地回环地址127.0.0.1访问。若是没有看到以上信息输出,则表示该服务没启动。此时,用户可使用openvas-start命令启动该服务,以下所示:

root@localhost:~# openvas-start

看到以上信息,则表示OpenVAS服务成功启动。若是OpenVAS服务已经启动的话,执行以上命令时将会出现错误。以下所示

但是我本身运行这个的时候出现的是如下

** 中止OpenVAS服务 **

当用户修改一些配置时,每每须要从新启动服务,使配置生效。因此,在从新启动服务以前,首先要中止该服务,才能够从新启动。中止OpenVAS服务,执行命令以下所示:

root@localhost:~# openvas-stop

从输出信息中,能够看到OpenVAS相关服务都已中止。而后执行openvas-start命令,从新启动OpenVAS服务。

使用openvas-stop或openvas-start命令,将同时中止或启动OpenVAS服务中的三个程序,即Greenbone Security Assistant、OpenVAS Scanner和OpenVAS Manager。若是            用户想要启动或中止单个服务时,可使用service命令实现。语法格式以下所示:

service [服务名] start|stop

以上三个程序分别对应的服务名是greenbone-security-assistant、openvas-scanner和openvas-manager。

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

漏洞分析之web爬行

对网站的路径、页面、帐户等进行枚举,须要“字典”的帮助。kali内置字典存放在、文件系统/主文件夹/usr/share/wordlists里,以后的操做若是用到字典,根据这个路径进行调用,,即用到了爬行

1.Apache-users 用户枚举脚本

root@localhost:~# apache-users -h <ip地址> -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

主要用于爆破攻击

漏洞分析之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。。

调了好久没有成果。以后有时间会继续试着调一下。

相关文章
相关标签/搜索