大家好,欢迎来到IT知识分享网。
EXP5
lab01-04中的sub_401000子程序
1.401000传入的参数,位置12EAE8(EBP+8),意义:processid,openprocess的参数
2.这一部分是将数据节的值转移到了EBP-14附近的区域
403010附近的值
EBP-14附近的值
同样,下面这一段是将从地址403024开始的值copy到了EBP-118
这两段对应的是IDA中的这里
下面就是将一整块地方赋值为0
对应了这一部分的指令
接着就是根据传入的参数(processid)进行打开进程(openprocess)的操作
接着就是将0与这个函数的返回值进行比较,返回值为0,就直接跳到4010C2,也就是比较s1和s2的部分
对应IDA里面应该就是这条分支
接着就是push四个参数,调用40312c这个函数
这个函数我比较陌生,不太了解具体功能
总的来说,就这一部分的功能我们不太清楚
接着就是对s1、s2进行比较
不同就跳到4010EB处进行closehandle,也就是第二个(2号)closehandle,第二个closehandle在4010F7结束
相同就执行第一个(1号)closehandle,执行完第一个closehandle也需要跳到4010F7
也就是对应IDA中的这两个分支
不为零(匹配到的不是winlogon.exe)
为零(匹配到了winlogon.exe)
接着就是函数的结束部分
发现的规律
进程打开(openprocess)的顺序都是System->smss.exe->csrss.exe->winlogon,这是每一次运行的过程中发现的相同点
不同点就是每一次的processid都是不相同的,需要靠传入的参数得知打开的processid,子函数目的是找到winlogon.exe
运行lab01-04后会有什么后果?
1.访问一个windows更新的网址
貌似是运行了wupdmgr.exe,我运行了感染后的wupdmgr.exe(16KB)、感染前的wupdmgr.exe(32KB)还有temp目录下的winup.exe都是跳转到了windows的更新地址,因为微软早已停止对WindowsXP系列更新,所以该网址并没有任何实际内容
目前暂不清楚其中的原理,目前有以下几种猜测:
(1)感染后的wupdmgr.exe(16KB)唤醒了位于temp目录下的winup.exe(32KB)
(2)直接运行了位于temp目录下的winup.exe
(3)感染后的wupdmgr.exe(16KB)就有跳转到windows的更新地址的功能
打开ProcessExplore,发现与上述文件貌似都没有关联,浏览器IEXPLORE.exe是在winlogon.exe下启动的,运行了winlogon.exe没有任何反应,无法判断实际情况是我们的哪种猜测,还是另有蹊跷,我们无从得知
2.原wupdmgr.exe被更换
(1)原wupdmgr.exe的大小是32,256字节,运行Lab01-04后wupdmgr.exe的大小变成了16,384字节。文件大小的变化,是最容易发现,也是最明显的区别。
(2)原wupdmgr.exe与感染后的wupdmgr.exe图标不同
3.原wupdmgr.exe被移动到了temp目录下,并重命名为winup.exe
原wupdmgr.exe被移动到了temp目录下,并重命名为winup.exe。在课堂上分析此程序时也有提到这一点,但是刚开始我还以为是这个路径
C:\WINDOWS\Temp
运行了好几次都没有看到winup.exe的身影,情况一度陷入的僵局,OD单步调试时在这个目录下同样也没有看见winup.exe,调试过程中看到了C:\DOCUME1\ADMINI1\LOCALS~1\Temp\winup.exe这个路径,问题是这个路径根本无法打开,当时已经晚上10点多,那天也没有休息好。没办法,先好好睡一觉吧,明天看一看有什么解决方法吧
貌似没有locals~1目录,cmd查看也无果
我想到了之前用的systracer,打算用这个来分析一下
第二天重新恢复运行Lab01-04前的系统状态(恢复快照),运行前后各进行了一次“take snapshot”
点击“Files”标签,查看文件变化情况
查看相关文件,功夫不负有心人,终于找到了winup.exe的身影,点击这个jump to……即可跳转到相应位置
才知道这是一个隐藏文件夹,网上查找winxp查看隐藏文件夹的方法,经过设置后也能够正常进入winup.exe所在的temp文件夹,参考链接在此,下图中可以看到了隐藏的Local Settings
将运行前的wupdmgr和winup进行对比
运行前现将wupdmgr移动到主机的文件夹下保护起来,运行后也把winup移动到主机的相同目录,进行摘要计算,两者摘要一致
4.原wupdmgr.exe的一些特点被破坏
wupdmgr.exe是 windows update manger 的缩写,是自动升级的程序,存在于c:\windows\system32下,被删除或被重命名后能立即自动生成。
经过实践,未运行lab01-04前将系统的wupdmgr.exe删除或者重命名,系统5秒过后都会自动生成一个新的,正常的wupdmgr.exe。运行了Lab01-04之后系统的一些保护被破坏了,将感染后的wupdmgr.exe删除,系统也无法自动生成正常的wupdmgr.exe。
目前的问题
运行了Lab01-04之后系统的一些保护被破坏了,将感染后的wupdmgr.exe删除,系统也无法自动生成正常的wupdmgr.exe。
但是如何才能让系统恢复保护,即删除感染后的wupdmgr.exe,系统能够自动生成正常的wupdmgr.exe呢?
解决思路:这个问题大概率可以通过对快照前后的注册表的变化进行逐项分析,这样应该可以解决问题
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34068.html