渗透测试之攻击篇
视频学习
WEB扫描工具Golismero
Golismero是一款开源的Web扫描器,它不但自带不少的安全测试工具,而且还可以导入分析市面流行的扫描工具的结果,如Openvas,SQLMap,DNS recon等,并自动分析。Golismero采用插件形式的框架结构,由纯python编写,并集成了许多开源的安全工具,可以运行在Windows,Linux,BSD,OS X等系统上,几乎没有任何系统依赖。Golismero采用了插件式的框架结构,提供了一系列的接口,用户只要继承并且实现这些接口,就可以自定义自己的插件。根据插件的功能,可分为四类,每个类别的插件的接口都不同,所以在编写自定义插件的时候,注意选择好相应的插件类型。
- ImportPlugin(导入插件)
导入插件主要是用来加载其他安全工具的扫描结果。 - TestingPlugin(测试插件)
测试插件主要用来测试或者渗透入侵的插件。 - ReportPlugin(报表插件)
报表插件主要是对测试结果生成报表。 - UIPlugin(界面插件)
界面插件主要用于和用户交互的,显示当前系统的运行情况。
其他WEB信息扫描工具
nikto
lynis
unix—private-check
dirb
DIRB 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑等等。
WEB漏洞扫描工具
Cadaver是一个用来浏览和修改WebDAV共享的Unix命令行程序,就像Subversion客户端,它使用了neon的HTTP库。neon和cadaver的作者是同一个人。Cadaver是自由软件,在http://webdav.org/cadaver/上。使用cadaver就像使用命令行的ftp程序,因此它很适合基本的WebDAV调试,它可以以压缩方式上传和下载文件,也会检验属性、拷贝、锁定和解读文件。
Grabber
Grabber是一个WEB应用漏洞扫描器,可以指定扫描漏洞类型结合爬虫网站进行安全扫描,其支持以下漏洞扫描:
- Cross-Site Scripting
- SQL Injection
- File Inclusion
- Backup files check
- Simple AJAX check
- Hybird analysis/Crystal ball testing for PHP applicating using PHP-SAT
- JavaScrip source code analyzer
特定CMS漏洞扫描工具
Joomscan
用于扫描使用joomlaCMS的网站。
SkipFish
SkipFish是由Google出品的一款自动化的网络安全扫描工具,谷歌工程师Michal Zalewski称,尽管SkipFish与Nikto和Nessus等其他开放扫描工具有相似功能,但SkipFish还具备一些独特的有点。SkipFish通过HTTP协议处理且占用较低的CPU资源,因此它的运行速度快,SkipFish每秒钟可以轻松处理2000个请求。
uniscan——信息收集与WEB扫描工具
W3AF
w3af是一个Web应用程序工具和检查框架,该项目已超过130多个插件,其中包含检查网站爬虫,SQL注入,跨站(XSS),本地文件包含,远程文件包含等。该项目的目标是建立一个框架,以寻找和开发Web应用安全漏洞,所以很容易使用和扩展。
教材内容总结
网络嗅探技术通常会和网络协议分析技术配合使用,网络嗅探是网络协议分析的基础。
无线嗅探器与“有线”嗅探器在对数据包实际进行破解和分析时完全没有区别。这两类嗅探器之间的唯一区别是无线嗅探器可以读取和分析符合IEEE802.11等无线传输协议的数据包。
网卡驱动程序支持运行的模式:
- 广播模式
- 多播模式
- 单播模式
- 混杂模式
共享式网络进行网络嗅探,必须将网卡的模式调为混杂模式。
网络嗅探技术实现:
- Windows下的标准接口:NPF/winpcap/windump
- 类UNIX下的标准接口:BPF/libpcap/tcpdump
值得注意的是BPF处于内核态。
网络嗅探属于一种被动式非干扰性攻击手段,所以具有很高的隐蔽性。
网络嗅探的防范措施:
- 采用安全的网络拓扑,尽量将共享式网络升级为交换式网络;
- 用静态ARP或者MAC端口映射表代替动态机制;
- 重视网络数据传输的集中位置点的安全防范;
- 避免使用明文传输口令或敏感信息。
网络协议分析过程:
- 首先网络嗅探得到的原始数据是在数据链路层传输的二进制数据包,大多数情况下是以太网数据帧;
- 对以太网数据帧进行结构分析,定位出帧头各字段结构,根据帧头的TYPE字段确定网络层协议类型,大多数情况下是IP协议(0800),并提取数据帧中包含的网络层数据内容;
- 进一步对IP数据包进行解析,如果设置了分片位,则进行IP分片重组,根据IP协议头中的Protocol字段,确定传输层协议类型,通常情况下是TCP(6)或者UDP(17),并提取IP
数据包中的传输层数据内容;
- 继续根据TCP或UDP的目标端扣确定具体的应用层协议,如:http、ftp、telnet等协议数据包,并对TCP或UDP数据包进行拼接重组,得到应用层特定协议的应用交互内容;
- 依据相应的应用层协议对数据进行整合恢复,得到实际传输的数据。
数据包解析过程如下:
- 解析以太网数据帧
- 解析IP数据包
- 解析TCP、UDP数据包
每个过程都包含预处理、拆包和解析三步。