木马程序分析_09283028_迟闯
对一款盗号木马的详细分析

对一款盗号木马的详细分析一、主程序流程分析:主程序名:ctfmon.exe(仿冒微软输入法配置程序)壳:无壳编写语言:汇编(估计) 1. 用GetLogicalDriveStringsA API获得所有系统盘符存放到一个字符串; 2. 读取自身文件尾部的0x1C4字节数据,并根据最后4字节的DWORD值,调用NEW函一、主程序流程分析:主程序名:ctfmon.exe(仿冒微软输入法配置程序)壳:无壳编写语言:汇编(估计)1. 用GetLogicalDriveStringsA API获得所有系统盘符存放到一个字符串;2. 读取自身文件尾部的0x1C4字节数据,并根据最后4字节的DWORD值,调用NEW函数申请内存(为0x2A00大小);3. 从自身文件距离尾部(0x1C4+0x2A00)字节处,读取0x2A00字节数据,存储到上面NEW出来的内存中;4. 关闭游戏主程序******nest.exe;5. 根据注册表项:SOFTWARE\\snda\\dn和Software\Microsoft\Windows\ShellNoRoam\MUICache找到游戏所在目录生成gamewidget.dll和midimap.dll,dll,内容为第3步中的数据写2001次,再加上文件尾部的0x1C4字节数据,共20.5 MB (21,515,204 字节)(太大了-.-)。
(因为我没有安装这个游戏,所以也没有这些注册表项目,实际当中我自己建了一个SOFTWARE\\snda\\dn注册表项,随便给了一个路径)6. 根据第1点里面得到的所有系统盘符字符串,用SearchTreeForFile API(盘符多,硬盘大的时候好慢啊),查找Dnlauncher.exe程序,找到了之后在该目录下创建gamewidget.dll和midimap.dll,因为没装游戏,我又伪造了一个Dnlauncher.exe(-.-)7. 本程序实现的自删除,会因机器是否安装有瑞星而有所不同。
黑客木马程序的技术内秘分析

