zoukankan      html  css  js  c++  java
  • Ladon免杀/.NET免杀/Exe2Ps1/Ps12Exe/Exe2PowerShell

    背景

    有很多人和我说exe被杀了怎么办?我问大家一句mimikaz被杀了你怎么办,是不是用它的PowerShell版或者转成其它格式来免,当然也可以直接修改源码免,但由于是公开的里面很多函数都被杀软盯得很死,加上很多人根本不是很懂代码,对一个公开并且很受欢迎的工具做源码免杀也是很花时间的。所以网上有不少免杀MZ的方法,EXE不能用时大家也会去用PowerShell版远程加载读取等,怎么到Ladon这你们就不知道怎么办了呢?不是一样的原理吗?难道是因为PS版体积较大?有些PY或GO写的工具先不说一般最小就2-3M,有些工具甚至几M甚至几十M也就一个功能你都肯传到目标,而那个功能Ladon也有甚至可能比它还好。Ladon就算是PowerShell版也不过2-3M,能为了一个功能上传几十M,怎么就不能传2-3M的PS版Ladon?难道打算上传一堆几M或十几M的工具到目标?不是吧,阿SIR

    由于PowerShell版我也很少用到,所以Github上只转到6.6版本,其它版本大家可以按需转

    https://github.com/k8gege/PowerLadon (9.23测试,世界杀软网全免,本地卡巴全免)

    免杀原理

    由于很多杀软对于powershell脚本的查杀能力比较差,所以可以将.NET程序转成PowerShell脚本,当然并非是反编译EXE再将代码转成PowerShell,这种方法一是难度大又麻烦吃力不讨好,PowerShell的兼容性我想大家应该深受其害,有些函数在C#里可用,但转成powershell可能兼容问题,所以最佳方案是转成BYTE、HEX、BASE64、ASCII、AES等(当初Python版的SCRUN免杀CS的套路在任何语言都可用),比如说大家可能看到网上有利用GO语言AES加密免杀CS等文章,这些方法我说过几次了?所以再次强调一下要懂得举一反三,你可以百度搜索C语言AES算法,然后加密CS,或者其它语言也可以。

    内存加载

    首先因为大部分杀软只是把Powershell当成文本来样,目前应该没几个可以模拟PowerShell或Hook查看最终执行的杀软。所以稍威加密下我们的程序,杀软由于扫描文本未发现恶意字符串或特定函数,那么基本上就不杀了,静态全免,但是如果你再把加密数据还原成EXE,那它肯定又杀了,所以我们得直接内存加载,方法很多,我们用.NET自带函数反射加载执行程序即可,PowerShelle写法[Reflection.Assembly]::Load,再通过反射调用传参。

    Ladon免杀

    首先将需要转的exe直接拖放至文本框,如Ladon.exe,点击EXE->PowerShell会生成一个脚本。
    image

    源码自行反编译此程序查看即可(注意反编译和逆向是两个概念,点个按钮反编译没任何难度 )

    复制红线所示@和@里的字符串很长可能有2M
    image

    替换Ladon6.6.ps1里面那个很长的字符串,注意长度那里也要替换如637440替换成1708544
    image

    接下来把新版本的新增的功能参数添加上去即可,看模块对应参数个数来加就可以了
    image

    EXE转PowerShell

    上面教大家转Ladon,但是其它的EXE或DLL怎么用?以数学加法运算为例子

    namespace Math
    {
    public class Methods
    {
    public Methods()
    {
    }
    public static int add(int a, int b)
    {
    return a+b;
    }

    public int sub(int a, int b)
    {
    return a-b;
    }
    }
    }

    命令: csc.exe /target:library Math.cs
    编译以上代码得到DLL,使用LadonGui一键转换得到PS1,在结尾处追加调用方法

    其它程序同理,你写的EXE/DLL是什么命名空间、什么方法对应添加到最后一行
    如图计算500+20的结果
    image

    为什么换其它语言就免杀?

    由于语言结构特性等,特别新出的语言,杀软要查杀它前提是不是得去研究那门语言的结构特征,这就是为什么同样的方法换个语言就

    九种混淆方法

    Ladon九种PowerShell命令混淆加密免杀方法
    http://k8gege.org/Ladon/PowershellEncode.html

    Ladon下载

    历史版本: https://github.com/k8gege/Ladon/releases
    7.0版本:http://k8gege.org/Download
    7.5版本:K8小密圈

  • 相关阅读:
    C++:怎样把一个int转成4个字节?
    安装虚拟机
    [Flux] 1. Development Environment Setup
    [CSS] Animating SVG
    [Node.js] Scraping Dynamic JavaScript Websites with Nightmare
    [React] React Fundamentals: Integrating Components with D3 and AngularJS
    [React] React Fundamentals: with-addons
    [JavaScript] Array.prototype.reduce in JavaScript by example
    [CSS] @keyframes
    [CSS] Transforms
  • 原文地址:https://www.cnblogs.com/k8gege/p/13917186.html
Copyright © 2011-2022 走看看