|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
进入安全模式,打开注册表,删除 SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\Explorer\\Run 下的键就可以了! |
|
[注意]新劳动法于今后发贴的问题
强力支持~~~~~! |
|
[讨论]从磁碟机里逆向出来的Debug权限提权代码……
好科普的代码!! |
|
[讨论]关于恢复内核函数
搜索特征码的方法示例如下: ULONG ntosknlBase; ULONG ntosknlEndAddr; //获取模块开始和结束地址 void GetKernelModuleBaseEnd() { NTSTATUS ntStatus; ULONG size; PULONG buf; PSYSTEM_MODULE_INFORMATION pSystemModule; ZwQuerySystemInformation(SystemModuleInformation, &size, 0, &size); if( NULL == (buf = (PULONG)ExAllocatePool(PagedPool, size)) ) { DbgPrint("failed alloc memory failed \n"); return ; } ntStatus = ZwQuerySystemInformation( SystemModuleInformation, buf, size , 0 ); if( !NT_SUCCESS(ntStatus) ) { DbgPrint("failed query\n"); return ; } pSystemModule = (PSYSTEM_MODULE_INFORMATION)(( PULONG )buf + 1); ntosknlBase = (ULONG)pSystemModule->Base; ntosknlEndAddr = (ULONG)pSystemModule->Base + (ULONG)pSystemModule->Size; ExFreePool(buf); } //通过内存搜索定位未导出的PspTerminateProcess地址 PVOID XPGetPspTerminateProcess() { ULONG i; ULONG retAddr; for( i=ntosknlBase; i<=ntosknlEndAddr; i++ ) { if ( (*((ULONG *)(i+ 0)) == 0x8b55ff8b ) && (*((ULONG *)(i+ 4)) == 0xa16456ec ) && (*((ULONG *)(i+ 8)) == 0x00000124 ) && (*((ULONG *)(i+12)) == 0x3b08758b ) ) { retAddr = i; DbgPrint("PspTerminateProcess() adress is (805c88e6):%x", retAddr); return (PVOID)retAddr; } } return NULL; } PHANDLE_TABLE pPspCidTable = NULL; 第二种方法的示例: //通过搜索PsLookupProces**yProcessId函数,获取PspCidTable的地址 ULONG GetPspCidTable() { PUCHAR Buff; PUCHAR p; UNICODE_STRING usPsLookup; ULONG pPspCidTable; RtlInitUnicodeString (&usPsLookup, L"PsLookupProces**yProcessId"); Buff = (PUCHAR)MmGetSystemRoutineAddress(&usPsLookup); for( p=Buff; p < Buff+PAGE_SIZE; p++ ) { if( MmIsAddressValid( (PVOID)p ) ) { if((*(PUSHORT)p == 0x35ff ) && (*(p+6) == 0xe8 )) { pPspCidTable = *(PULONG)( p + 2 ); break; } } } DbgPrint("PspCidTable(XPSP2:8055a560) = 0x%08X\n", pPspCidTable); return pPspCidTable ? pPspCidTable : 0; } |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
今天去看了网龙,环境果然很不错!没人顶,自己顶帖子了! |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
呵呵!That's OK! |
|
[注意]新举措
强烈支持!偶正要找工作啊! |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
//自己的ntddk.h中添加的代码: QueryDirectory //Parameters for IRP_MJ_DIRECTORY_CONTROL struct { ULONG Length; PUNICODE_STRING FileName; FILE_INFORMATION_CLASS POINTER_ALIGNMENT \ FileInformationClass; } QueryDirectory; 详情请用WinDbg查看IO_STACK_LOCATION 结构。 |
|
[原创]去除花指令的代码
好好学习!。。。。。 |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
我的程序采用硬编码编程兼容性很差,我在XPSP2下是: kd> u NtOpenProcess nt!NtOpenProcess: 805c0e1e 68c4000000 push 0C4h 805c0e23 6890aa4d80 push offset nt!FsRtlLegalAnsiCharacterArray+0x1ff0 (804daa90) 805c0e28 e8d374f7ff call nt!wctomb+0x45 (80538300) 在不同系统或不同内核文件下函数前面几个字节就变了,应该写个模块直接从内核中读取函数前面几个字节! |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
有哪位高手修改好驱动了吗? 我在XPSP2下用INSTDRV.EXE能成功加载驱动,但在卸载时,却蓝屏了! 不对SSDT HOOK ,只hook shadow,驱动能够顺利加载和卸载,估计是SSDT hooK方面出问题了! 对于SSDT HOOK, 首先恢复SSDT HOOK,然后再HOOK, 每隔几ms重新HOOK。 在没有装杀毒软件的系统中也不能正常卸载! 目前也在加紧修改中测试中!!!! |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
热烈欢迎自己修改程序,加强稳定性和增加功能! 修改后也不要忘了分享一下哦! |
|
[原创]网龙公司高薪诚聘:反病毒工程师
呵呵!也是我向往的地方! |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
只在XPSP2下测试过,用IDA反汇编一下user32.dll、gdi32.dll, 看看shadow Hook的函数索引号是否和XPSP2下的相同? |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
HookOfZwOpenProcess这样写主要为了对付inline hook! |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
ROOTKIT主要看是用在哪些地方啊!有时也是很多帮助的!这里只是为了学习WINDOWS底层HOOK编程! |
|
[原创]分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
欢迎对程序提出意见, 多多交流! |
|
|
|
[求助]现在有方法能过最新版卡巴8的主动防御么
找突破口不容易了!!! |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值