《网络攻防》第四周学习总结

教材内容总结

网络嗅探

  • 网络嗅探的定义:网络嗅探是一种黑客的窃听技术,嗅探器通过捕获经过封包处理的二进制数据,再结合网络协议分析技术,恢复出相应信息。
  • 在交换式网络中,实现嗅探的方式有:
    • MAC地址洪泛攻击
    • MAC欺骗
    • ARP欺骗
  • Linux平台的网络嗅探技术主要通过内核态的BPF和用户态的libpcap抓包工具库实现
  • windows系统中网络嗅探技术的实现需要与BPF模块兼容的NPF。它可以过滤数据包,并将这些数据包原封不动的传给用户态模块。
  • 类Unix系统中的网络嗅探器软件
    • libpcap抓包开发库
    • tcpdump嗅探器软件
    • wireshark嗅探器软件
    • 其他嗅探器软件
  • 网络嗅探的检测与防范
    • 采用安全的网络拓扑,尽量使用交换式网络,通过交换机上设置VLAN等技术手段,对网络进行合理的分段
    • 用静态ARP或者MAC-端口映射表代替动态机制
    • 重视网络数据传输的集中位置点的安全防范
    • 避免使用明文传输口令或敏感信息的网络协议

 网络协议分析

  • 定义:网络协议分析,是指网络嗅探器进一步解析与理解捕获数据包必须的技术手段。通过对原始报文内容的还原,得出各个协议层上的协议格式及其内容,以及在应用层传输的实际数据
  • 网络协议分析的几个步骤
    • 从链路层获取二进制数据包,大多数情况下是以太网数据帧
    • 根据帧头的Type字段确定网络层协议类型,并提取其中包含的网络层数据内容
    • 进一步对IP数据包进行分析,确定传输层协议类型(TCP或UDP),并提取其中的传输层数据内容
    • 根据TCP或UDP的目标端口确定具体的应用层协议,并对TCP或UDP数据包进行拼接重组,得到应用层特定协议的应用交互内容
    • 根据相应的应用层协议对数据进行整合恢复,得到实际传输的数据。
  • 网络协议分析的技术实现
    • 解析以太网数据帧
    • 解析IP数据包
    • 解析TCP数据包
  • 网络协议分析工具wireshark
    • wireshark:wireshark是一款开源的网络数据包分析工具,其主要作用是捕获网络数据包,并对其进行协议分析。

 

kali视频学习(11——15)

openvas的使用

首先先确定靶机可以ping通,然后在openvas界面中添加一个新的目标,点击new target,如下

在name和manual里面输入目标主机的IP地址,其他保持默认即可。创建完成后会在target当中显示如下

创建好目标了,下一步就是新建扫描任务,点击Scan Management——New Task,随意起一个名字,然后IP地址是正确的即可,其他均默认

主界面显示ok

下面就是扫描的详细信息

扫描结束之后还可以生成报告,操作很简单。

kali中的其他扫描工具

Golismero

golismero含有多种插件,输入如下命令可以查看插件列表

使用scan命令扫描靶机,如下

 

Nikto.pl

Nikto是一款开源的网页服务扫描器,它可以对网页服务进行多种扫描。用如下命令可以扫描靶机

扫描出的漏洞信息如下

 

Lynis系统信息收集整理工具

这个工具是对Linux详细配置等信息进行枚举收集,生成易懂的报告文件,使用如下

为了避免交互,可以在末尾添加-Q,枚举出的系统信息如下

检查一些目录是否存在

查看一些服务和内核的信息

unix-privesc-check

这个工具是一个类似lynis的工具。使用如下命令查看安全设置

包括record hostname,uname,ip信息,是否存在/etc/password,一些可写的配置文件,/etc/shadow是否可读等等信息

 

web爬行

针对WEB网站的扫描,往往需要对网站路径,页面,账户等进行枚举,这就需要用到web安全中的爬行工具,kali中的web爬行工具如下

kali中的字典存放于/usr/share/wordlist中,便于调用

 

apache-users

这个工具是枚举apache存在着哪些账号。命令行中,-h加上目标主机的IP地址,-l是加一个用户名的字典,这里使用的是dirbuster中的apache-user-enum-2.0,-p指定端口号,-s看是否有ssl支持,0表示没有。-e表示返回的状态码,-t参数指定线程,比如10个进程

 

cutycapt

这个工具是用来截图的,使用方法如下

这会生成一个图片在当前目录下面

 

DIRB

一个强大的web目录扫描工具,命令行输入dirb可以得到下面的使用示例

 

 

dirbuster

这是kali下的图形化web目录扫描器,拥有直观的的扫描结果

 

 

vega

kali下的一个web漏洞扫描器

