免杀之: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. 【每日一题】2022年2月10日-NC160 二分查找-I

    描述请实现无重复数字的升序数组的二分查找 给定一个 元素升序的.无重复数字的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标(下标 ...

  2. Python数据类型+运算符

    Python基础数据类型 上期练习讲解 # 练习一.想办法打印出jason l1 = [11, 22, 'kevin', ['tony', 'jerry', [123, 456, 'jason'] ] ...

  3. [数学建模]层次分析法AHP

    评价类问题. 问题: ① 评价的目标? ② 可选的方案? ③ 评价的指标? 分层 目标层.准则层.方案层 层次分析法可分为四个步骤建立: 第一步:标度确定和构造判断矩阵: 第二步:特征向量,特征根计算 ...

  4. DenseNet 论文解读

    目录 目录 摘要 网络结构 优点 代码 问题 参考资料 摘要 ResNet 的工作表面,只要建立前面层和后面层之间的"短路连接"(shortcut),就能有助于训练过程中梯度的反向 ...

  5. uniapp 微信小程序 改变头部的信号、时间、电池显示颜色

    修改前 修改后 修改方法:"navigationBarTextStyle":"white"

  6. Vue3 企业级优雅实战 - 组件库框架 - 9 实现组件库 cli - 上

    上文搭建了组件库 cli 的基础架子,实现了创建组件时的用户交互,但遗留了 cli/src/command/create-component.ts 中的 createNewComponent 函数,该 ...

  7. 避免用Apache Beanutils进行属性的copy。why?让我们一起一探究竟

    在实际的项目开发中,对象间赋值普遍存在,随着双十一.秒杀等电商过程愈加复杂,数据量也在不断攀升,效率问题,浮出水面. 问:如果是你来写对象间赋值的代码,你会怎么做? 答:想都不用想,直接代码走起来,g ...

  8. (15)go-micro微服务main.go开发

    目录 一 导包 二 配置中心 三 注册中心 四 zap日志初始化 五 初始化Mysql数据库 六 初始化Redis连接 七 注册服务 八 初始化服务 九 注册 handle 十 启动服务 十一 mai ...

  9. NuxtJS踩坑日记,一步一步爬出我自己挖的坑。

    NuxtJS    2 errors and 2 warnings potentially fixable with the `--fix` option. 第二种报错 Error: No build ...

  10. three.js一步一步来--如何画出一个转动的正方体

    基础知识--正方体代码如下 <template> <div style="width:1000px; height:800px"> <h1>正方 ...