免杀之:Mimikatz 免杀过杀软

Mimikatz是一款能够从Windows认证(LSASS)的进程中获取内存,并且获取名闻密码和NTLM哈希值的工具,攻击者可以利用这种功能漫游内网。也可以通过明文密码或者hash值进行提权。这款工具机器出名所以被查杀的几率极高。可以通过Github上开放的Mimikatz源码对其源码进行免杀从而bypass AV。

对Mimikatz进行源码免杀时,源码免杀只需要定位源码中的特征代码进行修改就可以达到预期的免杀效果。一般的定位特征码分为三种:

  1. 定位到代码上;
  2. 定位到字符串上;
  3. 定位到输入表上。

学习下思路即可

1 环境准备

  1. Mimikatz源码:gentilkiwi/mimikatz: A little tool to play with Windows security (github.com)
  2. Visual Studio 2012:ed2k://|file|cn_visual_studio_ultimate_2012_x86_dvd_920954.iso|1643802624|A3058CE4F2AD7035DB6E67586D07AAA5|/

2 处理过程

2.1 生成原始的Mimikatz程序

  1. 打开Mimikatz源码,选择:mimikatz.sln,使用Visual Studio 2012打开

  2. 右键Mimikatz对象,选择:生成[默认是生成32位程序]

    1. 报错如下:

      1>------ 已启动生成: 项目: mimikatz, 配置: Release Win32 ------
      1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v110_xp (Platform Toolset = 'v110_xp') cannot be found. To build using the v110_xp build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v110_xp to build using the v110_xp build tools.
      ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
    2. 解决方案:右键Mimikatz对象,选择:属性-->配置属性-->常规-->平台工具集:修改v110_xpVisual Studio 2012 (v110)

  3. 右键点击mimikatz-->属性-->配置属性-->C/C++-->常规-->将警告等级:关闭所有警告-->将警告视为错误:选否

  4. 生成x64位的程序:右键Mimikatz对象,选择:属性-->配置管理器-->mimikatz:选择x64

  5. 可以看到此时WD是对Mimikatz查杀的

2.2 定位到代码或字符串上特征绕过

mimikatz源码免杀初探 - 先知社区 (aliyun.com)

  1. 将项目内的所有的mimikatz字符替换为fcareykiwi:点击编辑-->查找和替换-->填写替换的字符后选择全部替换。

  2. 修改项目文件名,文件夹名:mimikatz字符替换为fcareykiwi

  3. 测试下,发现仅仅只是替换代码或字符,依然会被检测到

  4. 替换源文件中的图标,测试免杀,依然会被检测到

  5. 进一步修改文件描述信息,,依然会被检测到

  6. 删除文档中的注释信息,还是不行

2.3 定位特征码绕过

源码的字符串替换绕过一直被杀软查杀,于是尝试定位特征码绕过,有个缺点:

  • 会导致部分功能失效

2.3.1 准备软件

  1. VirTest
  2. 十六进制编辑器:如 010 Editor

2.3.2 分析mimikatz程序定位特征码

  • 有5个特征码

2.3.3 替换特征码

将定位的特征码替换为00,后保存

2.3.4 成功免杀

