免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > Stuxnet蠕虫攻击原理分析

Stuxnet蠕虫攻击原理分析

时间:2012-03-17 14:46来源:未知 整理:寂涯网络 点击:

Stuxnet 不仅仅是一种新型病毒或者说是恶意蠕虫,它或许将开启一个网络病毒战争和
网络恐怖主义的新时代。或许大家心里都认为病毒不过仅仅是网络犯罪者制造的一些恶意程
序罢了,如窃取钱财、发送垃圾邮件或者收集个人隐私数据等,但或许这次是第一次听到,
病毒将推毁建筑、破坏电厂、工厂等各种工业系统甚至杀害人们,这就是Stuxnet. 在过去
的一年里,Stuxnet已经引起了全球大量恶意程序研究者的关注,它的到来甚至干扰了伊朗
核计划实施进程。
它的巨大威胁主要建立在 windows 系统上的四种零日漏洞攻击和一些躲避反病毒软件
检测的反检测伎俩。通过感染可编程控制器 PLCs,修改机器的控制程序以改变它的执行行
为。下面,本文将探讨stuxnet的工作原理及其生命周期。
1.Stuxnet 生命周期
图1
图 1是 stuxnet病毒在 Windows系统的生命周期,下面小节将从WTR4132.TMP文件开始
详细阐述图1中的每个步骤。
2.Main Dropper(~WTR4132.TMP)
它是一个动态链接库文件,伴随着机器启动时加载在Explorer.exe进程中,当它寻找
到一个命名为”.stub”的段后,即开始运行,此段中包含stuxnet关键 DLL文件,此DLL
文件包含了stuxnet中的所有实现函数、机制、文件及各种rootkits. 在找到”.stub”段
之后,它会一种特殊的方式加载stuxnet DLL文件。首先,它会为此DLL文件分配一个内存
缓冲区,然后修改以下6个ntdll.dll API函数:ZwMapViewOfSection; ZwCreateSection;
ZwOpenFile;ZwClose; ZwQueryAttributesFile; ZwQuerySection;为了使这些API函数能
够像调用 ZwOpenFile打开磁盘文件一样,获取”.stub”段内容,这些补丁的作用即迫使函
数 LoadLibraryA从内存的某个位置加载一个DLL 文件。
3.Main Stuxnet DLL
提升权限并寻找注入体
当主 DLL 文件开始执行时,首先它会简单校验自己的配置数据,然后检查执行环境然后
确定是否继续执行或从原加载位置推出。若没有运行在管理级权限,它会使用以下两个零日
漏洞中的一个,以提升权限使其运行在Admin级:CVE-2010-2743(MS-10-073)——
Win32k.sys键盘布局漏洞;CVE-xxxx-xxxx(MS-xx-xxx)——Windows任务调度漏洞。这两个
漏洞允许蠕虫提升权限并寄宿在一个新进程体内(如Win32k.sys中的“csrss.exe”)或者
作为一个任务调度队列中新任务运行。在stuxnet的感染环境都准备好后,它会寻找一个反
病毒应用程序进行注入,注入成功后将在寄宿进程体内安装运行。
Stuxnet 会根据不同的反病毒软件(AVP、McAfee等)选择不同的进程进行注入,若系
统中不存在反病毒程序时,stuxnet会选择“lsass.exe”作为寄宿进程。在进程注入时,
它并不会在任务管理器中搜索寄宿进程,而是使用进程挂起的方式通过CreateProcess函数
创建一个新进程,如:
 ESP ==>  > 0006F4F8  |ModuleFileName = "C:\WINDOWS\\system32\\lsass.exe"
ESP+4    > 00000000  |CommandLine = NULL
ESP+8    > 00000000  |pProcessSecurity = NULL
ESP+C    > 00000000  |pThreadSecurity = NULL
ESP+10   > 00000001  |InheritHandles = TRUE
ESP+14   > 0800000C  |CreationFlags = 
CREATE_SUSPENDED|DETACHED_PROCESS|CREATE_NO_WINDOW
ESP+18   > 00000000  |pEnvironment = NULL
ESP+1C   > 00000000  |CurrentDir = NULL
ESP+20   > 0006F13C  |pStartupInfo = 0006F13C
ESP+24   > 0006F730  \pProcessInfo = 0006F730
进程创建后,stuxnet会在它的DLL 资源中选择一个PE文件替换此进程模块。此PE文
件在加载之前,stuxnet 会在此文件的起始字节处添加一个“.verif”段,使得 PE 文件大
小与之前替换的进程模块大小一致,然后在替换模块的起始位置写入一条“jmp”指令转入
到 PE文件入口处。最后,stuxnet将.stub 段和主DLL 拷贝到寄宿进程内存空间,并在.bin
段写入一指针指向此内存缓冲区,即完成整体注入。
stuxnet 主 DLL:在感染主机上安装stuxnet
在调用函数#16 时,它需要再次检验配置数据以确保安装环境是否都具备,并检查注册
表中 SOFTWARE\Microsoft\Windows\CurrentVersion\MS-DOS Emulation
•  C:\WINDOWS\inf\oem7A.PNF
键码为“NTVDM

本页地址 http://www.jybase.net/xitonganquan/20120317801.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com