免杀之: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. vulnhub靶场之HACKSUDO: THOR

    准备: 攻击机:虚拟机kali.本机win10. 靶机:hacksudo: Thor,下载地址:https://download.vulnhub.com/hacksudo/hacksudo---Tho ...

  2. 第三十节:fillder抓取APP数据之小程序

    1.下载fillder ,fillder官网:https://www.telerik.com/fiddler 2.安装好后设置fillder: 工具->选项,打开设置面板.选择HTTPS选项卡. ...

  3. MapStruct与lombok加载顺序问题与annotationProcessorPaths的关系?

    MapStruct是什么? MapStruct is a code generator that greatly simplifies the implementation of mappings b ...

  4. TypeScript 之 控制流分析(Control Flow Analysis)

    控制流分析(Control Flow Analysis) 描述: CFA 几乎总是采用联合,基于代码逻辑去减少联合里面的类型数量. 大多数时候,CFA 在自然的JavaScript布尔逻辑中工作,但是 ...

  5. Qt网络编程-书接上文,浅谈TCP文件收发,以及心跳包

    qt网络编程-书接上文,浅谈文件收发 上文Qt网络编程-从0到多线程编程中谈到 在qt中的qtcpsocket通讯的用法,接下来浅谈一下关于tcp通讯的实际应用,当然了由于是浅谈,也不能保证其功能的完 ...

  6. 从Qt到C#,通过COM组件达成跨语言跨平台链接,或者说从托管到非托管的思路

    从Qt到C#,通过COM组件达成跨语言跨平台链接,或者说从非托管到托管 写在前面 c#真的是一种非常蛋疼的语言,和别的语言兼容性差,界面开发效率也不是很高,但是胜在库功能强大,对windows的兼容好 ...

  7. python 之列表(list)处理

    列表(list) 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,一个列表中的数据类型可以各不相同,可以同时分别为整数.实数.字符串等基本类型,甚至是列表.元组.字典.集合以及其他自定 ...

  8. GeoLayout: Geometry Driven Room Layout Estimation Based on Depth Maps of Planes

    1. 论文简介 论文题目:GeoLayout: Geometry Driven Room Layout Estimation Based on Depth Maps of Planes Paper地址 ...

  9. 05.深入理解JMM和Happens-Before

    大家好,我是王有志. JMM都问啥? 最近沉迷P5R,所以写作的进度很不理想,但不得不说高卷杏YYDS.话不多说,开始今天的主题,JMM和Happens-Before. 关于它们的问题并不多,基本上只 ...

  10. spark任务报错java.io.IOException: Failed to send RPC xxxxxx to xxxx:xxx, but got no response. Marking as slave lost.

    ## 日志信息如下 ``` Attempted to get executor loss reason for executor id 17 at RPC address 192.168.48.172 ...