第18卷第4期上海电力学院学报Vol.18,No.42002年12月Journal of Shanghai Universi ty of Electric PowerDec. 2002文章编号:1006-4729(2002)04-0029-04黑客木马程序的技术内秘分析收稿日期:2002-04-02基金项目:上海电力学院青年基金资助课题王 勇,李志斌,段存升(上海电力学院信息控制系,上海 200090)摘 要:从木马程序的隐藏技术、自动加载技术和通讯技术3个方面进行了详细的技术分析,总结出木马程序的一般设计原理.在隐藏技术中着重阐述了任务栏隐藏、任务管理器隐藏、进程隐藏和端口隐藏等技术.在自动加载技术中分析了如何通过修改注册表来实现木马程序的自动运行,并分析了木马的客户服务器模式通讯技术.最后给出了防范木马入侵的一般方法.关键词:木马程序;自动加载技术;隐藏技术;通讯技术中图分类号:TP393.08文献标识码:A近年来,随着计算机网络发展,网络安全问题日益显得尤其重要.黑客的入侵对网络安全造成了极大威胁.入侵的主要手段之一,就是使用木马技术,其破坏力之大,是绝不容忽视的.黑客是如何制造这种具有破坏力的木马程序,以及如何防范木马程序的入侵?这是本文着重要讨论的问题.本文首先从木马程序的隐藏技术、自动加载技术和通讯技术3个方面进行详细的技术分析研究,总结出木马程序的一般设计原理;其次,给出了防范木马程序入侵的一般方法.1 木马程序的隐藏技术为了避免被发现,木马程序的服务器端,多数都要进行隐藏处理.早期的木马程序所采用的隐藏技术是比较简单的,早期最简单的隐藏方法是在任务栏目里隐藏程序.到后来发展到当按下Ctrl+Alt+Delete 的时候,也就看不到这个程序.现在的木马在进程隐藏方面,已做了大的改动,采用了内核插入式的嵌入方式,利用远程插入线程技术,嵌入DL L 线程,或者挂接PS API,实现木马程序的隐藏,甚至在Window s N T/2000下,都能达到良好的隐藏效果.1.1 在任务栏中隐形这是最基本的隐藏要求,其实现技术同样也是非常的简单.在VB 中,只要把f orm 的Visible 属性设为False,将ShowInTaskBar 设为False,程序就不会出现在任务栏中了.1.2 在win 9x 的任务管理器中隐形这只要把木马服务器端的程序注册为一个服务就可以了,这样,程序就会从任务列表中消失,因为系统不认为该程序是一个进程,当按下C trl +Alt+Delete 的时候,也就看不到这个程序.但是,这种方法只适用于Window s9x 的系统,对于Window s NT,Windo ws 2000等,通过服务管理器,还是可以发现在系统中注册过的服务.将程序设为/系统服务0就可以隐藏.在VB 中如下的代码可以实现这一功能:1 声明部分 Public Declare Function Register 2ServiceProcess Lib /kernel320(ByVal ProcessID As Long,ByVal ServiceFlags As Long)A s L ong Public Declare Function GetCurrentProcessId Lib /kernel320Alias /GetCurrentProcessId 0()As Long2函数部分Private Sub Form L oad()RegisterServiceProcess GetCurrentProcessId,1 (注册系统服务)End SubPrivate Sub Form Unload()RegisterServiceProcess GetCurrentProcessId,0 (取消系统服务)End Sub1.3在winNT/win2000中的任务管理器中隐形在winNT/win2000中实现进程隐藏的方法有两种:一是采用API的拦截技术;二是采用D L L技术.1API的拦截技术在WI ND OWS系统下,可执行文件主要是Exe和Com文件,这两种文件在运行时都有一个共同点,即均会生成一个独立的进程.在Window s中有多种方法能够看到进程的存在:PS API(Process Status API),PD H (Performance Data Helper)和Tool H elp API.如果能够采用A PI的拦截技术,通过建立一个后台的系统钩子,拦截PS API的EnumProcessM odules等相关的函数来实现对进程和服务的遍历调用的控制,当检测到进程ID(PID)为木马程序的服务器端进程的时候直接跳过,那样就实现了进程的隐藏.如果这个进程是一个木马的服务器部分程序,则显然就是现在win9x/win2000的任务管理器中隐藏的程序.2采用D LL技术D L L文件是Windo ws的基础,因为所有的A PI函数都是在D LL中实现的. DL L文件没有程序逻辑,是由多个功能函数构成的,它并不能独立运行,一般都是由进程加载并调用的.因为D L L文件不能独立运行,所以,在进程列表中并不会出现.如果是一个木马D L L,并且通过别的进程来运行它,那么无论是在入侵检测软件还是进程列表中,都只会出现那个进程而并不会出现木马D L L.运行DL L文件最简单的方法是利用Rundll32.exe进行,但是很容易被识破.比较高级的方法是使用木马D L L替换常用的D LL文件,通过函数转发器将正常的调用转发给原D L L,截获并处理特定的消息.D L L木马的最佳隐藏方法是动态嵌入技术,动态嵌入技术是指将自己的代码嵌入正在运行的进程中的技术.与一般的木马不同,该技术基本上摆脱了原有的木马模式监听端口,而是采用替代系统功能的方法,即改写驱动程序或动态链接库.这样做的结果是:由于没有增加新的文件,因此不能用扫描的方法查杀;不需要打开新的端口,所以不能用端口监视的方法查杀;没有新的进程,所以使用进程查看的方法发现不了它,也就不能用kill进程的方法终止其运行.在正常运行时木马几乎没有任何的症状,而一旦木马的控制端向被控端发出特定的信息后,隐藏的程序就立即开始运作.1.4利用端口实现隐形一般来说,一个端口都应对着一种特定的服务.如果某一主机的某一端口处于开放状态,那就意味着这一主机将对互联网上的用户提供该服务,并且该服务程序已在这台主机上运行.反过来,如果某一主机上并未启动某端口服务,而该端口却莫明其妙处于开放状态,那么这一计算机就很可能已被入侵者投放了/木马0.一台机器由65536个端口,通常情况下木马端口一般都在1000个以上,而且呈越来越大的趋势.这是因为,1000以下的端口是常用端口,占用这些端口可能会造成系统不正常,这样,木马就会很容易暴露;而由于端口扫描是需要时间的,即使是一个速度较快的端口扫描器,在远程也需要大约20min才能扫完所有的端口,因此,使用诸如54321的端口很难发现它.冰河及很多比较新的木马都具有端口修改功能,因而木马大多都能在任何端口出现.现在有很多流行的端口扫描程序,比如portscan程序就很不错,在网上可免费下载. 2程序的自加载运行技术让程序自运行的方法比较多,使用者当然不会指望在每次启动后点击木马图标来运行服务端,其实这是启动木马程序的最原始的方法.木马要做的第二件重要的事情就是如何在每次用户启动时自动装载服务端.目前木马程序最常见的启动方法为:加载程序到启动组,写程序启动路径到注册表的HKEY L O C A L M A C HI N E\S O FT W A RE\M icro sof t\Windo w s\ Curre ntV e rsions\Run.当然还有很多其他的方法,比如可以修改B oot.ini,或者通过注册表里的输入法键值直接挂接启动,以及通过修改E xplorer.exe启动参数等,真可谓防不胜防.30上海电力学院学报2002年2.1冰河程序的自动加载方法冰河程序也会在注册表的HK EY L OC ALM AC HI NE\Softw are\M ic rosof t\Windo ws\Current2 Version\Run和RUNS ERVICE键值中加上了C:\ WIN DO WS\SY STE M\Kernl32.exe,如果删除了这个键值,冰河还会出现,这是因为冰河服务端的C:\WI ND OWS\SYS TE M\Sysexplr.exe文件与文本文件相关联,只要打开文本,sysexplr.exe文件就会重新生成krnel32.exe,仍被冰河所控制.C:\WI ND OW S\SY STE M\Sysexplr.exe也在注册表中,它修改了文本文件的关联,在点击文本文件时它就启动了.它会检查Kerne132.exe是否存在,如果存在的话,则不做任何事情.当表面上的木马Kerne132.exe被发现并删除后,目标电脑的主人可能会觉得自己已经删除了木马,应该安全了.但如果目标电脑的主人在以后的日子中点击了文本文件,那么这个文本文件照样运行,而Sysexplr.exe就被启动.2.2/中国一号0(尼姆达)病毒的自动加载技术病毒对系统文件S YS TE M.INI进行了修改,其形式为[boot]shell=explorer.e xe load.e xe-dontrunold.这样,在系统每次启动时该病毒就会传染,驻留内存.2.3Back Or ifice的自动加载技术在注册表的HK E Y L O C A L M A C H I N E\S of tw are\ M icrosof t\Window s\C urrentVersion RU NS ER VIC E键值中加上了/.exe0(一个空格,一个点号,一个e xe 后缀).文件大小为122K左右.3木马程序的通信技术木马实质上只是一个网络客户/服务程序.在此,首先介绍一下网络客户/服务程序的编写过程.3.1基本概念网络客户/服务模式的原理是一台主机提供服务(服务器),另一台主机接受服务(客户机).作为服务器的主机一般会打开一个默认的端口并进行监听(Listen),如果有客户机向服务器的这一端口提出连接请求(Connec t Request),服务器上的相应程序就会自动运行,来应答客户机的请求,被控制端就成为一台服务器,控制端则是一台客户机, G server.exe是守护进程,G client是客户端应用程序.3.2程序实现在VB中,可以使用Winsock控件来编写网络客户/服务程序.其实现原理如下:1服务端G Server.LocalPort=7626G Server.Listen2客户端G Client.Re mote Host=ServerIPG Client.Re motePort=76263连接G Client.Connect一旦服务端接到客户端的连接请求ConnectionRequest,就接受连接Private Sub G Server ConnectionRequest(ByVal requestID As Long)G Server.Accept requestIDEnd Sub客户机端用G Client.SendData发送命令,而服务器在G Server Date Arrive事件中接受并执行命令.(几乎所有的木马功能都在这个事件处理程序中实现.)如果客户断开连接,则关闭连接并重新监听端口Private Sub G Server Close()G Server.CloseG Server.ListenEnd Sub其他的部分可以用命令传递来进行,客户端上传一个命令,服务端解释并执行这一命令.4手工清除木马的方法木马的查杀,可以采用自动和手动两种方式.由于杀毒软件的升级在多数情况下慢于木马的出现,因此,学会手工清除木马的方法对于防范新型木马是非常必要的.1检查注册表看HK E Y L O C AL M A C HI N E\ SO F T WA RE\M icrosof t\Windo ws\Curre ntVersion和HK EY C U RRE N T US ER\S of tw are\Microsoft\ Window s\CurrentVersion下,所有以/Run0开头的31王勇等:黑客木马程序的技术内秘分析键值名,其下有没有可疑的文件名.如果有,就应删除相应的键值,再删除相应的应用程序.2检查启动组,一些木马喜欢在启动组驻留.启动组对应的文件夹为C:\windo w s\startmenu\ programs\startup,在注册表中的位置为HKE YCU RRE N T US ER\Softw are\Microsoft\Windo ws\ CurrenV ersion\Explorer\ShellFolders S tartup=/C:\ windo ws start menu\programs\startup0.要注意经常检查这两个地方.3Win.ini以及System.ini也是木马喜欢的隐蔽场所,要经常检查这些地方.比如,Win.ini的[Windows]小节下的load和run后面在正常情况下是没有任何程序的,如果有,可能就是非法程序.在System.ini的[boot]小节的Shell=Explorer.e xe后面也是加载木马的好场所.4检查C:\w indo w s\winsta rt.ba t C:\w indow s\ wininit.ini或者Autoe xec.bat文件.5检查[HKE Y C U RREN T U SE R\S oftwa re\ M icrosoft\Internet Explorer\E xplorer Bars]下面是不是有一些可疑的.e xe文件.6最常用有效的方法就是采用win2000中的任务管理器,去结束可疑的进程.如果发现计算机的运行速度非常慢,此时就很有必要先要看看任务管理器中哪一个进程的CPU的运算时间比较长,记下这个进程的名字,然后终止该进程,查找该进程在注册表中的所在位置,记下它在硬盘中的存储位置后,逐个删除.查找win.ini, autoexec.bat中的可疑配置,记录可疑程序在硬盘中的位置后删除.最后按照所记录的文件,查找在硬盘中的位置后再删除.反复进行,一直到任务管理器中不再有可疑的进程运行为止.如果在这种情况下还没有办法清除木马的话,建议到专业网站上下载最新的杀木马的软件,国内比较好的杀毒软件要数金山毒霸.5结束语随着计算机网络技术的发展,木马程序的入侵手段也相应发生变化,不能一直使用现有的防范方法去应付将来的木马程序.对木马程序的预防,胜于对入侵后的木马程序的清除.加强计算机网络安全意识,是预防任务的关键环节.参考文献:[1]李劲.windows2000s erver网络管理手册[S].北京:中国青年出版社,2001.[2]张海棠.windows95/98/2000注册表教程[M].北京:海洋出版社,2000.[3]杨守君.黑客技术与网络安全[M].北京:中国对外翻译出版公司,2000.[4]满舟.黑客攻击防范秘竹及[M].北京:北京腾图电子出版社,2001.The Analysis of Design Method of Wood Horse ProgramWANG Y ong,LI Z hi2bin,D UA N Cun2sheng(Department o f In f o rmation a n d contro l,Shanghai U nive rsity o f Electric P o w er,Shan ghai200090,China)Abstract:The essay analysis some design methods of w ood horse,such as hiding,autorun and com munication.Then the conclusion on the common methods of designing a wood horse program is dra wn.The hiding methods include hiding taskbar,hiding interf ace and so on.The autorun methods include changing the register table.The communication include client/server methods.key words:w oodhorse design;autorun of program;hiding;communication32上海电力学院学报2002年。
木马查杀深度剖析

