木马攻击与防御原理
(5)远程文件操作
删除文件:File delete 拷贝文件:File copy 共享文件:Export list(列出当前共 享的驱动器、目录、权限及共享密码)
6)注册表操作 VB中只要Set RegEdit=CreateObject( “WScript.Shell”)就可以使用以下的注册表功ey
主要内容
充分必要条件
木马攻击与防御原理
计算机病毒(Virus)
主要内容
传说中的木马(Trojan horse)
传说:木马(Trojan)这个名字来 源于古希腊传说(荷马史诗中木马 计的故事,Trojan一词的本意是特 洛伊的,即代指特洛伊木马,也就是 木马计的故事)
总结:里应外合
特洛伊木马的由来
木马防御软件(杀毒软件)
1:金山毒霸 2:瑞星 3:卡巴斯基 4: 360
结束语
只要你有一点点的疏忽,就有可能被人安装了 木马。所以平时不要随便从网站上下载软件, 不要随便运行别人给的软件,经常检查自己的 系统文件、注册表、端口,经常去安全站点查 看最新的木马公告等等,提高自己的网络安全 意识,了解木马的常见伎俩,这样对于保证自 己电脑的安全不无裨益。
主要内容
遇到了木马,你会怎么做?
木马防御原理
知道了木马的攻击原理和隐身方法,我们就可以采取措施进 行防御了。 1.端口扫描 端口扫描是检查远程机器有无木马的最好办法, 端口扫描 的原理非常简单, 扫描程序尝试连接某个端口, 如果成功, 则说明端口开放,如果失败或超过某个特定的时间(超时), 则说明端口关闭。但对于驱动程序/动态链接木马, 扫描端 口是不起作用的。 2.查看连接 查看连接和端口扫描的原理基本相同,不过是在本地机上 通过netstat -a(或某个第三方程序)查看所有的 TCP/UDP连接,查看连接要比端口扫描快,但同样是无 法查出驱动程序/动态链接木马,而且仅仅能在本地使用。
特洛伊木马是 Trojan Horse 的中译,是借自 “木马屠城记”中那只木马的名字。古希腊有大军 围攻特洛伊城,逾年无法攻下。有人献计制造一只 高二丈的大木马假装作战马神,攻击数天后仍然无 功,遂留下木马拔营而去。城中得到解围的消息, 及得到“木马”这个奇异的战利品,全城饮酒狂欢。 到午夜时份,全城军民尽入梦乡,匿于木马中的将 士开秘门游绳而下,开启城门及四处纵火,城外伏 兵涌入,焚屠特洛伊城。 后世称这只木马为"特洛伊木马",现今计算机术语 借用其名,意思是"一经进入,后患无穷"。
b.锁定鼠标,ClipCursor(lpRect As RECT)可以将 指针限制到指定区域,或者用 ShowCursor(FALSE)把鼠标隐藏起来也可以, RECT是定义的一个矩形。 c.让对方掉线 RasHangUp d.终止进程 ExitProcess
e.关闭窗口 利用FindWindow函数找到窗 口并利用SendMessage函数关闭窗口
如果客户断开连接,则关闭连接并重新监听 端口 Private Sub G_Server_Close() G_Server.Close (关闭连接) G_Server.Listen(再次监听) End Sub
客户端上传一个命令,服务端解释并执 行命令。
实现木马的控制功能
以用户权限运行的木马程序几乎可以控制一切,下面仅 对木马的主要功能进行简单的概述, 主要是使用 Windows API函数。 (1)远程监控(控制对方鼠标、键盘,并监视对方屏 幕) keybd_event模拟一个键盘动作。 mouse_event模拟一次鼠标事件 mouse_event(dwFlags,dx,dy,cButtons,dwExtraInfo) dwFlags: MOUSEEVENTF_ABSOLUTE 指定鼠标坐标系统中的 一个绝对位置 MOUSEEVENTF_MOVE 移动鼠标 MOUSEEVENTF_LEFTDOWN 模拟鼠标左键按下
(2)记录各种口令信息
keylog begin:将击键记录在一个文 本文件里,同时还记录执行输入的窗口 名
(3)获取系统信息 a.取得计算机名 GetComputerName b.更改计算机名 SetComputerName c.当前用户 GetUserName d.系统路径 Set FileSystem0bject = CreateObject("Scripting.FileSystemObject")(建立文 件系统对象) Set SystemDir = FileSystem0bject.getspecialfolder(1)(取系统目录) Set SystemDir = FileSystem0bject.getspecialfolder(0)(取Windows安 装目录) e.取得系统版本 GetVersionEx
木马攻击原理
可以使用VB或VC的Winsock控件来编写网络客户/服务程 序, 实现方法如下: 服务器端: G_Server.LocalPort=7626(冰河的默认端口,可以改为别 的值) G_Server.Listen(等待连接) 客户端: G_Client.RemoteHost=ServerIP(设远端地址为服务器地 址) G_Client.RemotePort=7626(设远程端口为冰河的默认 端口)
G_Client.Connect(调用Winsock控件的连接方法) 一旦服务端接到客户端的连接请求 ConnectionRequest,就接受连接 Private Sub G_Server_ConnectionRequest(ByVal requestID As Long) G_Server.Accept requestID End Sub 客户端用G_Client.SendData发送命令,而服务 器在G_Server_DateArrive事件中接受并执行命 令(几乎所有的木马功能都在这个事件处理程
特洛伊木马原则上只是一种远程管理工 具。而且本身不带伤害性,也没有感染 力,所以不能称之为病毒 (也有人称之为 第二代病毒);但却常常被视之为病毒。 原因是如果有人不当的使用,破坏力可 以比病毒更强。
特洛伊木马是一个程序,它驻留在目标计算机里,可以随计 算机自动启动并在某一端口进行侦听木马.其实质只是一个通 过端口进行通信的网络客户/服务程序。 网络客户/服务模式的原理是一台主机提供服务(服务器),另 一台主机接受服务(客户机)。作为服务器的主机一般会打开 一个默认的端口并进行监听(Listen), 如果有客户机向服务器 的这一端口提出连接请求(Connect Request), 服务器上的相 应程序就会自动运行,来应答客户机的请求,这个程序称为 守护进程(UNIX的术语,不过已经被移植到了MS系统上)。对 于特洛伊木马,被控制端就成为一台服务器,控制端则是一 台客户机
增加键值:RegEdit.Write RegKey,RegValue 获取键值:RegEdit.RegRead (Value)
特洛伊木马隐身方法
木马未运行时的隐藏与伪装
文件的位置 文件的名字 文件的属性 文件的扩展名 捆绑到其他文件上 文件的图标
木马运行时的隐藏与伪装 主要途径有:在任务栏中隐藏 在任务管理器中隐形:将程序设为“系统服务”可以伪装 自己。当然它也会悄无声息地启动,木马会在每次用户启动时自动 装载服务端,Windows系统启动时自动加载应用程序的方法,“木 马”都会用上,如:启动组、win.ini、system.ini、注册表等等都是 “木马”藏身的好地方。 隐藏端口
主要内容
流行木马简介
冰 河 back orifice Subseven 网络公牛(Net bull) 网络神偷(Net thief) 广外男生(是广外女生的一个变种) Netspy(网络精灵)
主要内容
充分必要条件 木马的检测
讨论一:什么情况下你会考虑中了木 马 系统的异常情况 打开文件,没有任何反应 查看打开的端口 检查注册表 查看进程
(4)限制系统功能 a.远程关机或重启计算机,使用WinAPI中的如下 函数可以实现: ExitWindowsEx(UINT uFlags,DWORD dwReserved) 当uFlags=EWX_LOGOFF 中止进程,然后注销 =EWX_SHUTDOWN 关掉系统但不关电源 =EWX_REBOOT 重新引导系统 =EWX_FORCE强迫中止没有响应的进程 =EWX_POWERDOWN 关掉系统及关闭电源
3.检查注册表 面在讨论木马的启动方式时已经提到,木马可以通过注 册表启动(好像现在大部分的木马都是通过注册表启动 的,至少也把注册表作为一个自我保护的方式),那么, 我们同样可以通过检查注册表来发现冰河在注册表里留 下的痕迹。 4.查找文件 查找木马特定的文件也是一个常用的方法,木马的一个 特征文件是kernl32.exe,另一个是sysexlpr.exe,只 要删除了这两个文件,木马就已经不起作用了。如果你 只是删除了sysexlpr.exe而没有做扫尾工作的话,可能 会遇到一些麻烦-就是你的文本文件打不开了, sysexplr.exe是和文本文件关联的,你还必须把文本文 件跟notepad关联上。