实 验 报 告
( 2007/ 20## 学年 第 一 学期)
实 验 报 告
第二篇:网络攻防—木马实验报告
综合实验报告
( 20xx -- 20xx 年度第二学期)
名 称: 网络攻防系统实验
题 目: 木马
院 系: 计算机系
班 级: 信息安全1001班
学 号: ***
设计周数: 2
成 绩:
日期:20##年 7月 10日
网络攻防实验
任 务 书
一、 目的与要求
1.目的
1.1 培养学生的动手实践能力
1.2 深入理解计算机网络应用程序工作原理
1.3 更加深入学习网络攻防的基本步骤。
1.4 掌握网络攻击软件的编写能力。
1.5把前期学习阶段的知识和方法系统化,来解决实际问题,为毕业设计做准备。
2. 要求
2.1 运用所学的知识和方法采用最佳的解决问题思路,完成本次实验。
2.2 根据任务书所规定的程序能查找相关资料,学习相关开发技术和理论知识。
2.3对要完成的内容进行详细的分析和设计,画出系统执行的流程图和系统构架图。
2.4 认真书写实验报告,包括实验过程中遇到的问题,解决办法,也包括实验后的新的体会及队本次实验的建议和意见。
二、 主要内容
编写一个针对Windows的木马程序,该木马可以作为各种入侵程序的伪装外壳,保证信息窃探工作的顺利完成,基本程序功能如下:
1、在主程序中要求将程序拷贝到系统盘\windows\目录下并更名为taskmgr.exe,同时复制第二份到系统盘\windows\system32目录下并更名为explorer.exe。用以混淆用户对木马的第一判断。
2、程序建立两个windows进程,每个进程每一个时钟周期检查另外一个进程是否正在运行。如果存在弹出对话框“I’m still here!”,如果不存在启动另一个进程并弹出对话框“I’m still here!”。
3、将拷贝好的两个病毒程序添加到注册表起动项中。(software\\microsoft\\windows\\currentversion\\run)。每个时钟程序在运行的时
候都要向注册表中添加此信息。
三、 进度计划
四、 设计(实验)成果要求
1.完成规定的实验任务,保质保量;
2.完成综合实验报告,要求格式规范,内容具体而翔实,应体现自身所做的工作,注重对实验思路的归纳和对问题解决过程的总结。
五、 考核方式
平时成绩+验收程序+实验报告
学生姓名:
指导教师:
年 月 日
一、课程设计(综合实验)的目的与要求
1. 目的
1.1 培养学生的动手实践能力
1.2 深入理解计算机网络应用程序工作原理
1.3 更加深入学习网络攻防的基本步骤。
1.4 掌握网络攻击软件的编写能力。
1.5把前期学习阶段的知识和方法系统化,来解决实际问题,为毕业设计做准备。
2. 要求
2.1 运用所学的知识和方法采用最佳的解决问题思路,完成本次实验。
2.2 根据任务书所规定的程序能查找相关资料,学习相关开发技术和理论知识。
2.3对要完成的内容进行详细的分析和设计,画出系统执行的流程图和系统构架图。
2.4 认真书写实验报告,包括实验过程中遇到的问题,解决办法,也包括实验后的新的体会及队本次实验的建议和意见。
二、设计(实验)正文
(一)、设计思想
编写一个针对Windows的木马程序,该木马可以作为各种入侵程序的伪装外壳,保证信息窃探工作的顺利完成
(二)、基本程序功能如下:
1、在主程序中要求将程序拷贝到系统盘\windows\目录下并更名为taskmgr.exe,同时复制第二份到系统盘\windows\system32目录下并更名为explorer.exe。用以混淆用户对木马的第一判断。
2、程序建立两个windows进程,每个进程每一个时钟周期检查另外一个进程是否正在运行。如果存在弹出对话框“I’m still here!”,如果不存在启动另一个进程并弹出对话框“I’m still here!”。
3、将拷贝好的两个病毒程序添加到注册表起动项中。(software\\microsoft\\windows
\\currentversion\\run)。每个时钟程序在运行的时候都要向注册表中添加此信息。
(三)、程序功能实现的界面
1、感染界面
2、回调函数时间设置太短,系统会崩溃界面如下
3、注册表功能界面
我们组组员设计的进程管理器所显示的进程界面:
4、注册表功能实现的主要代码:
void editRegTable()
{
HKEY hKey; //句柄
char Subkey[] = "software\\microsoft\\windows\\currentversion\\run";
char ValueName1[] = "taskmgr", ValueName2[] = "explorer";
BYTE Value[200];
DWORD Size;
if(RegOpenKeyEx(HKEY_CURRENT_USER,Subkey,0,KEY_ALL_ACCESS,&hKey)!=ERROR_SUCCESS) //第一步
{
MessageBox(NULL, "Register open error", "", MB_OK);
return;
}
Size = sizeof(Value);
if(RegQueryValueEx(hKey,ValueName1,0,NULL,Value,&Size)!=ERROR_SUCCESS || Value != sFile1)
{//如果taskmgr还没注册过
//设置键值
RegSetValueEx(hKey, ValueName1, 0L, REG_SZ, (const BYTE *)(const char *)sFile1, strlen(sFile1) + 1);
}
if(RegQueryValueEx(hKey,ValueName2,0,NULL,Value,&Size)!=ERROR_SUCCESS || Value != sFile2)
{//如果explorer还没注册过
//设置值
RegSetValueEx(hKey, ValueName2, 0L, REG_SZ, (const BYTE *)(const char *)sFile2, strlen(sFile2) + 1);
}
RegCloseKey(hKey);
}
三、课程设计(综合实验)总结或结论
此次网络攻防课程设计,我们选择的是木马程序的设计。因为之前从尝试过编写此类程序,所以完成设计之初我们查阅了不少资料。
在实验后期对于病毒的清除时由木马性质可知要同时结束两个进程,才能达到清除此木马的目的,不然删除的那个进程又会自动启动。但windows资源管理器中的进程管理中进程项目过多,若回调函数内时间设置果断根本没办法将病毒删除,所以我们组成员编写了一个简单的进程管理器,在此进程管理器中可以看到两个可疑进程taskmgr.exe和explorer.exe,找到C\windows\taskmgr.exe和C\windows\system32\explorer.exe并将他们删除,同时还要删除注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run里的taskmgr和explorer。
通过此次试验我更加了解了如何编写一个针对Windows的可以作为各种入侵程序的伪装外壳,保证信息窃探工作的顺利完成的木马程序,获益匪浅。在此再次感谢梅华威老师的耐心指导与讲解。
四、参考文献
[1] [美]AI Stevens著 林瑶等译. C++大学自学教程[M]. 北京.电子工业出版社,2004
[2] 宋坤,刘锐宁 .Visual C++ 程序设计自学手册[M]. 北京.北京人民邮电出版,20##-2
[3] 袁津生,吴砚农 .计算机网络安全基础[M]. 北京.人民邮电出版社,20##-1
[4] 张友生,米安然著.计算机病毒与木马程序剖析.北京.科海电子出版社,20##-3
附录(设计流程图、程序、表格、数据等)
见下页