zoukankan      html  css  js  c++  java
  • 2017-2018-2 20179223《网络攻防技术》第四周作业

    网络攻防技术与实践教材学习

    一、网络嗅探

    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。是当前类UNIX平台下最好的基于图形界面的嗅探器软件。官方网站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端口映射表代替动态机制:针对渗透嗅探
    重视网络数据传输的集中位置点的安全防范,如网关、路由器和交换机等。
    避免使用明文传输口令或敏感信息的网络协议,使用加密及安全增强的网络协议进行替代

    二、网络协议分析

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

    1.网络协议分析技术

    原理

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

    技术实践

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

    snort工作过程

    解析以太网数据帧http://blog.sina.com.cn/s/blog_65db99840100kpph.html
    解析IP数据包
    解析TCP数据包
    2.网络协议分析工具Wireshark

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

    2.网络协议分析工具Wireshark

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

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

    wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容

    处理HTTP,HTTPS用Fiddler,其他协议比如TCP,UDP就用wireshark

    kali 视频学习

    kali 漏洞分析之扫描工具

    (一个星期以来,我装openvas问题太多,本人很努力的解决问题,重新按了kali,发现还是原来的问题。可能从一开始我就没有好好安装vmtools,安装vmtools时,就已经提示了有错误,所以可能导致后面一系列的trouble出来,所以现在就暂时不能使用openvas。我打算把vmware卸载之后,再重新安装。我已经尽全了自己的能力,打算找有能力的同学,帮我解决一下最初安装vmtools时的问题。)

    非常高兴的是openvas终于安装成功,感谢李鹏举同学的帮助~但是他帮助的过程中,非常顺利,我相信这是我之前自己积攒的人品。以下是安装openvas的过程:

    其中标注的3个步骤是与之前自己试的时候不同的:

    步骤一:换了源,之前阿里云和中科大的源都是3个一组,这次只用了其中两个,因为security那个源之后更新的时候老是报错!

    步骤二:在安装时出现以下提示
    E: 无法获得锁 /var/cache/apt/archives/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/cache/apt/archives/ 加锁

             解决方法(强制解锁):
        ```rm /var/lib/apt/lists/lock
           rm /var/cache/apt/archives/lock
    

    步骤三:根据上一步重启的提示,先卸载了vmware的tools.pl,然后更新安装open-vm-tools-desktop,然后再次重启。

    之后安装openvas的过程中,很顺利,中间没有报错,成功的安装跟网速有很大关系,此过程用了一个小时时间,也没有用到checkup这个运行指令。

    正在安装openvas过程中

    设置用户名及密码

    进入登陆界面

    成功登陆

    添加扫描目标,在configuration栏下选择targets,之后点击new target,设置名字、主机名,其他默认

    创建扫描任务,scans——tasks——new task,创建名字、其他可以保持默认,然后在主界面中点击 start 开始进行扫描。(之前网不好,就改了名字重新扫描了一遍)扫描结果(在scan下report中)如图:

    1.WEB扫描工具Golismero

      Golismero是一款开源的web扫描器,它不但自带不少的安全测试工具,而且还可导入分析市面流行的扫描工具的结果,如 openvas,SQLMmap,DNS recon等,并自动分析,  Golismero采用插件形式的框架结构,由纯python编写,并集成了许多开源的安全工具,可以运行在Windows,Linux,BSD,OS X等系统上,几乎没有系统依赖性。
    

    插件可分成以下四类:

    a.ImportPIugin(导入插件)

     导入插件主要是用来加载其他安全工具的扫描结果
    

    b.TestingPIugin(测试插件)

     测试插件主要是用来测试或者渗透入侵的插件
    

    c.ReportPIugin(报表插件)

     报表插件主要是对测试结果生成报表
    

    d.UIPIugin(界面插件)

     界面插件主要是用于和用户交互的,显示当前系统的运行情况
    

    扫描目标主机,目标主机为kali的地址,运行如下:

    扫描过程截图:

    但此扫描器过于杂乱,对扫描报告的生成也不够规范与友好,但为编写扫描器提供了一个很好的思路,亦可由其代码进行改写。

    2.漏洞扫描器Nikto.pl

      Nikto.pl是一款开源(GPL)网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件CGIs;超过625种服务器版本;超过230种特定服务器问题。
    
     可以看到其参数信息
    

    使用 Nikto进行扫描

    扫描结果信息

    对多个端口进行扫描的命令  Perl nikto.pl -h 192.168.0.1 -p  80, 88,443
    
    更新插件和数据库  Perl nikto.pl -update(不过要翻墙才能使用)
    

    3.Lynis 系统信息收集整理工具

    对Linux操作系统详细配置等信息进行枚举收集,生成易懂的报告文件

    使用Lynis进行信息收集

    可看到当前整理的信息

    可查看整理的目录信息,截取部分截图如下

    4.unix-privesc-check 信息收集工具

    unix-privesc-check是Kali Linux自带的一款提权漏洞检测工具。它是一个Shell文件,可以检测所在系统的错误配置,以发现可以用于提权的漏洞。该工具适用于安全审计、渗透测试和系统维护等场景。它可以检测与权限相关的各类文件的读写权限,如认证相关文件、重要配置文件、交换区文件、cron job文件、设备文件、其他用户的家目录、正在执行的文件等等。如果发现可以利用的漏洞,就会给出提示warning。
    
    unix-privesc-check并不会检测所有提权漏洞的潜在情况。它只是快速进行检测,并以简洁的方式给出提权漏洞相关的建议,大大减少用户在文件权限检测方面的枯燥工作的量。
    
    unix-privesc-check检测如图所示
    

    unix-privesc-check standard标准模式下,可看到它会收集recording hostname 、recording uname,还会检查以下文件信息

    kali 漏洞分析之 WEB 爬行

    1.Apache-users用户枚举脚本

    打开cd /usr/share/wordlists输入命令ls -la可以查看linux下当前目录下的所有文件和文件夹,包括隐藏文件。

    枚举时可直接调用使用实例
    apache-users -h 192.168.1.202 -l /usr/share/wordlists/metasploit/unix_users.txt -p 80 -s 0 -e 403 -t 10

    2.CutyCapt网站截图工具

    对新浪网截图使用如下命令cutycapt --url=http://www.sina.com --out=sina.png

    3.dirb 强大目录扫描工具

    对百度地址(119.75.216.20)进行扫描

    扫描过程如图

    1. dirbuster 图形化目录扫描器

    5.Vega: kali下的WVS,使用简单易懂。扫描电科院显示如下

    kalisecurtiy-漏洞分析之WEB漏洞扫描(一)

    1.Cadaver

    cadaver是一个用来浏览和修改webdav共享的Unix命令行程序,就像subversion客户端,它使用了neon的http库,neon和cadaver的作者是一个人。
    使用cadaver就像使用命令行的ftp程序,因此它很适合基本的webdav调试。它可以以压缩方式长传和下载文件,也会检验属性、拷贝、移动、锁定和解锁文件。

    查看help 可以看到以下参数

    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、信息收集、爬虫等功能,使扫描过程更容易。

    12.websploit 主要用于远程扫描和分析系统漏洞。

  • 相关阅读:
    final关键字
    多态
    java特性-封装
    super的使用
    ==和equals的区别
    面向对象的三大特征
    this和static的用法
    如何一步步使用国内yum源一键安装openstack-ocata版本基于centos7
    Zabbix 4.2 安装
    自动化运维神器-ansible
  • 原文地址:https://www.cnblogs.com/9223lx/p/8669216.html
Copyright © 2011-2022 走看看