20189209 《网络攻防技术》第四周作业

一、KaliSecurity视频总结(11-15)

1.1 Kali漏洞分析之OpenVAS使用


以对Metasploitable2虚拟机的扫描为例,介绍OpenVAS漏洞扫描器在实际中的应用与具体操作。
 
访问本地 https://localhost:9392/ 登录OpenVAS的WEB管理界面:

 
要完成一个基本的扫描过程,首先要创建扫描目标Target,作为要扫描的目标:



 
创建扫描任务Task:


 
开始任务start:

查看扫描状态细节

查看扫描结果,包含漏洞详细信息,也可导出PDF文件

导出扫描结果报告文件

快速扫描可使用Quick Start:

1.2 Kali漏洞分析之扫描工具


除了综合漏洞扫描器OpenVAS,Kali下还有其他一些漏洞分析扫描工具,包括WEB漏洞扫描器Golismero与Nikto,以及系统信息扫描收集工具Lynis与unix-privesc-check。

1、WEB扫描工具Golismero,是一款开源的Web扫描器,自带一些安全测试工具,还可导入一些扫描工具的结果,如OpenVAS,Wfuzz,SQLmap,DNS recon等,并自动分析。它采用插件式的框架结构,有纯python编写,可运行在Windows,Linux,BSD,OS X等系统上,几乎没有系统依赖性。提供了一系列的接口,用户可以定义自己的插件。
根据插件的功能,可分为四类:ImportPlugin(导入插件,用来加载其他安全工具的扫描结果)、TestingPlugin(测试插件,测试或者渗透入侵的插件)、ReportPlugin(报表插件,对测试结果生成报表)、UIPlugin(界面插件,泳衣和用户交互显示当前系统的运行情况)。在编写自定义插件时,注意选择好相应的插件类型。
查看插件列表命令golismero plugins
扫描虚拟机Metasploitable2 golismero scan http://222.28.136.37/
扫描过程截图:

此工具有缺点:扫描过程中的信息比较杂乱,可能调用了多个进程执行这个命令,对扫描报告的生成不是很好。

2、漏洞扫描器Nikto.pl
 
Nikto是一款开源的(GPL)网页服务器扫描器,可以对网页服务器进行全面的多种扫描。
扫描参数如:简单扫描:目标基本WEB基本配置信息,服务器,PHP解析器等版本信息。
扫描虚拟机Metasploitable2 nikto -h 222.28.136.37:

 
对多个端口进行扫描命令 nikto -h 222.28.136.37 -p 80,88,443:

 
更新插件和数据库 nikto -h 222.28.136.37 -update:

 
3、Lynis系统信息收集整理工具
对Linux操作系统详细配置等信息进行枚举收集,生成易懂的报告文件。测试者可根据报告文件信息找到漏洞利用的exp。
一般使用中避免交互lynis --check-all -Q自动枚举一些信息,默认枚举当前系统的信息:


 
unix-privesc-check与Lynis类似,也是信息收集工具
使用命令./unix-privesc-check > log.txt
例如unix-privesc-check standard:

1.3 漏洞分析之WEB爬行


针对web网站的扫描,往往需要对网站路径&页面&账户进行枚举,这涉及到WEB安全中的爬行工具。
 
Kali下web爬行工具:

 
对网站路径和页面进行枚举扫描,需要字典的帮助。Kali内置字典存放的位置:/文件系统/usr/share/wordlists

在命令行进入字典:

$cd /usr/share/wordlists/
$ls
$ls -la


 
1、Apache-users用户枚举脚本:

apache-users -h 222.28.136.37 -l /usr/share/wordlists/dirbuster/
apache-users -h 222.28.136.37 -l /usr/share/wordlists/dirbuster/apache-user-enum-2.0.txt -p 80 -s 0 -e 403 -t 10  /* 判断是否存在这个目录,但会导致一些误判 */

 
2、CutyCapt:网站截图工具:
cutycapt --url=http://www.baidu.com/ --out=baidu.png

 
3、DIRB:强大的目录扫描工具,有多重扫描功能:
dirb http://222.28.136.37/


 
4、Dirbuster:Kali下的图形化目录扫描器,拥有直观的扫描结果:
dirbuster 输入目标的网站地址http://222.28.136.37/ ,设置要扫描的字典

 
点start运行,可以看到扫描信息、扫描结果、以树形式列出的扫描结果、错误信息:

 
5、Vega:Kali下的WVS(类似Windows下的AWVS),使用简单易懂
 
6、WebSlayer 由WFuzz发展出来的WEB爆破工具

1.4 Kali漏洞分析之WEB漏洞扫描(一)


与web路径爬行密切相关的,是web漏洞扫描工具。

 
1、Cadaver 是一个用来浏览和修改WebDAV共享的Unix命令行程序,它可以以压缩方式上传和下载文件,也会检验属性、拷贝、移动、锁定和解锁文件。
 
