预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共68页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第二篇网络攻击篇第10章网络攻击实施和技术分析第10章网络攻击实施和技术分析10.1网络嗅探技术10.1网络嗅探技术10.1.1网络嗅探原理1、捕获口令 Sniffer可以记录到明文传送的userid和passwd,即使网络传送过程中使用了加密的数据,Sniffer记录的数据一样有可能使入侵者想办法算出你的算法。一般Sniffer只嗅探每个报文的前200到300个字节,而用户名和口令都包含在这一部分中。2、捕获专用的或者机密的信息 比如金融帐号,许多用户很放心在网上使用自己的信用卡或现金帐号,然而Sniffer可以很轻松截获在网上传送的用户姓名、口令、信用卡号码、截止日期、帐号和pin,或者偷窥机密或敏感的信息数据。通过拦截数据包,入侵者可以很方便记录别人之间敏感的信息传送,或者拦截整个的email会话过程.。3、可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限4、窥探低级的协议信息 通过对底层的信息协议记录,比如记录两台主机之间的网络接口地址,远程网络接口IP地址,IP路由信息和TCP连接的字节顺序号码等。这些信息由入侵者掌握后将对网络安全构成极大的危害,例如通常的IP地址欺骗就是要求准确插入TCP连接的字节顺序号。Sniffer属第二层次的攻击。通常是攻击者已经进入了目标系统,然后使用Sniffer这种攻击手段,以便得到更多的信息,并捕获网络和其他网络进行身份鉴别的过程。1、SnifferPro SnifferPro是NAI公司推出的功能强大的协议分析软件。具有捕获网络流量进行详细分析、实时监控网络活动、利用专家分析系统诊断问题、收集网络利用率和错误等功能。SnifferPro4.6可以运行在各种Windows平台上,只要安装在网络中的任何一台机器上,都可以监控到整个网络。SnifferPro软件比较大,运行时需要的计算机内存比较大,否则运行比较慢。2、Sniffit Sniffit是由LawrenceBerkeleyLaboratory实验室开发的一个免费的网络监听软件,可以在Linux、Solaris、SGI等各种平台运行的网络监听软件,它可以提供完全的数据包内容输出,可以选择源地址和目的地址或地址集合,监听的端口,协议和网络接口等。Sniffit是基于Libpcap开发的,除了适用于UNIX类型操作系统的版本外,也有可运行于Windows平台(NT和2000)的相同版本,但需要Winpcap的支持。3、Tcpdump/Windump Tcpdump是一个非常经典的网络包监听分析工具,Tcpdump(基于Libpcap),支持Solaris,BSD等多种操作系统。在Windows平台的版本为Windump,只要系统中已安装了Winpcap的驱动程序,就可以直接运行。4、Ettercap Ettercap是一个很著名的交换网络嗅探器,除了包含常规的混杂模式嗅探外,Ettercap的最新版还包括ARP欺骗,数据包生成器,SSL和SSH会话劫持,会话内容注射,端口扫描以及各种口令的采集等功能。如果网络出现以下特征,可以基本断定网络中存在Sniffer: 1、网络通讯掉包率反常的高 2、网络带宽出现反常常见的嗅探对策有 1、及时打补丁 2、本机监控 3、监控本地局域网的数据帧 4、对敏感数据加密 5、使用安全的拓朴结构 Sniffer无法穿过交换机,路由器,网桥。网络分段越细,则安全程度越大.。10.2缓冲区溢出攻击技术原理分析10.2.1堆栈的结构和组成10.2.1堆栈的结构和组成程序员用高级语言进行模块化编程的程序,会出现各种函数调用,这些函数调用被编译器编译为Call语句。当CPU执行Call语句时,先将函数调用带有的入口参数压入堆栈;再将IP变为调用函数的入口点并将调用后的返回地址压入堆栈;然后将前栈帧指针压栈,以便函数调用退出时恢复前面的栈帧,程序继续执行。堆栈中一个栈帧的结构如下:下面举一个例子说明一下什么是缓冲区溢出: voidfunction(char*str) {charbuffer[16]; strcpy(buffer,str); } voidmain() {charlarge_string[256]; inti; for(i=0;i<=255;i++) {large_string[i]='A';} function(large_string); }由于传递给function的字符串长度要比buffer大很多,而function没有经过任何长度校验直接用strcpy将长字符串拷入buffer.如果执行这个程序的话,系统会报告一个SegmentationViolation错误.首先看一下未执行strcpy时堆栈中的情况: 当执行strcpy时,程序将256Bytes拷入buffer中,但是buff