首页
社区
课程
招聘
[原创]对于极虎病毒驱动,啰嗦两句
发表于: 2012-5-4 10:16 9405

[原创]对于极虎病毒驱动,啰嗦两句

2012-5-4 10:16
9405

这个,本来极虎病毒的驱动没啥要说的来着,因为自己一时疏忽,当初得到的驱动样本是用Xuetr在内存中Dump出来的。。。自己忘了这一点。于是乎丢进IDA一片硬编码,一片红,自己还去问人家咋回事,难怪没人回。。。
        但是呢,我用这个Dump出来的驱动做了分析,经过一些处理之后,基本还原了本来的面貌,流程什么的都比较清楚了,完全可以跟原始的驱动文件分析达到相同效果。
        下面就记录一下,算是长点经验。。。
1、一开始丢进IDA是这个样子的:
   
从IDA看到加载基地址指向0x00400000,而绝对编码地址都在0xf8000000以上,流程完全出不来
在DriverEntry函数里面有一条指令 push 0F8C46EA4h,用Windbg查看这个地址是字符串"\\Device\\Forter",同时在IDA文件地址00400EA4处找到了这个字符串,偏移都是EA4,于是果断用WinHex把Forter.sys的ImageBase改成了F8C46000,再重新丢进IDA分析,就明了了许多。

2、查看导入表,是这个样子的

又是一头雾水。。。
经过第一步的修改,DriverEntry已经变成了这个样子:

可以看到字符串都已经修正了,但多了一个ntoskrnl_2026139886,猜测是RtlInitUnicodeString函数,算是乱撞吧,2026139886==0x787C470EE,查看驱动的0xF87C470EE处,正好是RtlInitUnicodeString字符串,

依照这样一步步修改,就差不多了

有些硬编码的地址,可以使用WinDbg直接查看是什么函数

附上Dump出来的驱动,希望对大家有些帮助


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 6
支持
分享
最新回复 (8)
雪    币: 2194
活跃值: (1001)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学了一招   改ImageBase
2012-5-4 12:30
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
3
学习了........
2012-5-4 12:49
0
雪    币: 269
活跃值: (25)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
对于加载后自删除的驱动,在他加载时把驱动文件转储出来就行了,拿ida看内存dump多费劲~

NTSTATUS
	FakeNtCreateSection(
	OUT PHANDLE  SectionHandle,
	IN ACCESS_MASK  DesiredAccess,
	IN POBJECT_ATTRIBUTES  ObjectAttributes,
	IN PLARGE_INTEGER  SectionSize  OPTIONAL,
	IN ULONG  Protect,
	IN ULONG  Attributes,
	IN HANDLE  FileHandle)
{

	state = ObReferenceObjectByHandle(FileHandle,
		FILE_ALL_ACCESS,
		*IoFileObjectType,
		KernelMode,
		(PVOID*)&pFileObj,
		NULL);

	if (NT_SUCCESS(state))
	{
		

		if ( Protect == PAGE_EXECUTE 
			&& Attributes == SEC_IMAGE 
			&& (int)FileHandle>= 0x80000000 )
		{

			state = GetFileFullPathByFileObj(pFileObj,szPath);
			if (!NT_SUCCESS(state))
			{
				goto pass;
			}
			//转储驱动文件
			DumpSysFile(szPath);
		}
		
		ObDereferenceObject(pFileObj);

	}
pass:
	xxxx

}
2012-5-4 14:50
0
雪    币: 862
活跃值: (329)
能力值: ( LV9,RANK:165 )
在线值:
发帖
回帖
粉丝
5
嘿嘿,我一般拦截驱动加载,直接资源管理器拷出来
2012-5-4 17:24
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
6
又学一招!!
2012-5-4 18:12
0
雪    币: 106
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
lm xxxxx --> get imagebase

ida --> edit --> segments --> rebase program --> modify imagebase --> ok
2012-5-4 18:13
0
雪    币: 862
活跃值: (329)
能力值: ( LV9,RANK:165 )
在线值:
发帖
回帖
粉丝
8
感谢楼上,ida我还是初学啊……
2012-5-4 18:23
0
雪    币: 1753
活跃值: (885)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
9
修改imagebase
这个还确实学了一招·~
2012-8-5 13:40
0
游客
登录 | 注册 方可回帖
返回
//