缓冲区溢出攻击实验报告

合集下载

缓冲区溢出攻击

缓冲区溢出攻击

缓冲区溢出攻击网络安全实验报告实验名称:缓冲区溢出攻击姓名:王嘉琳学号:090342228指导教师:付宇一、实验目的1.了解缓冲区溢出攻击的现象2.掌握使用缓冲区溢出攻击工具的方法二、实验环境系统环境:Windows网络环境:交换网络结构实验工具:ms06035漏洞利用工具、ms08025漏洞利用工具、ms06063补丁、ms08025补丁三、实验实际完成内容及结果分析利用ms06035漏洞进行攻击1.进入“ms06035漏洞利用工具”目录主机A单击工具栏中“ms06035工具”按钮,进入“ms06035漏洞利用工具”工作目录。

2.查看当前目录内容主机A用dir命令查看当前目录中的内容,如下图所示:上图中标注的“ms06035.exe”即为ms06035漏洞攻击工具。

3.查看“ms06035工具”的使用方法主机A执行“ms06035.exe”命令,提示ms06035漏洞利用工具的使用方法,如下图所示:4.使用“ms06035工具”进行攻击主机A执行“ms06035.exe 主机B的ip445”命令,发起对主机B的攻击。

5.主机B观察被攻击现象主机B被攻击后出现蓝屏死机的现象(实验结束,主机B用虚拟机“快照X”恢复实验环境)。

利用ms08025漏洞进行攻击以下步骤两主机互相攻击对方,操作相同,故以主机A为例说明实验步骤。

「注」将“C:\ExpNIS\NetAD-Lab\Tools\OverFlow\RemoteOverflow”目录下的“ms08025.exe”复制到D盘的根目录下,以便实验下一步进行。

1.telnet登录系统(1)主机A在命令行下使用telnet登录同组主机,登录账号为“student”,密码为“123456”,登录成功如下图。

(2)主机A依次输入“d:”|“dir”查看同组主机D盘根目录,“ms08025.exe”即为实验工具。

2.使用系统命令添加用户主机A使用“net user student1 /add”命令来试添加一个用户“student1”,执行该命令,出现“发生系统错误5,拒绝访问”的提示,如下图所示:请解释出现上述现象的原因:当前用户为普通用户,普通用户没有添加用户的权限。

缓冲区溢出攻击与防范实验报告

缓冲区溢出攻击与防范实验报告

缓冲区溢出攻击与防范实验报告——计算机网络(2)班——V200748045黄香娥1·缓冲区溢出的概念:缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间想匹配,这就为缓冲区溢出埋下隐患.操作系统所使用的缓冲区又被称为"堆栈". 在各个操作进程之间,指令会被临时储存在"堆栈"当中,"堆栈"也会出现缓冲区溢出。

2·缓冲区溢出的危害:在当前网络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出,其中最著名的例子是1988年利用fingerd漏洞的蠕虫。

而缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。

3·缓冲区溢出原理:由一个小程序来看://test.c#include "stdio.h"#include "stdlib.h"#include "string.h"void overflow(void){char buf[10];strcpy(buf,"0123456789123456789");}//end overflowint main(void){overflow();return 0;}//end main按F11进入"Step into"调试模式,如下:按F11跟踪进入overflow,让程序停在6,现在再看一下几个主要参数:esp=0x0012ff30,eip发生了变化,其它未变。

缓冲区溢出攻击实验报告_林凯杰_30601340

缓冲区溢出攻击实验报告_林凯杰_30601340

缓冲区溢出攻击实验【实验要求】1)基本要求:编写一个能实现缓冲区溢出(整数溢出或堆栈溢出)的程序。

语言不限(c,c++,c#,java等均可),环境也不限(linux或windows等)。

并在调试状态下(如linux的gdb或其他集成开发环境的调试命令)查看寄存器和相应存储单元内容的变化情况。

分析并解释缓冲区溢出的原因。

提交:分析文档(要给出调试过程和运行过程中的一些必要的截图),源代码等。

2)提高要求:在上述溢出的情况下,改写ret地址,增加shellcode代码,实现本地或远程管理员权限的非授权访问。

例:一个简单的shellcode程序:/* linux下的一个程序*/#include <stdio.h>void main() {char *name[2];name[0]="/bin/sh";name[1]=NULL;execve(name[0],name,NULL);}也可用gdb对其反汇编(主要分析execve和exit函数调用的机器指令),获得相关的汇编代码,进一步处理为16进制机器代码,形如char shellcode[]="\xeb\xlf.......\bin\sh";然后利用strcpy等脆弱性函数植入shellcode.【实验原理】实验主要是利用strcpy等脆弱性函数在执行时没有检查缓冲区长度的特性,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。

