几种安全工具、库的简介及部分相关使用教程
Wireshark
Metasploit
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。
Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。
Snort
在1998年,Marty Roesch先生用C语言开发了开放源代码(Open Source)的入侵检测系统Snort.直至今天,Snort已发展成为一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即NIDS/NIPS.Snort符合通用公共许可(GPL——GNU General Pubic License),在网上可以通过免费下载获得Snort,并且只需要几分钟就可以安装并开始使用它。snort基于libpcap。
Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网络入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取Activation(报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。
Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。例如,预处理插件的功能就是在规则匹配误用检测之前运行,完成TIP碎片重组,http解码,telnet解码等功能,处理插件完成检查协议各字段,关闭连接,攻击响应等功能,输出插件将得理后的各种情况以日志或警告的方式输出。TcpDump
TcpDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。
Aircrack
Aircrack是一套用于破解WEP和WPA的工具套装,一般用于无线网络的密钥破解,从而非法进入未经许可的无线网络。Aircrack- NG是一个完整的工具来评估Wi-Fi网络安全套件(ex.1)。它专注于WiFi安全的不同领域:
攻击:通过数据包注入回放攻击,去认证,伪造接入点等。
测试:检查WiFi卡和驱动程序的能力(捕捉和注入)。
破解:WEP 和 WPA PSK(WPA 1和2)。
所有的工具都是命令行,它允许重的脚本。很多GUI都利用了这个功能。它主要工作在 Linux,但也支持 Windows,OS X,FreeBSD,OpenBSD,NetBSD以及Solaris甚至eComStation 2。
aireplay-ng是aircrack-ng套件里的一款抓包工具,aireplay-ng 中集成了10种攻击方式,分别是:
Attack 0: Deauthentication 解除认证
Attack 1: Fake authentication 伪造身份验证
Attack 2: Interactive packet replay 交互式数据包重播
Attack 3: ARP request replay attack ARP请求重播攻击
Attack 4: KoreK chopchop attack KoreK斩杀攻击
Attack 5: Fragmentation attack 碎片攻击
Attack 6: Cafe-latte attack 咖啡拿铁攻击
Attack 7: Client-oriented fragmentation attack 面向客户的分片攻击
Attack 8: WPA Migration Mode WPA迁移模式
Attack 9: Injection test 注射试验
Wireshark使用教程
设置数据抓取选项
点击常用按钮中的设置按钮,就会弹出设置选项对话框。在这个对话框中我们可以选中需要监听的接口,设置混杂模式,设置抓取数据包的过滤条件。
首先,选中需要监听获取数据包的接口。接口列表区列出了所有可以使用的接口。如果接口前面的复选框被选中,说明对这个接口监听捕获数据包。
其次,设置混杂模式。设置混杂模式的作用是将网卡设置到混杂模式。如果不设置混杂模式,你的计算机只能获取数据包发往的目标是你计算机和从你计算机出去的数据包。如果设置了混杂模式,你就可以捕获局域网中所有的数据包。如果窗口中的 "Use promiscuous mode on all interfaces"前面的复选框被选中,说明对所有的接口使用混杂模式。如果想单独设置,可以双击接口列表中的接口,会弹出如下的对话框。然后选中或者去掉“Capture packets in promiscuous mode”前面复选框。然后点ok按钮。
再次,设置捕获过滤条件。在点设置按钮弹出的主设置对话框中和双击接口列表弹出的对话框中都会有“Capture Filter”项。在文本框中我们可以设置捕获过滤条件。如,我们只捕获http相关的数据包,我们就可以设置捕获条件为“port 80”。因为http使用的是80端口。
最后,所有的设置完毕后,点击设置主窗口中的“Start”按钮,开始捕获数据。数据捕获完后,可以点常用按钮中的“保存”按钮保存数据。
使用显示过滤器
显示过滤器应用于捕获文件,用来告诉wireshark只显示那些符合过滤条件的数据包。显示过滤器比捕获过滤器更常用。他可以用来过滤不想看到的数据包,但是不会把数据删除。如果想恢复原状,只要把过滤条件删除即可。
对话框分左中右三部分。左边为可以使用的所有协议域。右边为和协议域相关的条件值。中间为协议域与条件值之间的关系。过滤器表达式对于初学者很有用。如上图,我们创建的表达式的作用是,只显示http协议包中包含关键词“bo56.com”的所有数据包。
跟踪TCP流
Wireshark分析功能中最不错的一个功能是它能够将TCP流重组。重组后的数据格式更容易阅读。跟踪TCP流这个功能可以将接收到的数据排好顺序使之容易查看,而不需要一小块一小块地看。这在查看HTTP、FTP等纯文本应用层协议时非常有用。
打开wireshark_bo56_pcap.pcapng,并在显示过滤器中输入“http contains wireshark”,点击“apply”按钮后,在数据包列表框中就会只剩下一条记录。右键单击这条记录并选择Follow TCP Stream。这时TCP流就会在一个单独的窗口中显示出来。看到这个窗口中的文字会有两种颜色。其中红色用于表示从源地址到目标地址的流量。在我们的例子里面就是从我们本机到web服务器的流量。你可以看到最开始的红色部分是一个GET请求。蓝色部分是和红色部分相反的方向,也就是从目标地址到源地址的流量。在我们的例子中,蓝色部分的第一行是“HTTP/1.1 200 OK”,是来自服务器的一个http成功响应。
aircrack-ng教程
.首先,进入系统,打开terminal,更新源。sudo apt-get update
sudo apt-get upgrade
.使用airmon-ng查看无线网卡
sudo airmon-ng
因为linux发行版不同,使用的内核也不同,Kali 4.9.0会在界面中多一个phy选项。找到interface栏,记下你的无线网卡。
.使用airmon-ng开启网卡监听模式
sudo airmon-ng start wlan0
.使用airodump-ng扫描信号
扫描附件的wifi。sudo airodump-ng wlan0mon
停止扫描,并选取合适的目标
.使用airodump-ng监听指定目标频道
sudo airodump-ng -c 6 -w Desktop/handshake --bssid C0:00:00:00:00:48 wlan0mon
在你的抓取握手包的存放目录会生成4个文件。
然后,网卡会开始监听你目标端的频道
.使用aireplay-ng进行解除认证攻击模式
在这里有必要补充一下什握手包的概念,握手包指的是采用WPA加密方式的无线AP与无线客户端进行连接前的认证信息包。
一个合法的客户端要连上AP要经历四次握手(ex.2)
1.请求连AP 2.AP发一个数据包
3.将收到的数据包用wpa密钥加密,然后发给AP
4.AP用自己保存的wpa密钥加密相同数据包,然后和你发给他的比较,如果相同,就发准许接入的许可。
上面就是一个合法客户端四次握手的全过程,所说的抓握手包,是指抓AP发给合法客户的数据包,和合法客户端加密后发给AP的数据包。所以我们就抓这两个包,当我们有了明文和密文,就可以破解出密钥。所以这里的关键是要发动攻击,迫使合法的客户端断线,进行重新认证,我们趁机抓包。
保持上一个terminal窗口的运行状态,打开一个新的terminal。
sudo aireplay-ng -0 0 -a C0:00:00:00:00:48 -c 18:00:00:00:00:88 wlan0mon
这里我使用的是解除认证攻击模式,给客户端无限发送测试包使其下线。当你获取到握手包时,可以使用快捷重点内容键Ctrl + C
停止发送测试包。
.关闭监听模式
sudo airmon-ng stop wlan0mon