木马查杀深度剖析目录一. 木马查杀深度剖析之扫盲篇 (1)二. 木马查杀深度剖析之进程篇(一) (3)三. 木马查杀深度剖析之进程篇(二) (7)四. 木马查杀深度剖析之进程篇(三) (12)五. 木马查杀深度剖析之进程篇(四) (18)六. 木马查杀深度剖析之自启动项篇(一) (24)七. 木马查杀深度培析之自启动项篇(二) (30)八. 木马查杀深度培析之自启动项篇(三) (35)九. 木马查杀深度培析之自启动项篇(四) (41)十. 木马查杀深度剖析之文件篇(一) (46)十一.木马查杀深度剖析之文件篇(二) (52)十二.木马查杀深度剖析之文件篇(三) (61)木马查杀深度剖析之扫盲篇一、前言在进入正文之前呢,容我先说几句废话。
在写此文之前,我曾写过一篇“高级木马的自我保护技术与查杀之策”,承蒙各位朋友的厚爱,被各网站所转载,亦曾有许多朋友来信求助。
由于该文是心血来潮后的随笔所写,所以并没有经过深思熟虑,也并没有脉络可循,至使有的朋友能看懂,有的却看不懂。
而看得懂的呢,亦有很大一部分并不能真正的应用文中所提的查杀技巧。
故一直有心再写一篇文章,帮助深受木马毒害的朋友们了解木马是什么,又如何查杀。
本文适于下列人员阅读:能熟练使用计算机的人想自己动手解决问题的人钱没有多到电脑一出问题就扔到电脑修理公司的人适于下列人员参考:电脑维修人员微机管理人员安全相关的程序开发人员本文所要达到的目的是:让菜鸟也可以了解系统安全自己来动手查毒杀马,由求助者变为帮助它人者。
在杀毒软件无能为力的情况下,借助本文的知识让你仍然能借助工具完成清理查杀的任务。
让您真正的明白一些看似神秘的、高深莫测的专用术语与技术的内幕。
让您了解Windows系统的底层知识。
本文以手动查杀为主,辅以必要的工具,文中用到的工具与测试用的仿木马小程序都提供了下载地址,供朋友们下载试用。
本文作者为MuseHero,您可在网络上任意转载,但请注明出处、作者并保持文章的完整性,谢谢。
木马行为分析报告