1、局部变量与堆栈的关系在一个程序中,会声明各种变量。

静态全局变量是位于数据段并且在程序开始运行的时候被初始化,而局部变量则在堆栈中分配,只在该函数内部有效。

如果局部变量使用不当,会造成缓冲区溢出漏洞。

例如,以下程序将命令行的第1个参数拷贝到buffer局部变量中。

void main(int argc,char **argv){char buf[80];strcpy(buf,argv[1]);}在一次函数调用中,堆栈中将被依次压入:参数、返回地址。

实验4 缓冲区溢出攻击实验

实验4 缓冲区溢出攻击实验

深圳大学实验报告课程名称:计算机系统(2)实验项目名称:缓冲区溢出攻击实验学院:计算机与软件学院专业:计算机科学与技术指导教师:罗秋明报告人:实验时间:2016年5月8日实验报告提交时间:2016年5月22日教务处制一、实验目标:1.理解程序函数调用中参数传递机制;2.掌握缓冲区溢出攻击方法;3.进一步熟练掌握GDB调试工具和objdump反汇编工具。

二、实验环境:1.计算机(Intel CPU)2.Linux64位操作系统(CentOs)3.GDB调试工具4.objdump反汇编工具三、实验内容本实验设计为一个黑客利用缓冲区溢出技术进行攻击的游戏。

我们仅给黑客(同学)提供一个二进制可执行文件bufbomb和部分函数的C代码,不提供每个关卡的源代码。

程序运行中有3个关卡,每个关卡需要用户输入正确的缓冲区内容,否则无法通过管卡!要求同学查看各关卡的要求,运用GDB调试工具和objdump反汇编工具,通过分析汇编代码和相应的栈帧结构,通过缓冲区溢出办法在执行了getbuf()函数返回时作攻击,使之返回到各关卡要求的指定函数中。

第一关只需要返回到指定函数,第二关不仅返回到指定函数还需要为该指定函数准备好参数,最后一关要求在返回到指定函数之前执行一段汇编代码完成全局变量的修改。

实验代码bufbomb和相关工具(sendstring/makecookie)的更详细内容请参考“实验四缓冲区溢出攻击实验.p ptx”。

本实验要求解决关卡1、2、3,给出实验思路,通过截图把实验过程和结果写在实验报告上。

四、实验步骤和结果步骤1 返回到smoke()1.1 解题思路首先弄清楚getbuf()的栈帧结构,知道存放字符数组buf地址的单元和存放getbuf()返回地址的单元之间相差多少个字节。

假设两者之间相差x个字节。

然后找到smoke()函数的入口地址。

该值为4个字节。

再构造exploit.txt,前x个字节随意填,然后再填入4个字节的smoke()地址,注意是小端方式存储。

缓冲区溢出攻击与防范实验报告

缓冲区溢出攻击与防范实验报告

实验六报告如图2所示的Windows 2000系统(虚拟机环境下)的计算机。

显然这2台计算机处于同一个网段中,可以相互通讯,win10系统用作攻击机,下面将在此系统上运行Metasploit进行渗透测试,而Windows 2000系统都是本次任务中需要进行渗透入侵的靶机,保持安装后的默认状态,没有打额外的系统安全补丁。

图1 win10攻击机图2 Windows 2000 靶机2、扫描靶机在正式开始渗透之前,应该对靶机进行扫描探测工作,搞清楚渗透目标的系统类型、开放的端口服务、可能存在的安全漏洞等。

在win10攻击机上运行metasploit console,即可进入Metasploit环境。

现在可以利用MSF框架中集成的Nmap扫描器对渗透测试目标进行扫描,如图3所示,获取了靶机的开放服务和操作系统类型等信息。

图3 windows 2000扫描结果利用扫描器的脚步插件,还有可能直接探测出目标系统的安全漏洞,例如如图4所示,Nmap 利用smb-check-vulns插件扫描探测出了Windows 2000靶机存在MS08_067漏洞,命令执行如下:nmap -script= 。

namap扫描的结果里报告发现MS08-067:DISABLED。

这是在暗示我们或许能够对这台主机进行渗透攻击,然后我们在Metasloit里面找到此漏洞的攻击模块,并尝试攻击目标机器。

MS08-067是一个对操作系统版本依赖非常高的漏洞,所以在这里,我们只自动payload指定一下目标就可以确保触发正确的溢出代码。

