收藏 分销(赏)

木马与远程控制.ppt

上传人:精*** 文档编号:2403792 上传时间:2024-05-29 格式:PPT 页数:19 大小:199.50KB 下载积分:8 金币
下载 相关 举报
木马与远程控制.ppt_第1页
第1页 / 共19页
木马与远程控制.ppt_第2页
第2页 / 共19页


点击查看更多>>
资源描述
木马与远程控制l本章介绍基于远程控制的木马知识:l木马是如何启动的;l木马是如何通信的;l木马是如何控制的;l如何寻找与清除木马;可编辑1简介l木马由两部分组成,一个是服务端程序,运行于一台机器上,另一个是客户端程序,运行于另一台机器上。客户端程序通过网络与另一台机器上的服务程序进行通讯,发送命令和接收返回信息,从而控制对方机器。,服务端程序在A机上的端口上侦听,客户端程序从B机上向A机发出连接请求,并建立连接。客户端程序就可以向服务端程序发送命令,通过服务端程序控制A机。可编辑24.2 远程通信l远程通信最简单的方法是使用UDP和TCP进行通信。l1、使用UDP发送命令l比如,控制端向被控制端发送命令,可以使用UDP实现。l在使用VC编程时,记得要选择套接字,否则要手动添加。使用UDP通信是互为客户端互为服务端。发送信息可以在主线程,接收信息应该在子线程中进行。可编辑3 2、使用TCP传递文件l如果要把一个文件,比如图片从一台计算机传递到另一台计算机,使用TCP很方便。也应该在子线程中完成文件的传送。由于上面的例子已经使用了线程,这里直接使用,读者可以自行将其加入到线程中可编辑43、使用共享文件夹直接读写文件l建立共享文件夹的完整代码见“共享文件夹管理”,调用如下的函数表示将文件夹“D:beijing”建成任何人都可以访问的,密码为“123456”,共享名为“beijing”的共享文件夹。可编辑54.3 远程控制可编辑远程操作主要包括文件的操作、屏幕的操作、鼠标操作和键盘操作。文件操作好实现,比如控制端发送“delete c:aaa”,那么受控端解析该字符串,可以理解为删除一个文件。截屏和鼠标键盘控制是本节的主要内容。64.3.1 截屏控制l如果是控制端要看受控端的窗口,则用UDP方式向受控端发送取窗口的命令。受控端截取窗口后存成文件(也可以直接是内存数据),还可以进行压缩。然后使用TCP方式,将文件发给控制端。控制端收到文件后,在窗口上显示传过来的图片。主要代码是取窗口,如下函数。可编辑74.3.2 远程鼠标控制l我们经常见到有这样的软件,控制端的鼠标的移动和点击,都可以反映在受控端。控制端的鼠标的移动和按键动作,一般通过鼠标钩子获取。两端需要定义一个结构,将鼠标的操作信息保存在结构中,用UDP发送到受控端。受控端解析收到的数据后,用虚拟鼠标来产生虚拟鼠标信息。完整的程序见“鼠标钩子捕获发送和接收模拟”可编辑8l1、受控端的鼠标钩子程序l鼠标钩子用于捕获鼠标的按键和位置信息。定义发送到受控端的数据结构如下:lDWORD pos;/鼠标位置,高16位是x,低16位是ylDWORD op;/高16位=1,左键,=2中间键,=3右键,低16位=1,单击,=2双击 =3移动2、控制端的鼠标钩子可编辑9l2、鼠标钩子拦截鼠标信息,发送到控制端lLRESULT CALLBACK MouseProc(int iCode,l WPARAM wParam,LPARAM lParam)ll if(iCode 16;l x=x&0 xFFFF;l DWORD op=*(DWORD*)(&RecvBuf4);可编辑11l4、受控端产生虚拟鼠标信息l虚拟鼠标信息调用函数SendInput。以虚拟鼠标左键单击为例,代码如下。lelse if(op&0 xFFFF)=1)/单击l if(op16)=1)/左键l INPUT Input=0;l /left down l Input.type =INPUT_MOUSE;l Input.mi.dwFlags =MOUSEEVENTF_LEFTDOWN;l :SendInput(1,&Input,sizeof(INPUT);l /left upl :ZeroMemory(&Input,sizeof(INPUT);l Input.type =INPUT_MOUSE;l Input.mi.dwFlags =MOUSEEVENTF_LEFTUP;l :SendInput(1,&Input,sizeof(INPUT);可编辑124.3.3 远程键盘控制l远程键盘控制和远程鼠标控制类似。控制端通过键盘钩子捕捉键盘按键信息,然后通过UDP发送到受控端。受控端解析接收到的信息,然后产生虚拟键盘信息。详细的程序见“键盘钩子和远程复现”。l1、控制端键盘钩子捕获键盘信息并发送l2、受控端在子线程中接收数据并产生虚拟键盘信息可编辑134.3.4 文件关联与程序启动所谓“文件关联”就是将某种扩展名的文件和某个可执行文件联系起来,双击该文件后系统就会调用那个可执行文件打开它,例如双击扩展名为.txt文件后,记事本notepad.exe就会启动并打开该文本文件。木马通过修改注册表,例如若让扩展名为.txt的文件和木马程序关联,那么双击*.txt文件后木马程序会启动。可编辑144.4 检测木马的常用方法 检测木马的常用方法包括新建文件的检测、文件校验值的检测、内存进程检测、内存进程中的模块检测和端口检测。可编辑154.4.1 端口检查l枚举本机的连接情况可以使用如下的函数。lGetTcpTable();/取得TCP連接表lGetUdpTable();/取得UDP監聽者表lGetIpStatistics();/取得IP協定統計情況lGetIcmpStatistics();/取得ICMP統計情況lGetTcpStatistics();/取得TCP統計情況lGetUdpStatistics();/取得UDP統計情況可编辑164.4.2 进程检查l通常采用枚举进程的方式。函数EnumProcesses可以枚举进程。下面的代码可以枚举所有进程,并获取所对应的文件名。完整代码见“扫描内存与内存数据读写”。可编辑174.4.3 进程调用模块检查l一个程序运行,总是需要调用其它动态链接库。木马经常把动态链接库文件加载到其它进程。如果发现了陌生的模块,说明可能是被怀疑对象。对于难以删除的模块,可以用U盘启动系统,到另一个系统下去删除。函数OpenProcess、VirtualQueryEx、GetModuleFileName可以获取一个进程调用的所有模块。可编辑184.4.4 新建文件检查l新建文件可以HOOK函数CreateFile或ZwCreateFile函数进行监视甚至也可以禁止新建。当然,还可以在文件过滤驱动中捕捉新建文件信息。在微过滤的例程l FLT_PREOP_CALLBACK_STATUS NPPreCreate(l _inout PFLT_CALLBACK_DATA Data,l _in PCFLT_RELATED_OBJECTS FltObjects,l _deref_out_opt PVOID*CompletionContextl )可编辑19
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服