免杀之:Mimikatz 免杀过杀软,思路学习的更多相关文章

  1. Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结

    Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结 1. ,免杀技术的用途2 1.1. 病毒木马的编写2 1.2. 软件保护所用的加密产品(比如壳)中,有 ...

  2. Metasploit+python生成免杀exe过360杀毒

    Metasploit+python生成免杀exe过360杀毒 1在kali下生成一个反弹的msf的python脚本,命令如下: msfvenom -p windows/meterpreter/reve ...

  3. 免安裝、免設定的 Hadoop 開發環境 - cloudera 的 QuickStart VM

    cloudera 的 QuickStart VM,為一種免安裝.免設定 Linux 及 Hadoop,已幫你建好 CDH 5.x.Hadoop.Eclipse 的一個虛擬機環境.下載後解壓縮,可直接以 ...

  4. 免杀shellcode并绕过杀毒添加自启动

    https://www.wtfsec.org/posts/%E5%85%8D%E6%9D%80shellcode%E5%B9%B6%E7%BB%95%E8%BF%87%E6%9D%80%E6%AF%9 ...

  5. 在centos7上安装ClamAV杀毒,并杀毒(centos随机英文10字母)成功

    前言 上传文件的时候发现总是失败,查看top发现有个进程一直cpu占用80%以上,而且名称还是随机数.kill之后,一会儿又重新生成了.突然发现居然没有在服务端杀毒的经历.在此处补齐. 安装clama ...

  6. 免安装jdk 和 免安装tomcat

    免安装tomcat 运行的时候要执行免安装的 jdk,可以进行如下设置. 在 startup.bat 里加上这么一句, set "JAVA_HOME=C:\jdk1.6.0_43"

  7. ssh 制作免密登录(免密登录多台服务器)

    场景:服务器B (192.168.1.101)免密登录A(192.168.1.100)服务器 1.登录服务器B ①生产公钥 ssh-keygen -t rsa Enter file in which ...

  8. [CentOS7] ssh免密登录 scp免密传输

    我们采用RSA非对称加密算法,原理: 如果,A要和B通讯,则: (1). A通过RSA算法生成公钥(.pub)和私钥(公钥用于加密,私钥用于解密) (2). B将A的公钥文件(.pub)内容加入到au ...

  9. 【Linux】服务器间免密登录、免确认机器指纹

    1.生成密钥 ssh-keygen -t rsa -C "<填写自己方便识别的注释>" -b 4096  没什么问题就执行三次空格. 三次问题是1.填入生成密钥对的路径 ...

  10. CMD杀进程 例如:杀8080端口的进程

    首先:端口被占用的报错形式如下 说明8080端口被占用 解决方案一:查找pid,根据pid去任务管理器的进程中结束占用8080端口号的进程 1.首先按快捷键windows+R,在运行框里输入cmd,如 ...

随机推荐

  1. 数电第一周总结_by_yc

    数电第一周总结 重点:Verilog建模方式 结构级建模: 需基于电路原理图 module mux( input data0, input data1, input sel, output out); ...

  2. MySQL进阶实战6,缓存表、视图、计数器表

    一.缓存表和汇总表 有时提升性能最好的方法是在同一张表中保存衍生的冗余数据,有时候还需要创建一张完全独立的汇总表或缓存表. 缓存表用来存储那些获取很简单,但速度较慢的数据: 汇总表用来保存使用grou ...

  3. 用最少的代码打造一个Mini版的gRPC框架

    在<用最少的代码模拟gRPC四种消息交换模式>中,我使用很简单的代码模拟了gRPC四种消息交换模式(Unary.Client Streaming.Server Streaming和Dupl ...

  4. 如何通过C#合并Word文档?

    合并Word文档可以快速地将多份编辑好的文档合在一起,避免复制粘贴时遗漏内容,以及耗费不必要的时间,同时,也方便了人们阅读或者对其进行再次修改.例如,在我们进行团队作业的时候,每个人都会有不同的分工, ...

  5. python基础-常用内置包

      内置包是python自带的一些功能模块,有需求时可以在自己文件中直接导入使用. 1.datetime包   python中的时间包,可以在业务开发中辅助我们处理时间信息: # datetime可以 ...

  6. ArcObjects SDK开发 014 MapSurround和普通Element

    1.如何获取MapSurround 和获取MapFrame类似,如果你已经获取指北针.比例尺等对象,可以通过IGraphicsContainer的FindFrame函数获取.如果没有,则通过IGrap ...

  7. Python如何像awk一样分割字符串

    若你使用过 Shell 中的 awk 工具,会发现用它来分割字符串是非常方便的.特别是多个连续空格会被当做一个处理. [root@localhost ~]# cat demo.txt hello wo ...

  8. Spring IOC官方文档学习笔记(一)之IOC容器概述

    1.IOC容器简介 (1) org.springframework.beans 与 org.springframework.context 这两个包是Spring IOC容器的基础,在org.spri ...

  9. JavaScript 中如何拦截全局 Fetch API 的请求和响应?

    本文翻译自 Intercepting JavaScript Fetch API requests and responses 拦截器是可用于预处理或后处理 HTTP 请求的代码块,有助于全局错误处理. ...

  10. 数论专项复习(一)扩展欧几里得算法(exgcd)

    简介 扩展欧几里得算法(简称扩欧,exgcd),用来求下列方程的一组解: \[ax+by=(a,b) \] 算法介绍 1. 裴蜀定理 裴蜀定理(Bézout's lemma):若 \(a\in \ma ...