500 likes | 716 Views
木马. 介绍木马的知识。. 一、 木马的 概念. 1 、木马的定义 是一种与远程计算机之间建立起连接,使远程计算机能够通过网络控制本地计算机的程序。由服务 (server) 端和客户端 (client) 程序组成。. 一、 木马的 概念. 2 、木马的工作方式 Server 端程序感染被攻击者计算机, Client 端程序由攻击者控制向服务器端发送操作要求,由服务器端程序完成请求(并不是绝对的)。. 3 、木马的特征 ( 1 )隐蔽性:木马 Server 端程序会使用各种手段隐藏自己。
E N D
木马 介绍木马的知识。
一、木马的概念 1、木马的定义 是一种与远程计算机之间建立起连接,使远程计算机能够通过网络控制本地计算机的程序。由服务(server)端和客户端(client)程序组成。
一、木马的概念 2、木马的工作方式 Server端程序感染被攻击者计算机,Client端程序由攻击者控制向服务器端发送操作要求,由服务器端程序完成请求(并不是绝对的)。
3、木马的特征 (1)隐蔽性:木马Server端程序会使用各种手段隐藏自己。 通过修改注册表和ini文件每次启动,通常Ctrl+Alt+Del无法查看进程。修改程序图标,自定义通信端口。 (2)功能特殊性:搜索机器口令、记录用户操作、远程操作、屏幕控制、远程控制等。
(3)自动运行性:自动启动运行。 (4)欺骗性:文件名或扩展名欺骗,图标欺骗等。 (5)自动恢复性:多重备份相互恢复。
4、木马的功能 (1)自动搜索Server机 (2)资源控制(文件操作) (3)屏幕监视
(4)屏幕、鼠标、键盘控制 (5)任务控制 (6)远程开关机器 (7)记录按键及系统信息
5、木马的分类 (1)远程访问型木马:远程控制,如BO和冰河 (2)密码发送型木马:获取密码入邮箱,多数用25号端口发邮件。
5、木马的分类 (3)键盘记录型木马:记录键盘敲击顺序 (4)毁坏型木马:删除文件或格式化盘 (5)FTP型木马:打开21号FTP端口,窃取机密。
6、病毒、远程控制软件与木马 (1)病毒,具有强传染性,木马不传染 (2)远程控制软件:不具有隐蔽性,木马具有。如LANSTAR有明显标志。
7、例:NetSpy的功能 (1)在服务器端执行指定的程序 (2)发送消息 (3)显示屏幕 (4)进程管理 (5)远程直接操作 (6)关机 (7)文件夹共享管理 (8)文件操作 (9)系统消息
8、木马的传播方式 (1)以邮件附件的形式传播; (2)通过OICQ文件发送; (3)通过提供软件下载的网站传播; (4)通过病毒和蠕虫传播; (5)通过带木马的磁盘和光盘。
9、木马握手方式 (1)端口扫描(广外女生); (2)邮件通知(网络公牛、广外女生); (3)UDP通知(网络神偷)。
当服务器与控制(客户)端实现第一次握手后,控制段发送配置参数(协议、端口、密钥、格式、时间)。当服务器与控制(客户)端实现第一次握手后,控制段发送配置参数(协议、端口、密钥、格式、时间)。
二、木马常用的攻击技术 • 1、修改批处理 • Autoexec.bat(自动批处理,在引导系统时执行) • Winstart.bat(在启动GUI图形界面环境时执行) • Dosstart.bat(在进入MS-DOS方式时执行)
2、修改系统配置 通过修改系统配置文件System.ini、Win.ini来达到自动运行的目的,涉及范围有: • 在Win.ini文件中: [windows] load=程序名 run=程序名 • 在System.ini文件中: [boot] shell=Explorer.exe
2、修改系统配置 • 其中修改System.ini中Shell值的情况要多一些,病毒木马通过修改这里使自己成为Shell,然后加载Explorer.exe,从而达到控制用户电脑的目的。
3、借助自动运行功能 硬盘和光盘一样支持自动运行。在根下建Autorun.inf,用记事本输入: [autorun] open=Notepad.exe 木马把程序改名为“ .exe”(中文的全角空格,这样在Autorun.inf中只会看到“open= ”。 在修改系统配置时也常使用,如“run= ”
4、修改注册表:80%的黑客在使用在Run、RunOnce、RunOnceEx、RunServices、RunServicesOnce中添加键值,可以比较容易地实现程序的加载。4、修改注册表:80%的黑客在使用在Run、RunOnce、RunOnceEx、RunServices、RunServicesOnce中添加键值,可以比较容易地实现程序的加载。
注:(1)带“Once”的主键在程序运行后将被删除。注:(1)带“Once”的主键在程序运行后将被删除。 (2)在启动时删除Run中的键值,而在退出时(或关闭系统时)又添加键值,达到隐蔽自己的目的。
写入注册表和系统INI文件 HKCU\Software\Microsoft\Windows\CurrentVersion\Run\ HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices\ HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\ HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Load
5、通过文件关联启动 通过EXE文件的关联(主键为:exefile),让系统在执行任何程序EXE之前都运行木马。通常修改的还有txtfile、regfile(注册表文件关联,用户双击.reg文件就关闭计算机)、unkown(未知文件关联)。
为了防止用户恢复注册表,木马通常还删除scanreg.exe、sfc.exe、Extrac32.exe、regedit.exe等程序,阻碍用户修复。
6、通过API Hook启动 通过替换系统的DLL文件,让系统启动指定的程序。 例如:拨号上网的用户必须使用Rasapi32.dll中的API函数来进行连接,那么木马就替换这个DLL,当用户的应用程序调用这个API函数,木马程序就会先启动,然后调用真正的函数完成这个功能(木马可是EXE,还可是DLL、VXD)。
7、通过VxD启动 通过把木马写成VXD形式加载,直接控制系统底层。它们一般在注册表[HKEY_ LOCAL_MACHINE\System\CurrentControlSet\Services\VxD]主键中启动。
通过VxD启动 • 此法也是高手专用版,通过把木马写成VXD形式加载,直接控制系统底层,极为罕见。它们一般在注册表HKLM\System\CurrentControlSet\Services\VxD主键中启动。
8、通过浏览网页 利用MIME漏洞: MIME被称为多用途Internet邮件扩展,它提供了在邮件中附加多种不同编码文件的方法。
9、利用Java Applet Java更高效、更方便。但也给木马带来方便。快速修改注册表,木马下载。 木马先利用HTML把木马下载到你的缓存中,然后修改注册表,指向其程序。
10、利用自动运行的程序 (1)在系统运行过程中,有许多程序是自动运行的,比如:磁盘空间满时,系统自动运行“磁盘清理”程序(cleanmgr.exe);启动资源管理器失败时,双击桌面将自动运行“任务管理器”程序(Taskman.exe);格式化磁盘完成后,系统将提示使用“磁盘扫描”程序(scandskw.exe);
10、利用自动运行的程序 (点击帮助或按F1时,系统将运行Winhelp.exe或Hh.exe打开帮助文件;启动时,系统将自动启动“系统栏”程序(SysTray.exe)、“输入法”程序(internat.exe)、“注册表检查” 程序(scanregw.exe)、“计划任务”程序(Mstask.exe)、“电源管理”程序等。 木马通过覆盖这些文件,不必修改任何设置系统就会自动执行。
木马还可以不覆盖程序达到以上目的。 方法是:利用System目录比System32目录优先的特点,以相同的文件名,将程序放到System目录中。 例:将Notepad.exe(记事本)复制到System目录中,并改名为Regedit.exe(注册表编辑器),然后从“开始”→“运行”中,输入“Regedit”回车, Notepad.exe运行。
11、其它:木马常用名字欺骗技术和运行假象与之配合。11、其它:木马常用名字欺骗技术和运行假象与之配合。 (1)名字欺骗技术,如全角空格、“ ”(ASCII值255,输入时先按下Alt键,然后在小键盘上输入255)作为文件名ÿ (2)字符相似性,如:“Systray.exe”和“5ystray”;0与o;i1l
修改图标 • 木马服务器端所使用的图标是很有讲究的,木马经常故意伪装成为txt,html等。这样,你认为可能对系统没有多少危害的文件图标,把它打开后你的机器也就被种上了木马。
(3)长度相似性,如:“Explorer.exe”和“Explore.exe“(人的第一感觉只识别前四个字母,并对长度不敏感)(3)长度相似性,如:“Explorer.exe”和“Explore.exe“(人的第一感觉只识别前四个字母,并对长度不敏感) (4)运行提示假象(运行木马程序给出虚假提示欺骗用户如”内存不足”,用户会埋怨自己的内存太少,但一个运行后什么都没有的程序,容易被怀疑。
出错显示 • 稍有网络知识的人都会知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序。木马的设计者也意识到了这个缺陷,所以已经有了木马提供了一个叫做出错显示的功能。
我是肉弹,我怕谁! 自我销毁 • 这项功能是为了弥补木马的一个缺陷。木马的自我销毁功能是指:安装完木马后,源木马文件自动销毁。这样服务器端用户就很难找到木马的来源,在没有查杀木马的帮助下,就很难删除木马了。
防范木马攻击 (1)运行实时监控程序(端口扫描netstat、查看连接fport); (2)不执行来历不明的软件; (3)不轻易打开不熟悉的软件; (4)配置成始终显示扩展名; (5)查看进程/内存模块; (6)检查注册表。
此时可以使用“netstat -a”,“-a”选项用以显示计算机中目前所有处于监听状态的端口。如果出现不明端口处于监听状态,而目前又没有进行任何网络服务的操作,那么在监听该端口的很可能是木马。 此时可以使用“netstat -a”,“-a”选项用以显示计算机中目前所有处于监听状态的端口。如果出现不明端口处于监听状态,而目前又没有进行任何网络服务的操作,那么在监听该端口的很可能是木马。
木马技术的新发展 (1)关端口 寄生就是找一个已经打开的端口,寄生其上,平时只是监听,遇到特殊指令就进行解释执行; 潜伏指用非TCP/UDP协议进行通信,从而瞒过端口扫描工具。
木马技术的新发展 (2)隐藏进程 用DLL木马替换相关DLL。也可使用动态嵌入技术将自己的代码嵌入正在运行的进程空间。
最新隐藏方式 • 木马会将修改后的.DLL替换系统已知的.DLL,并对所有的函数调用进行过滤。对于常用的调用,使用函数转发器直接转发给被替换的系统.dll,对于一些相应的操作,实际上,这样事先约定好的特殊情况,.dll会执行一般只是使用.dll进行监听,一旦发现控制端的请求就激活自身,绑定另一进程进行正常的木马操作。
最新隐藏方式 • 这样做的好处是没有增加新的文件,不需要打开新的端口,没有新的进程,使用常规的方法监测不到它。
在任务栏里隐藏 • 这是最基本的隐藏方式。 • 我们以VB为例。在VB中,只要把FORM的Visible属性设为False, showInTaskBar设为False,程序就不会出现在任务栏里。
木马技术的新发展 (3)争夺系统控制权 通过注册表漏洞、系统权限漏洞、本地溢出漏洞取得管理员权限。
木马技术的新发展 (4)穿透防火墙 防火墙对于连入的连接过滤非常严格,对于连出的连接却疏于防范。反弹端口型木马被控制端首先发起连接请求,然后控制端响应,并建立半连接,等木马响应后,控制端最终建立一个与木马的通信连接。
冰河代码 服务端 G_Server.LocalPort=7626(默认端口) G_Server.Listen(等待连接)
冰河代码实例 客户端 G_Client.RemoteHost=ServerIP G_Client. RemotePort=7626 G_Client.Connect