只需要点scan,输入ip地址即可扫描

 

webslayer

主要用于爆破攻击

这个工具在web中间代理的章节再做介绍

 

 

WEB漏洞扫描

cadaver

这个工具是一个用来浏览和修改WebDAV共享的Unix命令行程序。这种工具就是以一种客户端,命令行的格式链接webdav

 

DAVtest

测试对支持WebDAV的服务器上传文件等

语法:davtest -url http://222.28.136.226/dav/

 

deblaze

针对FLASH远程调用等的枚举,一般在xss或者较深入的web安全中可能会用到

 

Fimap

文件包含漏洞利用工具

 

Grabber

Grabber是一个WEB应用漏洞扫描器,可以指定扫描漏洞类型结合爬虫对网站进行安全扫描

 

joomscan

类似于Wpscan的扫描器,针对特定CMS

 

SkipFish

skipfish是谷歌出品的一款自动化的网络安全扫描工具,与Nikto,Nessus等工具有相似的功能。它的语法如下:

执行完之后开始发包扫描

扫描结束之后,打开之前创建的report123目录,在目录下找到index.html文件,用浏览器打开,就可以看到这个页面

 

uniscan

 这个工具可以勾选一些选项,然后加上url,然后直接开始扫描就行了

 

W3AF

w3af是一个web应用程序攻击和检查框架,包括检查网站爬虫,SQL注入,跨站(XSS),本地文件包含(LFI),远程文件包含(RFI)等。该项目的目标是要建立一个框架,以寻找和开发web应用安全漏洞,所以很容易使用和扩展

 

wapiti

wapiti的工作方式与nikto类似,也采用黑盒的方式主动对被测web应用进行扫描,寻找其中潜在的安全缺陷。

它扫描的方式就是,python wapiti.py http://www.xxxxxx.com -v 2

 

webshag

一个综合性的调用框架,可以调用Nmap,UScan,信息收集,爬虫等功能,是扫描过程更简单

 

websploit

主要用于远程扫描和分析系统漏洞,使用它可以非常容易和快速发现系统中存在的问题,并用于深入分析

 

 

 

wireshark的使用

首先是wireshark的界面,在interface list 中选取etho这块网卡,点击Start,即可开始抓包。

从左向右,第一列是编号,第二列是抓包的时间。第三列是所抓报文的源,源地址若是二层报文,则显示的是MAC地址,如果是三层以上的报文,会显示一个IP地址。第四列是目标,同第三列相同,要么是目标MAC,要么是目标IP。第五列是报文的协议。最后一列是关于报文信息的描述。

我们随便点击一个,ARP请求报文,可以看到底部有如下图所示的详细信息。

可以看到,它的目标mac是全f,源mac是00:e0:4c:68:01:20,等等其他的信息

再下面就是报文中的原始字段,为16进制表示。点击就可以看到中间栏中对该字段的解释。

 

接下来就是wireshark的一个很强大的报文过滤功能。,例如需要按照协议来过滤,只需要在filter中输入协议名称即可

 

如果想按照目标地址进行过滤,就在filter中输入ip.dst==222.28.136.223,即可筛选出,如下图

需要按照源地址进行过滤,就用如下的操作命令

也可以根据端口号进行过滤,比如需要过滤80端口的数据,就这样输入

 

需要过滤二层报文,输入的条件需要为eth.addr==mac地址

 

三层报文的过滤是ip.addr

 

如果需要搜索更复杂的条件,就需要使用逻辑表达式来进行搜索,常用的逻辑表达式有三种,分别是与,或,非。

例如,我们想同时显示ARP报文或HTTP报文,则用or连接即可

 

例如,我们想过滤一个源ip是222.28.136.223,同时还是TCP协议的报文,只需使用and连接

 

例如,我们想显示除ip报文以外的所有报文,就要用到非。

这些表达式也可以组合运用,就不再演示了。

 

然后就是wireshark另一个很强大的功能——流分析

首先我们打开wireshark开始抓包,然后用telnet命令去查看靶机222.28.136.226,这时telnet的过程就被全部捕捉到了。我们用之前介绍的过滤功能来查看捕捉到的内容

 这时,我们点击Analyze——Follow TCP Stream,弹出如下窗口

其中蓝色字段显示的是远程主机回显的数据,红色部分表示我们输入的部分,其中可以看到我们输入的密码等许多信息。

通过这个例子可以看出,telnet是一种明文的传输方式。不够安全。

wireshark可以根据我们产生的一个完整的流来做一些分析,甚至包括用户名密码等字段。

 

posted @ 2017-03-26 15:45  20169311王泽豪  阅读(443)  评论(1编辑  收藏  举报