图4漏洞扫描结果3利用MS08_067漏洞渗透入侵MS08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的RPC 请求,则该漏洞可能允许远程执行代码。

在Microsoft Windows 2000Windows XP 和Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。

实验2:缓冲区溢出

实验2:缓冲区溢出

3.4.2 寻找jmp指令地址
前面说到,我们选择通过jmp esp来实现程 序跳转,也就是说,要在RET的位置放置 jmp esp指令的地址,那么,到哪里找jmp esp指令呢? 最好是能在系统中找到现成的,而不需要 我们重新再构造 事实上,在Windows系统的许多DLL中都 能找到jmp esp这样一条指令,一个通用的 地址是0x7ffa4512
4. 实验说明——3CTftpSvc
软件名称:3CTftpSvc 影响版本:Current version:2.0.1 漏洞描述:畸形的传输模式可以导致缓冲 区溢出,覆盖EIP,可能造成拒绝服务攻击和 远程代码执行。 漏洞调试:当传输模式为mode = "netascii" + "A" * 469时覆盖EIP
因此,在网上下载的CCProxy 6.2有可能 是已修补了该漏洞的程序
4. 实验说明——War-ftp
war-ftp漏洞提示:向服务器发送超过480 字节的用户名可以触发漏洞(即使用命令 USER longString\r\n),溢出之后,ESP中 的内容包含了longString中的部分内容
3.1 介绍CCProxy
CCProxy因其设 置简单和使用方便 等特点,成为国内 最受欢迎的代理服 务器软件。 CCProxy不但支 持常见的HTTP和 SOCKS代理,而且还 支持FTP和Telnet这 类不常用的协议及 其它协议。
3.2 漏洞说明
CCProxy在代理Telnet协议时,可以接受 Ping命令
Socket编程 连接目标主机(connect) 构造溢出字符串(即构造后接shellcode的 ping命令:ping shellcode\r\n) 向目标主机发送溢出字符串(send) 关闭连接

(完整word版)缓冲区溢出攻击实验报告

(完整word版)缓冲区溢出攻击实验报告

缓冲区溢出攻击实验报告班级:10网工三班学生姓名:谢昊天学号:1215134046实验目的和要求:1、掌握缓冲区溢出的原理;2、了解缓冲区溢出常见的攻击方法和攻击工具;实验内容与分析设计:1、利用RPC漏洞建立超级用户利用工具scanms.exe文件检测RPC漏洞,利用工具软件attack.exe对172.18.25.109进行攻击。

攻击的结果将在对方计算机上建立一个具有管理员权限的用户,并终止了对方的RPC服务。

2、利用IIS溢出进行攻击利用软件Snake IIS溢出工具可以让对方的IIS溢出,还可以捆绑执行的命令和在对方计算机上开辟端口。

3、利用WebDav远程溢出使用工具软件nc.exe和webdavx3.exe远程溢出。

实验步骤与调试过程:1.RPC漏洞出。

首先调用RPC(Remote Procedure Call)。

当系统启动的时候,自动加载RPC服务。

可以在服务列表中看到系统的RPC服务。

利用RPC漏洞建立超级用户。

首先,把scanms.exe文件拷贝到C盘跟目录下,检查地址段172.18.25.109到172.18.25.11。

点击开始>运行>在运行中输入cmd>确定。

进入DOs模式、在C盘根目录下输入scanms.exe 172.18.25.109-172.18.25.110,回车。

检查漏洞。

2.检查缓冲区溢出漏洞。

利用工具软件attack.exe对172.18.25.109进行攻击。

在进入DOC 模式、在C盘根目录下输入acctack.exe 172.18.25.109,回车。

3,利用软件Snake IIS溢出工具可以让对方的IIS溢出。

进入IIS溢出工具软件的主界面.IP:172.18.25.109 PORT:80 监听端口为813单击IDQ溢出。

出现攻击成功地提示对话框。

4.利用工具软件nc.exe连接到该端口。

进入DOs模式,在C盘根目录下输入nc.exe -vv 172.18.25.109 813 回车。

网络安全实验报告 - 缓冲区溢出攻击

网络安全实验报告 - 缓冲区溢出攻击

