木马与远程控制课件

上传人:博****1 文档编号:589884315 上传时间:2024-09-11 格式:PPT 页数:19 大小:61KB
返回 下载 相关 举报
木马与远程控制课件_第1页
第1页 / 共19页
木马与远程控制课件_第2页
第2页 / 共19页
木马与远程控制课件_第3页
第3页 / 共19页
木马与远程控制课件_第4页
第4页 / 共19页
木马与远程控制课件_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《木马与远程控制课件》由会员分享,可在线阅读,更多相关《木马与远程控制课件(19页珍藏版)》请在金锄头文库上搜索。

1、木马与远程控制木马与远程控制l本章介绍基于远程控制的木马知识:l木马是如何启动的;l木马是如何通信的;l木马是如何控制的;l如何寻找与清除木马; 信息安全原理与应用 赵树升 2012简介简介l木马由两部分组成,一个是服务端程序,运行于一台机器上,另一个是客户端程序,运行于另一台机器上。客户端程序通过网络与另一台机器上的服务程序进行通讯,发送命令和接收返回信息,从而控制对方机器。,服务端程序在A机上的端口上侦听,客户端程序从B机上向A机发出连接请求,并建立连接。客户端程序就可以向服务端程序发送命令,通过服务端程序控制A机。信息安全原理与应用 赵树升 20124.2 远程通信远程通信l远程通信最简

2、单的方法是使用UDP和TCP进行通信。l1、使用、使用UDP发送命令发送命令l比如,控制端向被控制端发送命令,可以使用UDP实现。l在使用VC编程时,记得要选择套接字,否则要手动添加。使用UDP通信是互为客户端互为服务端。发送信息可以在主线程,接收信息应该在子线程中进行。信息安全原理与应用 赵树升 2012 2、使用、使用TCP传递文件传递文件l如果要把一个文件,比如图片从一台计算机传递到另一台计算机,使用TCP很方便。也应该在子线程中完成文件的传送。由于上面的例子已经使用了线程,这里直接使用,读者可以自行将其加入到线程中信息安全原理与应用 赵树升 20123、使用共享文件夹直接读、使用共享文

3、件夹直接读写文件写文件l建立共享文件夹的完整代码见“共享文件夹管理”,调用如下的函数表示将文件夹“D:beijing”建成任何人都可以访问的,密码为“123456”,共享名为“beijing”的共享文件夹。信息安全原理与应用 赵树升 20124.3 远程控制远程控制信息安全原理与应用 赵树升 2012远程操作主要包括文件的操作、屏幕的操作、鼠标操作和键盘操作。文件操作好实现,比如控制端发送“delete c:aaa”,那么受控端解析该字符串,可以理解为删除一个文件。截屏和鼠标键盘控制是本节的主要内容。4.3.1 截屏控制截屏控制l如果是控制端要看受控端的窗口,则用UDP方式向受控端发送取窗口的

4、命令。受控端截取窗口后存成文件(也可以直接是内存数据),还可以进行压缩。然后使用TCP方式,将文件发给控制端。控制端收到文件后,在窗口上显示传过来的图片。主要代码是取窗口,如下函数。信息安全原理与应用 赵树升 20124.3.2 远程鼠标控制远程鼠标控制l我们经常见到有这样的软件,控制端的鼠标的移动和点击,都可以反映在受控端。控制端的鼠标的移动和按键动作,一般通过鼠标钩子获取。两端需要定义一个结构,将鼠标的操作信息保存在结构中,用UDP发送到受控端。受控端解析收到的数据后,用虚拟鼠标来产生虚拟鼠标信息。完整的程序见“鼠标钩子捕获发送和接收模拟”信息安全原理与应用 赵树升 2012l1、受控端的

5、鼠标钩子程序、受控端的鼠标钩子程序l鼠标钩子用于捕获鼠标的按键和位置信息。定义发送到受控端的数据结构如下:lDWORD pos; /鼠标位置,高16位是x,低16位是ylDWORD op; /高16位=1,左键,=2中间键,=3右键,低16位=1,单击,=2双击 =3移动2、控制端的鼠标钩子信息安全原理与应用 赵树升 2012l2、鼠标钩子拦截鼠标信息,发送到控制端、鼠标钩子拦截鼠标信息,发送到控制端lLRESULT CALLBACK MouseProc( int iCode, l WPARAM wParam, LPARAM lParam )ll if(iCode 16;l x=x&0xFFF

6、F;l DWORD op=*(DWORD*)(&RecvBuf4);信息安全原理与应用 赵树升 2012l4、受控端产生虚拟鼠标信息、受控端产生虚拟鼠标信息l虚拟鼠标信息调用函数SendInput。以虚拟鼠标左键单击为例,代码如下。lelse if(op&0xFFFF)=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 / le

7、ft upl :ZeroMemory(&Input,sizeof(INPUT);l Input.type = INPUT_MOUSE;l Input.mi.dwFlags = MOUSEEVENTF_LEFTUP;l :SendInput(1,&Input,sizeof(INPUT);信息安全原理与应用 赵树升 20124.3.3 远程键盘控制远程键盘控制l远程键盘控制和远程鼠标控制类似。控制端通过键盘钩子捕捉键盘按键信息,然后通过UDP发送到受控端。受控端解析接收到的信息,然后产生虚拟键盘信息。详细的程序见“键盘钩子和远程复现”。l1、控制端键盘钩子捕获键盘信息并发送、控制端键盘钩子捕获键盘

8、信息并发送l2、受控端在子线程中接收数据并产生虚拟键盘信息、受控端在子线程中接收数据并产生虚拟键盘信息信息安全原理与应用 赵树升 20124.3.4 文件关联与程序启动文件关联与程序启动所谓“文件关联”就是将某种扩展名的文件和某个可执行文件联系起来,双击该文件后系统就会调用那个可执行文件打开它,例如双击扩展名为.txt文件后,记事本notepad.exe就会启动并打开该文本文件。木马通过修改注册表,例如若让扩展名为.txt的文件和木马程序关联,那么双击*.txt文件后木马程序会启动。信息安全原理与应用 赵树升 20124.4 检测木马的常用方法检测木马的常用方法 检测木马的常用方法包括新建文件

9、的检测、文件校验值的检测、内存进程检测、内存进程中的模块检测和端口检测。信息安全原理与应用 赵树升 20124.4.1 端口检查端口检查l枚举本机的连接情况可以使用如下的函数。lGetTcpTable(); / 取得TCP連接表lGetUdpTable(); / 取得UDP監聽者表lGetIpStatistics(); / 取得IP協定統計情況lGetIcmpStatistics(); / 取得ICMP統計情況lGetTcpStatistics(); / 取得TCP統計情況lGetUdpStatistics(); / 取得UDP統計情況信息安全原理与应用 赵树升 20124.4.2 进程检查进

10、程检查l通常采用枚举进程的方式。函数EnumProcesses可以枚举进程。下面的代码可以枚举所有进程,并获取所对应的文件名。完整代码见“扫描内存与内存数据读写”。信息安全原理与应用 赵树升 20124.4.3 进程调用模块检查进程调用模块检查l一个程序运行,总是需要调用其它动态链接库。木马经常把动态链接库文件加载到其它进程。如果发现了陌生的模块,说明可能是被怀疑对象。对于难以删除的模块,可以用U盘启动系统,到另一个系统下去删除。函数OpenProcess、VirtualQueryEx、GetModuleFileName可以获取一个进程调用的所有模块。信息安全原理与应用 赵树升 20124.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 )信息安全原理与应用 赵树升 2012

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号