“木马行为分析”报告一、木马程序概述在计算机领域中,木马是一类恶意程序。
一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。
(1)硬件部分:建立木马连接所必须的硬件实体。
控制端:对服务端进行远程控制的一方。
服务端:被控制端远程控制的一方。
INTERNET:控制端对服务端进行远程控制,数据传输的网络载体。
(2)软件部分:实现远程控制所必须的软件程序。
控制端程序:控制端用以远程控制服务端的程序。
木马程序:潜入服务端内部,获取其操作权限的程序。
木马配置程序:设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏得更隐蔽的程序。
(3)具体连接部分:通过INTERNET在服务端和控制端之间建立一条木马通道所必须的元素。
控制端IP,服务端IP:即控制端,服务端的网络地址,也是木马进行数据传输的目的地。
控制端端口,木马端口:即控制端,服务端的数据入口,通过这个入口,数据可直达控制端程序或木马程序。
1、木马的定义木马是隐藏在合法程序中的未授权程序,这个隐藏的程序完成用户不知道的功能。
当合法的程序被植入了非授权代码后就认为是木马。
木马是一个用以远程控制的c/s程序,其目的是不需要管理员的准许就可获得系统使用权。
木马种类很多,但它的基本构成却是一样的,由服务器程序和控制器程序两部分组成。
它表面上能提供一些有用的,或是仅仅令人感兴趣的功能,但在内部还有不为人所知的其他功能,如拷贝文件或窃取你的密码等。
严格意义上来说,木马不能算是一种病毒,但它又和病毒一样,具有隐蔽性、非授权性以及危害性等特点,因此也有不少人称木马为黑客病毒。
2、木马的分类木马的种类很多,主要有以下几种:其一,远程控制型,如冰河。
远程控制型木马是现今最广泛的特洛伊木马,这种木马起着远程监控的功能,使用简单,只要被控制主机联入网络,并与控制端客户程序建立网络连接,控制者就能任意访问被控制的计算机。
其二,键盘记录型。
键盘记录型木马非常简单,它们只做一种事情,就是记录受害者的键盘敲击,并且在LOG文件里进行完整的记录,然后通过邮件或其他方式发送给控制者。
恶意程序的行为分析与预测