搭建webdav环境:

 
使用ssh远程连接:

 
查看web目录 其实自身已经搭建好了dav环境:

 
点WEBDAV:

 
点WEBDAV之后的目录:

此处出现问题,没有视频中所说的DavTest文件。

2、DAVTest 测试支持WebDAV的服务器上传文件等。
davtest -url http://222.28.136.37/dav/创建了一些目录,上传了一些文件:

 
可以查看,多了一个目录:


 
而且这步过后,对应的WebDAV的目录也多了一个:

 
点击多出来的目录,有以下DavTest文件:

 
3、Deblaze 针对FLASH远程调用等的枚举:

 
4、Fimap是远程和本地文件包含的扫描器 文件包含漏洞利用工具
 
5、Grabber是一个WEB应用漏洞扫描器,可以指定扫描漏洞类型结合爬虫对网站进行安全扫描。
扫描漏洞,如果需要爬虫,加上-spider;要爬多深,接个数字;爬虫爬到的url需要做哪些漏洞的检测,后面可以接比如-sql,后面再接url与目标地址:
grabber --spider 2 --sql --url http://222.28.136.37/

1.5 Kali漏洞分析之WEB漏洞扫描(二)


1、Joomla Scanner,类似于Wpscan的扫描器,针对特定CMS(Joomla)的漏洞扫描工具。
 
2、Skipfish,是Google出品的一款自动化的网络安全扫描工具,它通过HTTP协议处理且占用较低的CPU资源,因此运行速度比较快,可以每秒钟处理2000个请求。扫描方式:skipfish -o /tmp/1.report http://url/ /* -o是output即生成文件,后面跟生成的目录*/
例:skipfish -o ~/report123 http://baidu.com/扫描百度,在home目录下生成报告:

 
生成报告文件:


 
3、Uniscan WVS,简单易用的web漏洞扫描器
可以查看扫描结果
 
4、W3AF,是一个web应用程序攻击和检查框架,该项目已超过130个插件,其中包括检查网站爬虫,SQL注入(SQL Injection),跨站(XSS),本地文件包含(LFI),远程文件包含(RFI)。该项目的目的是要建立一个框架,以寻找和开发web应用安全漏洞。
 
5、wapiti,工作方式与nikto类似,也采用黑盒的方式主动对被测web应用进行扫描,寻找其中潜在的安全缺陷,与nikto提供测试用例库不同,它实现了内置的匹配算法:

 
6、webshag集成调用框架,调用Nmap,UScan,信息收集,爬虫等功能,使扫描过程更容易:

 
7、websploit 是一个开源项目,主要用于远程扫描和分析系统漏洞。使用它可以很容易和快速发现系统中存在的问题,并用于深入分析:

二、教材学习内容总结

1、网络嗅探

  • 网络嗅探(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来学习网络协定的相关知识。
    如下所示,将tcpdump抓到的100个包,保存在test.cap文件里,然后用wireshark对抓到的包进行分析

  • 网络嗅探的检测与防范
     

  • 网络嗅探的检测:检查网卡是否在混乱模式下,来发现正在监听的嗅探器。
     

  • 网络嗅探的防范措施:
    (1)采用安全的网络拓扑,尽量将共享式网络升级为交换式网络。
    (2)用静态ARP或者MAC-端口映射表代替动态机制。
    (3)重视网络数据传输的集中位置点的安全防范。
    (4)避免使用明文传输口令或敏感信息的网络协议。
    (5)采用安全的网络拓扑,用静态ARP或MAC端口映射表代替动态机制,重视网关、路由器和交换机的安全防范,避免明文传输敏感信息的网络协议。

2、网络协议分析

  • 网络协议分析是网络嗅探器进一步解析与理解捕获数据包必须的技术手段,需要识别出各个网络层次上所使用的网络协议类型。技术原理是对网络上传输的二进制数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
     
  • 网络协议分析分析的典型步骤:
  • 网络嗅探得到的是原始数据链路层传输的二进制数据包,大多情况下是以太网帧数据;
     
  • 对以太网进行帧结构分析,定位帧头各字段结构,确定网络层协议类型,大多数是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)。

3、wireshark的使用

  • 对抓包结果的说明
      wireshark的抓包结果整个窗口被分成三部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
    使用wireshark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。

      上图的数据包列表中,第一列是编号,第二列是截取时间,第三列source是源地址,第四列destination是目的地址,第五列protocol是这个包使用的协议,第六列info是一些其它的信息,包括源端口号和目的端口号。
      中间部分协议树,通过此协议树可以得到被截获数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet protocol)、UDP端口号(user datagram protocol)以及UDP协议的具体内容(data)。
      最下面是以十六进制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便的对各种协议的数据包进行分析。

三、《Python 黑帽子》第三章代码

码云链接:BHP_CH3_Code

posted on 2019-03-21 19:11  20189209郑炜  阅读(340)  评论(0编辑  收藏  举报