一实验名称利用跳转指令实现缓冲区溢出定位参数地址实现缓冲区溢出二实验目的1.熟练掌握缓冲区溢出原理2.利用jmp esp指令实现缓冲区溢出3.熟练掌握缓冲区溢出原理4.利用定位参数地址实现缓冲区溢出三实验步骤利用跳转指令实现缓冲区溢出1.编写前导码程序中提供了一个超长前导码,对程序进行调试来确定实际需要的前导码长度在图中可以看出,0x49484746四字节覆盖了ret返回地址2.查找jmp esp指令地址运行FindJmpesp工具,选取一个地址追加到shellcode尾(追加填加地址时注意数组高字节对应地址高位),所选jmp esp指令地址是0x77e424da跟踪调试程序,确定在memcpy执行返回时jmp esp指令是否被执行从图看出,在jmp esp指令执行完毕后,指令指针紧接着执行了3个空指令,而空指令是追加在shellcode尾部的3.生成实现弹出对话框的指令码MessageBoxA函数的绝对内存地址,该地址为0x77E10000+0x0003D8DE=0x77E4D8DE函数ExitProcess的绝对内存地址0x7C800000+0x00013039=0x7C813039利用反汇编功能获取代码字节,将代码字节以十六进制数据形式继续追加到shellcode尾。

重新编译执行。

定位参数实现缓冲区溢出1.进入工程2.生成shellcode功能体(1)首先设置OverFlowClient项目为启动项。

(2)使用Depends工具打开FindShellBase.exe文件定位上述内存地址kernel32.dll 0x7C800000LoadlibraryA 0x7C800000+0x00001E60=7C801E60SHELL32.DLL 0x7CA10000shellExecuteA 0x7CA10000+0x0008F6D4=0x7CA9F6D4(3)编译并生成OverFlowClient.exe,执行OverFlowClient.exe,确定系统是否新建了jlcss用户,并隶属Administrators组。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

缓冲区溢出攻击实验报告
班级:10网工三班学生姓名:谢昊天学号:46
实验目的和要求:
1、掌握缓冲区溢出的原理;
2、了解缓冲区溢出常见的攻击方法和攻击工具;
实验内容与分析设计:
1、利用RPC漏洞建立超级用户利用工具文件检测RPC漏洞,利用工具软件对进行攻击。

攻击的结果将在对方计算机上建立一个具有管理员权限的用户,并终止了对方的RPC服务。

2、利用IIS溢出进行攻击利用软件Snake IIS溢出工具可以让对方的IIS溢出,还可以捆绑执行的命令和在对方计算机上开辟端口。

3、利用WebDav远程溢出使用工具软件和远程溢出。

实验步骤与调试过程:
1.RPC漏洞出。

首先调用RPC(Remote Procedure Call)。

当系统启动的时候,自动加载RPC服务。

可以在服务列表中看到系统的RPC服务。

利用RPC漏洞建立超级用户。

首先,把文件拷贝到C盘跟目录下,检查地址段到。

点击开始>运行>在运行中输入cmd>确定。

进入DOs模式、在C盘根目录下输入 -,回车。

检查漏洞。

2.检查缓冲区溢出漏洞。

利用工具软件对进行攻击。

在进入DOC模式、在C盘根目录下输入 ,回车。

3,利用软件Snake IIS溢出工具可以让对方的IIS溢出。

进入IIS溢出工具软件的主界面. PORT:80 监听端口为813
单击IDQ溢出。

出现攻击成功地提示对话框。

4.利用工具软件连接到该端口。

进入DOs模式,在C盘根目录下输入 -vv 813 回车。

5.监听本地端口(1)先利用命令监听本地的813端口。

进入DOs模式,在C盘根目录下输入nc -l -p 813回车。

(2)这个窗口就这样一直保留,启动工具软件snake,本地的IP 地址是,要攻击的计算机的IP地址是,选择溢出选项中的第一项,设置IP为本地IP地址,端口是813.点击按钮“IDQ溢出”。

(3)查看nc命令的DOS框,在该界面下,已经执行了设置的DOS命令。

将对方计算机的C盘根目录列出来,进入DOC模式,在C盘根目录下输入nc -l -p 813回车。

6.利用WebDav远程溢出使用工具软件和远程溢出。

(1)在DOS命令行下执行,进入DOC 模式,在C盘根目录下输入回车。

(2)程序入侵对方的计算机进入DOC模式,在C盘根目录下输入nc -vv 7788 回车。

实验结果:
1.成功加载RPC服务。

可以在服务列表中看到系统的RPC服务,见结果图。

2.成功利用工具软件对进行攻击。

3.成功利用IIS溢出进行攻击利用软件Snake IIS溢出工具让对方的IIS溢出,从而捆绑
执行的命令和在对方计算机上开辟端口。