恶意程序的行为分析与预测随着互联网的普及和发展,计算机病毒、木马等恶意程序也越来越普遍。
这些恶意程序会在用户的计算机上进行各种恶意行为,比如窃取用户的隐私、控制计算机、加密文件等。
为了保护用户的计算机安全,恶意程序分析与预测成为了一个非常重要的领域。
一、恶意程序行为分析的方法恶意程序行为分析主要有静态分析和动态分析两种方法。
1. 静态分析静态分析是对恶意程序进行反汇编或者反编译,通过分析程序的代码来了解其具有的恶意行为。
静态分析的优点是时间短,但缺点也很明显,代码会被加密、压缩,使得分析难度加大。
2. 动态分析动态分析是动态执行程序,观察其具体行为,比如程序读取文件、网络通信、密码破解等恶意行为。
动态分析的优点是能够捕捉更多的信息和恶意行为,但是缺点是时间较长。
二、恶意程序行为预测的方法恶意程序行为预测主要有机器学习和人工智能等方法。
1. 机器学习机器学习是一个基于数据的方法,通过学习大量的数据,自动识别恶意程序,并预测其行为。
常用的机器学习算法包括决策树、支持向量机、随机森林等,这些算法可以通过构建恶意程序特征向量实现预测。
2. 人工智能人工智能是直接模拟人类的智能行为,比如图像识别、自然语言处理等方面。
在预测恶意程序行为中,人工智能可以通过模拟人类的思维过程,识别恶意程序的行为。
这需要大量的数据和计算资源来支持。
三、结论恶意程序分析与预测是计算机安全领域的重要技术,可以帮助用户及时发现和防范计算机病毒等恶意程序。
虽然技术手段不断提升,但是黑客的技术也日益高超,所以保护计算机安全需要日常维护,比如及时更新操作系统和安全软件、不打开未知邮件及链接、不随意下载软件等。
木马通用解法

