a、教材第九周和第十周学习
1、第九章学习
1.1恶意代码基本知识
恶意代码定义:
恶意代码(Unwanted Code)是指没有作用却会带来危险的代码,一个最安全的定义是把所有不必要的代码都看作是恶意的,不必要代码比恶意代码具有更宽泛的含义,包括所有可能与某个组织安全策略相冲突的软件。恶意代码的类型可分为:计算机病毒、蠕虫、恶意移动代码、后门、特洛伊木马、僵尸网络、内核套件。
计算机病毒:
计算机病毒是一个程序,一段可执行码。就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。除复制能力外,某些计算机病毒还有其它一些共同特性:一个被污染的程序能够传送病毒载体。当你看到病毒载体似乎 仅仅表现在文字和图象上时,它们可能也已毁坏了文件、再格式化了你的硬盘驱动或引发了其它类型的灾害。若是病毒并不寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能。
计算机病毒的基本特性:感染性、潜伏性、可触发性、破坏性、衍生性。
网络蠕虫:
蠕虫病毒是一种常见的计算机病毒。它是利用网络进行复制和传播,传染途径是通过网络和电子邮件。最初的蠕虫病毒定义是因为在DOS环境下,病毒发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形。
网络蠕虫的组成结构可分为:弹头、传播引擎、目标选择算法和扫描引擎、有效载荷。
后门和木马:
后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。 后门程序又称特洛依木马,其用途在于潜伏在电脑中,从事搜集信息或便于黑客进入的动作。后门程序和电脑病毒最大的差别,在于后门程序不一定有自我复制的动作,也就是后门程序不一定会“感染”其它电脑。 后门是一种登录系统的方法,它不仅绕过系统已有的安全设置,而且还能挫败系统上各种增强的安全设置。
僵尸程序和僵尸网络:
僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。 攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,而被感染的主机将通过一个控制信道接收攻击者的指令,组成一个僵尸网络。之所以用僵尸网络这个名字,是为了更形象地让人们认识到这类危害的特点:众多的计算机在不知不
觉中如同中国古老传说中的僵尸群一样被人驱赶和指挥着,成为被人利用的一种工具。
1.2 恶意代码分析方法
恶意代码分析的技术方法主要包括静态分析和动态分析两大类。静态分析的方法有反病毒软件扫描、二进制结构分析、反汇编反编译、代码结构与逻辑分析等方法;动态分析的方法有系统动态行为监控、网络协议栈监控、沙箱技术、动态调试技术等。
恶意代码静态分析技术包括:反病毒软件扫描、文字格式识别、字符串提取分析、二进制结构分析、反汇编、反编译、代码结构与逻辑分析、加壳识别和代码脱壳。
恶意代码动态分析技术包括:快照对比、系统动态行为监控、网路协议栈监控、沙箱、动态调试。
2、第十章学习
2.1 缓冲区溢出概念
缓冲区溢出是指当计算机向缓冲区内填充数据位数时,超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患.操作系统所使用的缓冲区 又被称为"堆栈". 在各个操作进程之间,指令会被临时储存在"堆栈"当中,"堆栈"也会出现缓冲区溢出。
2.2 Linux平台上的栈溢出与Shellcode
Linux平台栈溢出攻击技术按照攻击数据的构造方式不同可以分为:NSR、RNS和RS三种模式。
2.3 缓冲区溢出攻击的防御技术
解决缓冲区溢出的方法可以分为尝试杜绝溢出的防御技术、允许溢出但不让程序改变执行流程的防御技术、无法让攻击代码执行的防御技术。
b、Kali视频学习
1、KaliSecurity - 压力测试工具
压力测试通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大的服务级别的测试。通俗的讲,压力测试是为了发现在什么条件下你的应用程序的性能会变得不可接受。
1、VoIP压力测试工具
包括iaxflood和inviteflood
2、Web压力测试
借助THC-SSl-DOS攻击工具,任何人都可以把提供SSL安全连接的网站攻击下线。这种攻击方法被称为SSL拒绝服务攻击。德国黑客组织“The Hacker’s Choice”发布THC SSL DOS,利用SSL中的已知弱点,迅速消耗服务器资源,与传统DDos工具不同的是,他不需要任何带宽,只需要一台执行单一攻击的电脑。
漏洞存在与协议的renegotitation过程中,renegotiation被用于浏览器到服务器之间的验证。
5、Inundator
IDS/IPS/WAF 压力测试工具,防火墙压力测试工具,耗尽对方认证资源。
6、Macof,可做泛洪攻击。
7、Siege
压力测试和评测工具,设计用于WEB开发和评估应用在压力下的承受能力;可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。在攻击的同时进行数据分析。
8、T50压力测试
T50 Sukhoi PAK FA Mixed Packet Injector是一个压力测试工具,功能强大且具有独特的数据包注入工具。T50支持Unix系统可进行多种协议的数据包注入,实际上支持15种协议。
9、无线压力测试
mdk3和reaver
2、数字取证工具
数字取证技术将计算机调查和分析技术应用于对潜在的、有法律效力的电子证据的确定与获取,同样他们都是针对黑客和入侵的,目的都是宝航网络安全。
1、PDF取证工具
peepdf是一个用Python编写的PDF文件分析工具,它可以检测恶意的PDF文件,其设计目标是为安全研究人员提供PDF分析中可能用到的所有组件,无需使用3或4种工具完成统一任务。
2、反数字取证chkrootkit
Linux系统下的查找检测Rootkit后门的工具。适用该条指令就可以检测是否被注入后门
3、内存取证工具
开源的Windows,Linux,mac,Android的内存取证分析工具,有Python编写成,命令行操作,支持各种操作系统。
4、取证分割工具binwalk
是一个固件分析工具,旨在协助研究人员对固件分析,提取及逆向工程用处,简单易用,完全自动化脚本,并通过自定义签名,提取规则和插件模块,更重要的一点是可以轻松扩展。
借助binwalk有个很强大的功能是提取文件中存在的隐藏文件,亦可分析文件格式。
5、取证哈希验证工具集
md5deep是一套跨平台的方案,可以计算和比较MD5等哈希加密信息的摘要MD5,SHA-1,SHA-256,Tiger,Whirlpool
6、取证镜像工具集
针对镜像文件的取证工具,如mmsstat与mmls等命令。
7、数字取证套件
dff是一个简单强大的数字取证工作辅助工具,有一个灵活的模块系统,具有多种功能,包括:恢复错误或崩溃导致的文件丢失,证据的研究和分析等。dff提供了一个强大的体系结构和一些有用的模块。
autopsy提供了一个浏览器控制台 。
3、KaliSecurity - 报告工具与系统服务
一次完整的渗透测试,最后总要完成一份优雅的报告作为一个小结,kali下也有相关的报告工具集。
1、Dradis
是一个用于提高安全检测效率的信息共享框架,它提供了一个集中的信息仓库,用于标记我们目前已经做的工作和下一步计划。
2、Keepnote
一个很精简的笔记软件,特点如下:
富文本格式:彩色字体,内置图片,超链接(即:能保存整个网页的图品文字等完整信息)。
树形分层组织内容
分门别类,一目了然
全文搜索
综合截图:屏幕截图后,可以直接在笔记本中插入
文件附件
集成的备份和恢复
拼写检查
自动保存
内置的备份和恢复(zip文件存档)
3、Cutycapt
将网页内容截成图片保存
4、Recordmydesktop
屏幕录像工具,用来录制桌面
6、MagicTree
是一个面向渗透测试人员的工具,可以帮助你轻松直接的进行数据合并,查询,外部命令执行,报告生成,所有数据都会以树形结构存储,非常方便。
7、Truecrypt
一款免费开源的加密软件,同时支持Windows Vista/7/XP,Mac OS X,Linux等操作系统。
beEF:对应XSS测试框架BeEF的启动与关闭
Dradis:对应笔记本分享服务的启动与关闭
HTTP:对应kali本机WEB服务的启动与关闭
Metasploit:对应Metasploit服务的启动与关闭
MySQL:对应mysql的服务启动与关闭
openvas:对应扫描器openvas服务的启动与关闭
SSh:对应SSh的服务启动与关闭