网络攻防第九周
网络攻防第九周
教材学习总结
恶意代码指的是使计算机按照攻击者的意图执行以达到恶意目标的指令集。恶意代码可以根据其执行方式,传播方式和对攻击者目标的影响分为计算机病毒,蠕虫,恶意移动代码,特洛伊木马,后门,僵尸程序,内核套件等。
计算机病毒是一种能够自我复制的代码,通过将自身嵌入其他程序进行感染,而感染过程通常需要人工干预才能完成。计算机病毒具有的基本特性是:感染性,潜伏性,可触发性,破坏性,衍生性。其潜在的感染目标可分为可执行文件,引导扇区和支持宏指令的数据文件三大类。计算机病毒的传播渠道包括移动设备,电子邮件及下载,共享目录等。
网络蠕虫是一种可以自我复制的代码,并且通过网络传播,通常无需人为干预就能传播。网络蠕虫的组成结构是:弹头,传播引擎,目标选择算法,扫描引擎,有效载荷。传播引擎通常利用的网络传输机制包括文件传输协议FTP,小文本传输协议TFTP,超文本传输协议HTTP,服务信息块协议SMB以及原始SOCKET套接字等。
后门和木马是恶意代码中经常被混淆的两类技术形态,后门是允许攻击者绕过系统常规安全控制机制的程序,能够按照攻击者自己的意图提供访问通道,而木马作为特洛伊木马的简称,是指一类看起来具有某个有用或善意目的,但实际掩盖着一些隐藏恶意功能的程序。
在windows平台中,后门工具可以利用自启动文件夹,注册表自启动项及预订计划任务这三种方法达到自启动的效果。自启动文件夹通常的位置在C:\Documents and Settings[user_name]\Start Menu\Programs\Startup目录下。
僵尸程序可以按照传播策略分为自动传播性僵尸程序和受控传播性僵尸两大类,而僵尸程序的传播方式包括通过远程攻击软件漏洞传播,扫描NetBIOS弱密码传播,扫描恶意代码留下的后门进行传播,通过发送邮件病毒传播,通过文件系统共享传播等。此外,最新的僵尸程序也已经开始结合即时通信软件和P2P文件共享软件进行传播。辅助功能模块是对僵尸程序除主体功能外其他功能的归纳,主要包括信息窃取,僵尸主机控制,下载与更新和躲避检测与对抗分析等功能模块。当前主流使用的僵尸网络命令与控制机制包括:基于IRC协议的命令与控制机制,基于HTTP协议的命令与控制机制和基于P2P协议的命令与控制机制这三大类。
Rootkit可以运行在不同的层次上,即用户模式和内核模式。用户模式Rootkit修改的是操作系统用户态中用户和管理员所使用的一些內建程序和库文件,而内核模式Rootkit则直接攻击操作系统最核心的内核,修改内核从而隐藏身份。用户模式Rootkit还可以使用DLL注入和API挂钩技术把恶意代码直接加入运行进程的内存空间中,AFX Window Rootkit就是一款真实且功能强大的,利用了DLL注入和API挂钩技术所实现的用户模式Rootkit.针对Linux操作系统内核的Rootkit攻击利用了Linux所支持的LKM可装载内核模块的内核扩展机制。
恶意代码分析的技术方法主要包括静态和动态分析两大类。
软件安全漏洞是目前最常见,也是影响范围最大的安全漏洞类型。缓冲区溢出漏洞通常多见于C/C++语言程序中的memcpy()、strcpy()等内存与字符串复制函数的引用位置,由于这些函数并不检查内存的越界问题,程序员也没有足够的意识对复制等额目标缓冲区普遍进行严格的边界保护,所以就容易发生缓冲区溢出。缓冲区溢出的根本原因就是现代计算机系统的基础框架结构--冯•诺伊曼体系存在本质的安全缺陷,即采用了“存储程序”的原理,计算机程序的数据和指令都在同一内存中进行存储,而没有进行严格的分离。“栈”是一种后进先出的数据结构,其地址空间从高地址向低地址增长。Linux和Windows平台进程内存空间分布存在差异,要明确其对比图。缓冲区溢出漏洞根据缓冲区在进程内存空间的位置不同,又分为栈溢出,堆溢出和内核溢出这三种具体技术形态。
kali视频学习
1.kali压力测试工具
压力测试通过确定一个系统的瓶颈或者不能接受的性能特点,来获得系统能提供的最大的服务级别的测试。通俗的讲,压力测试是为了发现在什么条件下您的应用程序的性能会变得不可接受。kali下压力测试工具宝库VoIP压力测试,WEB压力测试,网络压力测试及无线压力测试四个分类。
(1)VoIP压力测试工具
包括iaxflood和inviteflood
(2)THC-SSL-DOS
借助THC-SSL-DOS攻击工具,任何人都可以把提供SSL安全连接的网站攻击下线,这种攻击方法被称为SSL拒绝服务攻击(SSL DOS)。德国黑客组织“The hacker's choice”发布THC SSL DOS,利用SSL中的已知弱点,迅速消耗服务器资源,与传统DDoS工具不同的是,它不需要任何带宽,只需要一台执行单一攻击的电脑。
漏洞存在于协议的renegotiation过中,renegotiation被用于浏览器到服务器之间的验证。
(3)dhcpig
耗尽DHCP资源池的压力测试
(4)Macof
可做泛洪攻击
(5)Siege
Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
(6)T50压力测试
T50是一个压力测试工具,它功能强大且具有独特的数据包注入工具,T50支持Linux系统可进行多种协议的数据包注入,实际上支持15种协议。
(7)无线压力测试
mdk3和reaver
2.数字取证工具
数字取证技术将计算机调查和分析技术应用于对潜在的,有法律效力的电子证据的确定与获取,同样他们都是针对黑客和入侵的,目的都是保障网络的安全。
(1)PDF取证工具
peepdf是一个使用python编写的PDF文件分析工具,它可以检测恶意的PDF文件。其设计目标是为安全研究人员提供PDF分析中可能使用到的所有组件,无需使用3或者4中工具来完成同一件任务。
(2)反数字取证chkrootkit
Linux下查找后门的工具,是判断系统是否被植入Rootkit的利器。
(3)内存取证工具
volatility是开源的windowa,Linux,MAC,Android的内存取证分析工具,由python编写成,命令行操作,支持各种操作系统。
(4)取证分隔工具binwalk
binwalk是一个固定的分析工具,旨在协助研究人员对固件非分析,提取及逆向工程用处。简单易用,完全自动化脚本,并通过自定义签名,提取规则和插件模块,还有重要的一点的是可以轻松的扩展。借助binwalk有个很强大的功能是提取文件(压缩包)中存在的隐藏文件(或内容文件),亦可分析文件格式。,解压缩包,查看压缩包。
(5)取证哈希验证工具集
md5deep是一套跨平台的方案,可以计算和比较MD5等哈希加密信息的摘要MD5,SH-1,SHA-256,Tiger,Whirlpool.
(1)Dradis
Dradis是一个用于提高安全监测效率的信息共享框架(协作平台),Dradis提供了一个集中地信息仓库,用于标记我们目前已经做的工作和下一步计划。
(2)Keepnote
一个很精简的笔记软件,特点如下:
富含文本格式,彩色字体,内置图片,超链接,树型分层组织内容,全文搜索,综合截图,文件附件,集成的备份和恢复,拼写检查(通过gtkspell),自动保存,内置的备份和恢复(zip文件存档)
(3)Recordmydesktop
屏幕录像工具,用来录制桌面。
(4)Magic Tree
是一个面向渗透测试人员的工具,可以帮助你轻松直接的进行数据合并,查询,外部命令执行和报告生成,所有的数据都会以树形结构存储,非常方便。
(5)Truecrypt
是一款免费开源的加密软件,同时支持windows vista,7/Xp,MAc OS X,linux等操作系统。
(6)服务功能介绍
可以直接使用命令行结束工具服务。
每一项对应每一项的服务。