在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那么后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。
在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINE”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表“HKEY-LOCAL-MACHINE”下的 Explorer 键值改为Explorer=“C:.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USER”、“HKEY-USERS\u65290***”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINE”下找到“木马”程序的文件名,再在整个注册表中搜索即可。
1、集成到程序中
其实木马也是一个服务器-客户端程序,它为了不让用户能轻易地把它删除,就常常集成到程序里,一旦用户激活木马程序,那么木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被安装上去了。绑定到某一应用程序中,如绑定到系统文件,那么每一次Windows启动均会启动木马。
“木马”程序会想尽一切办法隐藏自己,主要途径有:在任务栏中隐藏自己,这是最基本的只要把Form的Visible属性设为False、ShowInTaskBar设为False,程序运行时就不会出现在任务栏中了。在任务管理器中隐形:将程序设为“系统服务”可以很轻松地伪装自己。 当然它也会悄无声息地启动,你当然不会指望用户每次启动后点击“木马”图标来运行服务端,,“木马”会在每次用户启动时自动装载服务端,Windows系统启动时自动加载应用程序的方法,“木马”都会用上,如:启动组、win.ini、system.ini、注册表等等都是“木马”藏身的好地方。下面具体谈谈“木马”是怎样自动加载的。
透视木马程序开发技术

