动态获取API执行shelcode

Author:ILU

前言

上一篇文章讲了如何从进程的TEB获取PEB,然后再从PEB中的LDR中的加载时的模块链表获取指定模块(Kernel32.dll),并经过断链的方式躲藏kernel32.dll。但是这里的躲藏并不是真正躲藏dll模块,只是在某些状况下看不到,实践上还是能够查得到的。上一篇文章学的过程真实是太久了,揣摩了很久,好在也是整出来了。

本篇文章应用PEB获取到的模块基址,然后一步一步的找到对应的函数,然后再应用函数执行shellcode。

留意:编译时选择x86,x64代码还需求做一些简单的修正。

正题

在这里的话我们要理解一下PE相关的学问。

什么是PE文件?

PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)。(摘自百度百科)

PE文件的构造

这里简单的以一张图的方式去理解,细节后面渐渐讲。

PE文件的各个局部都有其对应的构造体,这是微软定义好的。我们能够经过构造体指针,获取到对应的值,同时我们用读取进制的软件(比方:HXD)翻开PE文件,也够经过这些构造体一个一个的找出其对应的数值。

忽然发现,这东西仿佛一时半会讲不分明,触及的学问点太多了。

DOS头部
typedef struct _IMAGE_DOS_HEADER {      // DOS .EXE header
    WORD   e_magic;                     // MZ头
    WORD   e_cblp;                      // Bytes on last page of file
    WORD   e_cp;                        // Pages in file
    WORD   e_crlc;                      // Relocations
    WORD   e_cparhdr;                   // Size of header in paragraphs
    WORD   e_minalloc;                  // Minimum extra paragraphs needed
    WORD   e_maxalloc;                  // Maximum extra paragraphs needed
    WORD   e_ss;                        // Initial (relative) SS value
    WORD   e_sp;                        // Initial SP value
    WORD   e_csum;                      // Checksum
    WORD   e_ip;                        // Initial IP value
    WORD   e_cs;                        // Initial (relative) CS value
    WORD   e_lfarlc;                    // File address of relocation table
    WORD   e_ovno;                      // Overlay number
    WORD   e_res[4];                    // Reserved words
    WORD   e_oemid;                     // OEM identifier (for e_oeminfo)
    WORD   e_oeminfo;                   // OEM information; e_oemid specific
    WORD   e_res2[10];                  // Reserved words
    LONG   e_lfanew;                    // 文件头地址
  } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享
评论 共1条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像场角0