2018-2019-2 20189221 《网络攻防技术》第九周作业
视频学习(36-38)
KaliSecurity - 压力测试工具
压力测试通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能够提供的最大的服务级别的测试。通俗地讲,压力测试是为了测试应用程序的性能会变得不可接受。
Kali下压力测试工具包含VoIP压力测试、Web压力测试、网络压力测试及无线压力测试。
- Voip压力测试工具
包括iaxflood和inviteflood
- web压力测试工具
THC-SSL-DOS
借助THC-SSL-DOS攻击工具,任何人都可以把提供SSL安全连接的网站攻击下线,这种攻击方法称为SSL拒绝服务攻击(SSL-DOS)。
德国黑客组织发布THC SSL DOS,利用SSL中已知的弱点,迅速耗费服务器资源,与传统DDoS工具不同的是,它不需要任何带宽,只需要一台执行单一攻击的电脑。
漏洞存在于协议的renegotiation过程中,renegotiation被用于浏览器到服务器之间的验证。
- 网络压力测试工具
dhcpig :耗尽DHCP资源池的压力测试。
-
ipv6攻击工具包
- Inundator
IDS/IPS/WAF 压力测试工具
- Macof
可做泛洪攻击
- Siege
Siege是一个压力测试和评测工具,设计用于Web开发,评估应用在压力下的承受能力,可以根据配置对一个Web站点进行多用户的并发访问,记录每个用户所有请求过程的响应时间,并在一定数量的并发访问下重复进行。
- T50压力测试
功能强大,且具有独特的数据包注入工具,T50支持 nix系统,可进行多种协议数据包注入,实际上支持15种协议。
- 无线压力测试
包括MDK3和Reaver
KaliSecurity - 数字取证工具
数字取证技术将计算机调查和分析技术应用于潜在的、有法律效力的电子证据的确定与获取,同样他们都是针对黑客和入侵的,目的都是保障网络安全。
- PDF取证工具
pdf-parser和peepdf
peepdf是一个使用python编写的PDF文件分析工具,它可以检测到恶意的PDF文件。其设计目标是为安全研究人员提供PDF分析中可能用到的所有组件。
- 反数字取证chkrootkit
Linux系统下查找rootkit后门工具。判断系统是否被植入Rootkit的利器。
- 内存取证工具
Volatility是开源的Windows、Linux、Mac、Android的内存取证分析工具,由python编写成,命令行操作,支持各种操作系统。
- 取证分析工具binwalk
Binwalk是一个固件的分析工具,旨在协助研究人员对固件分析,提取及逆向工程。简单易用,完全自动化脚本,并通过自定义签名,提取规则和插件模块,更重要的一点是可以轻松扩展。
借助binwalk中的一个很强大的功能——提取文件(压缩包)中的隐藏文件(或内容文件)。亦可分析文件格式。
分析压缩包 binwalk *.zip。
binwalk -e *.zip 将文件全部解压,产生新的目录_zip.zip.extracted,还可以作为文件格式分析的工具。
- 取证哈希验证工具集
md5deep是一套跨平台的方案,可以计算和比较MD5等哈希加密信息的摘要MD5,SHA-1,SHA-256,Tiger,Whirlpool。
- 取证镜像工具集
针对镜像文件的取证工具,如mmsstat与mmls等命令。
- 数字取证套件
KaliSecuritt - 报告工具与系统服务
一次完整的渗透测试,最后要完成一份报告作为一个小结。相应的,Kali Linux为安全工程师准备了报告工具集:documentation、媒体捕捉、证据管理。
系统服务:beef、dradis、http、metasploit、mysql、openvas、ssh。
- Dradis
Dradis用于提高安全检测效率的信息共享框架(协作平台)。Dradis提供了一个集中的信息仓库,用于标记我们目前已经做的工作和下一步计划。基于浏览器的在线笔记。
-
keepnote精简的笔记本软件
-
媒体捕捉工具Cutycapt
将网页内容截成图片保存。
- Recordmydesktop
屏幕录像工具
- 证据管理
Maltego Casefile
- MagicTree
是一个面向渗透测试人员的工具,可以帮助攻击者进行数据合并、查询、外部命令执行(比如直接调用nmap)和报告生成。所有数据都会以树形结构存储,非常方便。
- Truectypt
免费开源的加密软件,同时支持Windows,OS,Linux等操作系统。
- 系统服务介绍
BeEF
对应XSS测试框架BeEF的启动与关闭;Dradis
对应笔记分享服务Dradis的启动与关闭;HTTP
对用Kali本机Web服务的启动与关闭;Metasploit
对应Metasploit服务的启动与关闭;Mysql
对应Mysql服务的启动与关闭;Openvas
对应Openvas服务的启动与关闭;SSH
对应SSH服务的启动与关闭;(远程连接最好不要开启)
教材学习:《网络攻防技术与实践》
第 9 章 恶意代码安全攻防
本章从恶意代码的基础知识、基本分类入手,由浅入深的介绍了恶意代码分析环境、静态恶意代码分析技术和动态恶意代码分析技术,通过简单的静态分析实践与Crackme分析实践,到完整分析一个自制恶意代码样本、僵尸网络取证分析实践挑战,建立起恶意代码分析的基本技术能力。
9.1 恶意代码基础知识
9.2 恶意代码分析方法
- 恶意代码的静态分析技术:反病毒软件扫描、文件格式识别、字符串提取分析、二进制结构分析、反汇编、反编译、代码结构与逻辑分析、加壳识别与代码脱壳。
- 恶意代码的动态分析技术:快照对比、系统动态行为监控、网络协议栈监控、沙箱、动态调试。
第 10 章 软件安全攻防——缓冲区溢出和shellcode
缓冲区溢出是一种最为基础的软件安全漏洞与利用技术,本章以缓冲区溢出,特别是栈溢出作为重点,介绍了软件安全漏洞的基本概念、基础机理和渗透利用技术,对Linux和Windows两种主流平台上的缓冲区溢出利用技术和shellcode撰写与提取原理进行了实例分析。
10.1 软件安全概述
- 安全漏洞:在系统安全流程、设计、实现或内部控制中所存在的缺陷和弱点,能够被攻击者所利用并导致安全侵害或对系统安全策略的违反,包括三个基本元素:系统的脆弱性或缺点、攻击者对缺陷的可访问性以及攻击者对缺陷的可利用性。
- 软件安全漏洞类型:内存安全规范类、输入验证类、竞争条件类、权限混淆与提升类。
缓冲区溢出基本概念
10.2 缓冲区溢出基础概念
- 计算机程序中存在的一类内存安全违规类漏洞,在计算机程序向特定缓冲区内填充数据时,超出了缓冲区本身的容量,导致外溢数据覆盖了相邻内存空间的合法数据,从而改变了程序执行流程破坏系统运行完整性。
10.3 Linux平台上的栈溢出与Shellcode
-
Linux平台栈溢出攻击技术:NSR、RNS、RS三种模式。NSR和RNS模式适用于本地缓冲区溢出和远程栈溢出攻击,而RS模式只能用于本地缓冲区溢出攻击。
-
Linux平台的Shellcode实现技术:Linux本地Shellcode实现机制、Linux远程Shellcode实现机制
10.4 Windows平台上的栈溢出与Shellcode
-
Windows平台栈溢出攻击技术:Windows平台栈溢出攻击技术机理(对程序运行过程中废弃栈的处理方式差异、进程内存空间的布局差异、系统功能调用的实现方式差异)、远程栈溢出攻击示例、野外Windows栈溢出实例
-
Windows平台Shellcode实现技术:Windows本地Shellcode、Windows远程Shellcode
10.5 堆溢出攻击
- 函数指针改写
- C++类对象虚函数表改写
- Linux下堆管理glibc库free()函数本身漏洞
10.6 缓冲区溢出攻击的防御技术
- 尝试杜绝溢出的防御技术
- 允许溢出但不让程序改变执行流程的防御技术
- 无法让攻击代码执行的防御技术