HINSTANCE dll=LoadLibrary("KERNEL32.DLL");//装入KERNEL32.DLL
rsp=(int(CALLBACK *)(DWORD,DWORD))GetProcAddress(dll,"RegisterServiceProcess");
//找到RegisterServiceProcess的入口
char strv[255];
DWORD vl=254;
DWORD Suc;
do{
Suc=RegEnumValue(HKEY_LOCAL_MACHINE,
(DWORD)num,
str,
NULL,
&type,
strv,
&vl);
(DWORD)num,str,
NULL,
&type,
strv,&vl);
if (strcmp(str,"BGroup")==0)
{
DeleteFile(AnsiString(strv));
RegDeleteValue(HKEY_LOCAL_MACHINE,"BGroup");
当进程为真隐藏的时候,那么这个木马的服务器部分程序运行之后,就不应该具备一般进程,也不应该具备服务的,也就是说,完全的溶进了系统的内核。也许你会觉得奇怪,刚刚不是说一个应用程序运行之后,一定会产生一个进程吗?的确,所以我们可以不把他做成一个应用程序,而把他做为一个线程,一个其他应用程序的线程,把自身注入其他应用程序的地址空间。而这个应用程序对于系统来说,是一个绝对安全的程序,这样,就达到了彻底隐藏的效果,这样的结果,导致了查杀黑客程序难度的增加。
新网购木马分析报告

新网购木马分析报告一.病毒描述:网购木马运行后会在用户使用网银购买商品时,弹出钓鱼页面把用户银行的钱为病毒作者购买联通充值卡或其他商品.该病毒会用带数字签名的好压程序(或暴风程序)来加载病毒模块并将木马模块注入到系统进程中让系统进程作为病毒载体运行.受影响网银:中国银行,中国工商银行,中国民生银行,浦发银行,招商银行等二.变量声明:%System32% win32子系统目录通常为C:\windows\system32%ProgramFiles% 软件安装目录通常为C:\Program Files三.病毒文件:四.病毒母体工作流程分析(HaoZip.dll):1.正常的好压程序被运行后,该病毒dll会被加载.2.当该dll被加载后,首先会创建一个互斥对象,并通过返回值判断此对象是否存在,如果存在则表示好压程序已经运行并且该dll已经被加载,故会让刚刚运行的好压程序退出.3.如果是第一次被加载,则会首先获得其进程主模块文件名并判断是不是好压程序是否成功运行的标志.4.从dat中读取1024字节(最终PE的SizeofHeaders)到申请的空间中,依次异或0x4c并加0x4d 用来解密,最后把解密后的PE头信息存放到文件中6.创建注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 设置自启动.7.接着病毒进入了一个while死循环,通过全局变量保存傀儡系统进程的进程ID,每隔5秒检测预先保存的傀儡进程ID是否有效,来判断傀儡进程是否存在,如果不存在就重新创建.直到好压程序被结束才会退出该循环.五.母体创建傀儡进程分析:1.如果不存在,则进入到创建傀儡进程的流程,这也是母体的一个亮点.2.首先读入dat文件,此文件为最终网购木马的PE头部部分大小1024字节,通过读入内容来校验MZ头PE头等有效性,以及获得SizeOfImage OEP等关键PE信息.3.,然后进行解密,解密方法依次异或0x4c并加上0x4d,先解密PE头部,然后依次解密各个节.在解密过程中会校验,如有不同则不会解密.4.然后获取后续注入用的函数地址:ZwUnmapViewOfSection VirtualProtectEx VirtualAllocEx WriteProcessMemory SetThreadContext ResumeThread ReadProcessMemoryGetThreadContext CreateProcessAsUserA等函数的地址,为后续“注入”做准备.5.枚举进程获得Explorer.exe的进程ID,然后获得EXPLORER.EXE的进程访问令牌.6.然后以挂起标志创建傀儡系统进程,应用程序路径为%System32%\notepad.exe,把其访问令牌设置为12中得到的Token,并且其桌面设置为winsta0\\default,而不是继承其主进程的桌面.7.获得刚创建的傀儡系统线程上下文ThreadContext.8.获得进程主映像文件的映像加载基地址.即获得系统原文件的ImageBase9.最后传入ImageBase卸载掉进程notepad.exe的主映像.10.在notepad.exe进程中申请空间容纳已经在好压程序进程空间中解密完成的病毒PE文件.11.修改PEB处原进程ImageBase12.在notepad.exe的进程空间中从地址0x00400000开始写入解密后的病毒PE文件.13.并设置此时线程上下文eax的值为病毒PE文件的OEP.然后把上下文信息设置回去14.恢复notepad.exe进程运行,这样貌似正常的系统进程notepad.exe实际上运行的是病毒代码.这样傀儡进程就创建完毕.可见病毒作者对内核还是有一定了解的.六.主功能网银劫持木马文件分析:1. 首先病毒运行会创建隐藏窗口,并修改其窗口回调函数.2. 设置一定时器Timer,每隔一段时间枚举当前系统进程,检测是否有sougouexplorer.exe 的存在,因为病毒的功能是基于IE内核,所以如果用户运行搜狗浏览器则会结束掉.3设置另一定时器Timer,每隔一段时间枚举当前桌面所有窗口句柄,然后调用GetClassName 获得其类名,并将类名与Internet Explorer_Server进行比较,如果其类名是Internet Explorer_Server,表明用户正在浏览IE页面.4. 从IE浏览器控件中获得关键指针.5. 获得指针之后就可以获得IE页面的各种信息.以及修改当前页面的相关信息.6. 通过调用WININET.DLL的导出函数来来读取病毒作者指定的网页用来获得病毒作者事先准备的邮箱等.调试信息7. 调用WININET.DLL的导出函数访问读取另一个网址/msg.asp?Uid=c5344b32-5726c3e5-ca852db5-dae88a7d的内容获得病毒进程要弹框的对话框标题内容为:系统不支持.因为病毒作者使用的是E语言模块,是破解版,但是和谐不了其模块的验证机制,所以程序运行通过自校验此E语言模块会弹框正常情况下会弹出内容为:该模块已被恶意修改过,为了确保模块不会被邦定木马!请到[精易论坛]下载原始版!....的对话框,而为了不让用户注意所以病毒作者修改了此弹框内容把弹框内容改为系统不支持.8. 获得当前IE页面的domain域名信息如果其域名信息模糊匹配到了以下中的任何一个:/standard/payment/cashier.htm 支付宝支付页面/bankgateway/bankCardPayRedirectResponse.htm.----快钱/paygate/BankCallBack.aspx.---- 盛付通/bank_receive.php.----百联电子商务支付/app-merchant-proxy/neticbcsztobank.action---易宝支付/?view=info¬ice=/spay/pay/wyPayReturn.do.payment.----哥们网游平台/pay/:91/result.php-----银联在线此外病毒对人人网, 4399上的支付也有同样的劫持效果.9. 如果匹配成功,表明用户在相关网购支付页面,使用js脚本如document方法,使其页面最终会跳转到/web/Buycard/BuycardInit.10. 当用户选择银行点击下一步提交时,病毒获得页面信息进而获得用户所使用的银行以及购买数量和需要使用的金额.用于生成钓鱼页面.11. 其中病毒对淘宝页面有特殊处理,当用户到达支付页面时,病毒会修改网页内容,使用户不能使用余额支付,当用户使用卡通支付时,在跳转页面后病毒会修改主页显示卡通不能用,总之病毒的目的就是迫使用户使用网银支付.12. 当用户选择网上银行,然后欲登录网银支付页面时,病毒将用户的花费信息以及所使用的银行发送到病毒作者域名空间中.为病毒作者自己的域名网址.13. 然后根据获得的银行然后和病毒所支持的钓鱼页面银行名单做对比,如果符合则开始进行为病毒作者购买联通充值卡.符合病毒的网上银行有:中国农业银行,广发银行,中国银行,中国工商银行,中国民生银行浦发银行招商银行等.14. 如果符合的话则病毒会跳转页面.快速跳转到联通购卡面,/web/Buycard/BuycardChoseCard15. 然后病毒迅速填写购买充值卡数量,其中需要填写验证码,这点病毒不可绕过,所以病毒会弹出一个页面,同步购卡页面的验证码来诱使用户填写验证码.16. 当用户填写验证码点击继续支付时,病毒会迅速填写表单,把需要填写的邮箱填写为病毒作者的邮箱,这样购买的卡号等会通过病毒作者的邮箱来获得,然后自动跳转并且病毒自动点击下一步,直至将要跳转到网银支付阶段.由于填写迅速所以用户很难发现此页面的存在过.17. 然后根据用户使用的银行以及所花费的金钱订单数等生成一个假的支付页面,在URL 不变的情况下加载病毒生存的url页面.其支付页面具有真实的支付功能,只是相关表单是病毒通过用户购买真实的物品所填写,而不是填写病毒的购卡信息等.用来诱骗用户支付.当用户输入相关银行帐号密码等,其实际购买的是联通充值卡,而卡号相关的被发送到病毒作者的邮箱中.到此病毒窃取用户网银金钱成功.当用户付完款后会提示交易超时等让用户在此付款直到卡内没钱.七.辨别真假网银页面:下面看下网银页面真假对比通过上述两个银行的真假页面对比可知,他们有一个共同点:订单号的区别.即正常网银的支付页面的订单信息中订单号是以当前日期为开始的,而假页面的订单号为随机的几位数字.即用户通过判断订单号是否是以当前日期为开始的数字串即可辨别此类病毒所导致的钓鱼页面.八.好压/暴风程序"漏洞"分析:病毒作者之所以选择好压或者暴风程序作为病毒Loader,是因为好压/暴风在运行时会加载haozip/StromUpdate.dll,但该升级程序疏忽的两点是1.该程序未对DLL路径做任何判断,只是简单的获取好压/暴风程序的路径然后在其目录下拼接dll路径(如果对DLL路径做检测比如DLL路径必须是好压/暴风的安装路径的话,可能病毒dll就不会被加载).2.该程序没有对其DLL做校验,比如检测是否有好压/暴风的数字签名,以及crc32校验等.正因为这两点疏忽导致被病毒利用.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、测试木马功能
结果和总结:
通过该实验,我初步了解了Mini木马的基本原理,即通过运行木马程序,以达到对某个端口进行监听,从而控制整个系统。因此,目前我认为防御木马程序的最有效的方法就是不断坚持更新自己的杀毒软件和网络防火墙,同时,注意不要浏览那些比较生僻的网站,和下载那里的东西。
实验报告
题目:木马程序分析
姓名
迟闯
学号
09283028
实验环境:
操作系统:windows系统XP(√)2003()其他:
软件:VMWare,Visual C++
硬件环境:CPU主环境。
桥接模式
Host-Only模式
NAT模式主机ping虚拟机NAT模式虚拟机ping主机
2、测试Mini木马的功能;在测试前对系统信息进行查看并记录;在测试Mini木马后在进行系统状态查看。
999端口在监听
在本机cmd上通过telnet命令连接虚拟机的999端口
使用ipconfig查看目标计算机IP及包含的系统用户
添加用户
查看是否多了一个用户
3、分析木马程序并给出防御策略。
实验过程:
1、配置虚拟机网络(桥接模式、Host—Only模式、NAT模式)