4.利用软件工具攻击结果将在对方计算机上建立一个具有管理员权限地用户,并终止对方地rpc服务。

5.先利用命令监听
6.利用工具软件对进行攻击。

7.利用WebDav远程溢出使用工具软件和远程溢出。

8.具体结果见上传实验报告,实验结果图。

疑难小结:
通过本次试验,我对缓冲区溢出攻击有了进一步的了解,通过动手实现其设置缓冲区溢出攻击,我掌握了缓冲区溢出攻击的工作原理、入侵过程及危害。

成功加载RPC服务。

成功利用IIS溢出进行攻击利用软件Snake IIS溢出工具让对方的IIS溢出,从而捆绑执行的命令和在对方计算机上开辟端口。

利用软件工具攻击结果将在对方计算机上建立一个具有管理员权限地用户,并终止对方地rpc服务。

通过本次试验使我更加深刻的理解了缓冲区溢出攻击的特点。

同时,在实验过程中,回顾书本上的理论知识,巩固了我的知识。

主要算法和程序清单:
1.把文件拷贝到C盘跟目录下,检查地址段到.点击2.开始>运行>在运行中输入cmd>确定。

进入DOs模式、在C盘根目录下输入 -,回车。

检查漏洞。

3.利用工具软件对进行攻击。

4.在进入DOC模式、在C盘根目录下输入 ,回车。

5.利用工具软件连接到该端口,进入DOs模式,在C盘根目录下输入 -vv 813 回车。

6.void function(char * szPara1)
{
char buff[16];
strcpy(buffer, szPara1);
}
7.程序中利用strcpy函数将szPara1中的内容拷贝到buff中,只要szPara1的长度大于16,就会造成缓冲区溢出。

存在strcpy函数这样问题的C语言函数还有:strcat()、gets()、scanf()等。

8.利用IIS溢出进行攻击利用软件Snake IIS溢出工具可以让对方的IIS溢出,还可以捆绑执行的命令和在对方计算机上开辟端口。

(1)利用软件Snake IIS溢出工具可以让对方的IIS溢出,还可以捆绑执行的命令和在对方计算机上开辟端口工具软件的主界面(2)利用IIS溢出进行攻击
9.监听本地端口
10.查看nc命令的DOS框
11.利用WebDav远程溢出使用工具软件和远程溢出。

实验结果图:
1.应用程序呼叫网络上的计算机。

当系统启动的时候,自动加载RPC服务。

可以在服务列表中看到系统的RPC服务,如图所示:
2利用RPC漏洞建立超级用户
1,首先,把文件拷贝到C盘跟目录下,检查地址段到
3,检查缓冲区溢出漏洞
1.利用工具软件对进行攻击。

如图所示:
4,利用IIS溢出进行攻击利用软件Snake IIS溢出工具可以让对方的IIS溢出,还可以捆绑执行的命令和在对方计算机上开辟端口。

1.利用软件Snake IIS溢出工具可以让对方的IIS溢出,还可以捆绑执行的命令和在对方计算机上
开辟端口工具软件的主界面如图所示
2,利用IIS溢出进行攻击
该软件适用于各种类型的操作系统,比如对进行攻击,的操作系统的Windows 2000,没有安装补丁程序,攻击完毕后,开辟一个813端口,并在对方计算机上执行命令“dir c:\”,。

设置如图所示
单击IDQ溢出。

出现攻击成功地提示对话框如图所示。

这个时候,813端口已经开放,利用工具软件连接到该端口,将会自动执行改才发送的DOS命令“dir c:\”,使用的语法是: -vv 813,其中-vv是程序的参数,813是目标端口。

可以看到命令的执行结果,如图所示。

监听本地端口
先利用命令监听本地的813端口。

使用的基本语法是“nc -l -p 813”,执行的过程如图所示。

这个窗口就这样一直保留,启动工具软件snake,本地的IP地址是,要攻击的计算机的IP地址是,选择溢出选项中的第一项,设置IP为本地IP地址,端口是813,如图所示。

点击按钮“IDQ溢出”,程序显示对话框如图所示。

查看nc命令的DOS框,在该界面下,已经执行了设置的DOS命令。

将对方计算机的C盘根目录列出来,如图所示
3、利用WebDav远程溢出使用工具软件和远程溢出。

使用工具软件有和。

首先在DOS命令行下执行,如图所示。

在命令后面直接跟对方的IP地址就可以了,现在要攻击的计算机是,执行情况如图所示。

程序入侵对方的计算机,过程如图所示。

相关文档
最新文档