恶意代码分析实战Lab1701

IDA -> main -> Name字符串,HGL345,很明显,这个程序我们之前分析过,特征字符串

这次的分析目的不一样,是要patch掉反虚拟机技术,从而使得代码运行起来

根据书中17.2.5反虚拟机的x86指令一节,如下指令:

sidt,sgdt,sldt,smsw,str,in(第二个操作数被设置为VX),cpuid

恶意代码通常并不运行这些指令,除非它们执行VMWare检测

在IDA的汇编中显示出来标红,可能是asm汇编嵌入C中,导致这部分代码逻辑和其他代码不一样

 

在main入口运行findAntiVM.py

from idautils import *
from idc import *

heads = Heads(SegStart(ScreenEA()), SegEnd(ScreenEA()))
antiVM = []
for i in heads:
	if (GetMnem(i) == "sidt" or GetMnem(i) == "sgdt" or GetMnem(i) == "sldt" or GetMnem(i) == "smsw" or GetMnem(i) == "str" or GetMnem(i) == "in" or GetMnem(i) == "cpuid"):
		antiVM.append(i)

print "Number of potential Anti-VM instructions: %d" % (len(antiVM))

for i in antiVM:
	SetColor(i, CIC_ITEM, 0x0000ff)
	Message("Anti-VM: %08x\n" % i)

结果如下:

Number of potential Anti-VM instructions: 3
Anti-VM: 00401121
Anti-VM: 004011b5
Anti-VM: 00401204

 

在cmd中运行程序,发现程序一直在跑起来,没有检测到

分析sidt:

sidt指令如果检测成功,该程序会立即删除自身

str指令检测成功,恶意代码将不会创建Malservice这个新服务

当sldt检测成功时,函数返回值不为0xDDCC0000,即不执行多线程操作

 

 

问题1:恶意代码使用了什么反虚拟机技术

 

问题2:运行IDApy脚本,结果是什么

 

问题3:每种反虚拟机技术成功执行后会发生什么

 

问题4:哪些技术生效,原因是什么

在我的机器上都没有生效,可以双击或cmd运行

问题5:怎么使得这些反虚拟机技术失效,从而让恶意代码运行

全部NOP即可

 

全部评论

相关推荐

01-12 14:08
门头沟学院 Java
有寒假来武汉小米总部实习的大学生嘛,我也是小米的员工,想找合租舍友,仅限女生可免租半月,二月初可入住,也就是说房租是2.15开始算的哦~也可以将行李提前放过来~房屋介绍:1、房子情况:有电梯;租的是三室一厅一卫一厨, 但是有个卧室比较小,不打算找人,只住两个人就可以了;衣柜也很大,可以放下很多衣服;房屋采光真的很好,早上起来可以在床上晒太阳的那种,十分惬意(夏季晚上十分好看!)2. 楼下离我们很近的地方有小吃街和一个两层大超市(大概步行两分钟多就可以走到) ,还有一个新开的麦当劳,晚上可以去吃小吃,购买物资也可以去大超市;3. 房子基本设施齐备(洗衣机,冰箱,空调,油烟机,热水器);4. 我有稳定的工作,生活中很注意卫生,周末有时间会自己做饭,可以投喂哦~5. 出行:距离公交站步行10分钟不到,距政务中心,武汉小米总部三站(晚上我都是走回来的,很近的~);一个比较进的地铁,距离大概1km左右;出入我觉得很方便;6. 房租:1150每月,押一付二,无物业费,也没有中介费和其他额外费用。7. 民用水电燃气,用多少交多少,水电费正常平摊。希望你是:1. 女生(本人女),不带异性回家,如有同性朋友来玩,最多过夜一晚;2. 爱干净,讲卫生,作息正常,不吵闹,有稳定工作;3. 好沟通,有任何问题一定要沟通,不要闷着!中介勿扰,非诚勿扰!!!希望不要浪费彼此的时间诚心有意向的可以联系我看房
租房找室友
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务