渗透技巧——利用PDF文件获取Net-NTLM hash

访客4年前黑客资讯501

  渗透技巧——利用PDF文件获取Net-NTLM hash

  今年4月,来自CheckPoint的Assaf Baharav公开了一个 *** ,利用PDF文件的正常功能够窃取Windows系统的NTLM Hash。

  具体的说,当用户使用PDF阅读器打开一份恶意的PDF文档,该PDF会向远程 *** B服务器发出请求,如果该远程 *** B服务器对数据包进行抓取,就能够获得用户Windows系统的Net NTLM Hash,通过进一步破解就有可能获得用户系统的明文密码。

  然而Microsoft、Adobe和FoxIT对此没有进行针对性的修复。

  这个利用 *** 成功的条件有哪些?没有修复的原因又是什么呢?

  本文将要站在技术研究的角度进行介绍

  本文将要介绍以下内容:

  原理和利用思路

  测试POC,生成一个恶意PDF文件

  分析PDF文件格式

  编写脚本实现修改正常PDF文件

  开源代码

  参考资料:

  https://research.checkpoint.com/ntlm-credentials-theft-via-pdf-files/

  PDF规范允许为GoTobe和GoToR条目加载远程内容

  直观的理解:

  PDF文件可以添加一项功能,请求远程 *** B服务器的文件

  而我们知道,Windows系统下 *** B协议有一个特性:客户端在连接 *** B服务器时,默认先使用本机的用户名和密码hash尝试登录,通信协议默认为Net-NTLMv1或者Net-NTLMv2

  工具Hashcat提供了字典和暴力破解两种 *** 来还原Net-NTLMv1和Net-NTLMv2协议中的明文密码

  只要在 *** B服务器上进行抓包,提取关键数据,就能够获得Hashcat需要的参数,尝试破解

  抓包可选择WireShark,对获得的pcap包进行解析,提取关键数据。如果使用Responder可自动提取出关键数据。

  之前写过的相关文章:

  《Windows下的密码hash——NTLM hash和Net-NTLM hash介绍》

  《渗透技巧——利用netsh抓取连接文件服务器的NTLMv2 Hash》

  《渗透技巧——利用图标文件获取连接文件服务器的NTLMv2 Hash》

  《Windows下的密码hash——Net-NTLMv1介绍》

  类似的利用思路:

  可参考以下文章:

  https://osandamalith.com/2017/03/24/places-of-interest-in-stealing-netntlm-hashes/

  介绍了多种文件格式的利用 *** https://www.secpulse.com/archives/71359.html

  构造一份特殊的PDF文档,请求 *** B服务器的一份文件

  在 *** B服务器上抓包

  用户使用PDF阅读器打开PDF文档时,Windows系统将当前用户的Net NTLM Hash发送到 *** B服务器

   *** B服务器提取出Net NTLM Hash,使用Hashcat进行破解

  还原出用户的明文密码

  根据用户的明文密码尝试进一步利用

  Assaf Baharav在他的文章中已经公开了POC,如下图

  12.png

  注:

  图片引用自https://research.checkpoint.com/ntlm-credentials-theft-via-pdf-files/

  如果想要直接进行测试,可参考Deepu TV的POC,地址如下:

  https://github.com/deepzec/Bad-Pdf

  Client:

  IP: 192.168.62.135

  OS: Win7 x86

   *** B Server:

  IP: 192.168.62.139

  OS: Win8 x86

  开放共享文件夹: test

  1、使用Bad-Pdf生成PDF文件

  本次测试对Bad-Pdf.py做部分修改,不执行Responder

  设置host IP:

  协议选择

  如下图

  123.png

  生成测试PDF文件

  2、 *** BServer进行抓包

  开启Wireshark

  3、Clinet使用Adobe Reader打开badpdf.pdf

  4、查看Wireshark,成功获得Net NTLM Hash的数据包

  如下图

  1234.png

  参考代码:

  https://github.com/deepzec/Bad-Pdf/blob/master/badpdf.py

  Assaf Baharav的POC是在脚本中写好了PDF文件的模板

  下面对其中的关键代码进行说明:

  (1)

  2 0 obj

  

  endobj

  表示对象的类型为页码

  表示页的对象是3

  表示页码数量为1

  (2)

  3 0 obj

  

  endobj

  表示父对象是2,同(1)中对应

  表示页面的显示大小(以象素为单位)

  (3)

  xref

  0 4

  0000000000 65535 f

  0000000015 00000 n

  0000000060 00000 n

  0000000111 00000 n

  表示这部分为交叉引用表

  表示下面各行所描述的对象号是从0开始,并且有4个对象

  固定格式,可看作文件头

  对应之一个对象,表示偏移地址(十进制);为5位产生号(更大为65535),0表明该对象未被修改过; n表示该对象在使用,如果为f,表示该对象为free

  (4)

  trailer

  

  startxref

  190

  ...中间省略的代码...

  trailer

  

  %%EOF

  表示文件尾trailer对象的开始

  表示该PDF文件的对象数目为4

  表示根对象的对象号为1

  表示交叉引用表的偏移地址为190

  表示文件结束标志

  (5)

  3 0 obj

  >

  endobj

  此处为关键代码,实现远程访问

  表示页面内容对象的对象号为4

  表示父对象是2

  在和直接为实现远程访问的代码

  对于PDF文件格式,不需要换行符,所以这段代码去掉换行符和空格,填入ServerIP后为

  接下来,尝试修改正常的文件,添加代码,实现远程访问功能

  使用工具生成的PDF文件一般都很大,分析格式不是很方便,这里提供一个python生成PDF的参考代码,地址如下:

  http://code.activestate.com/recipes/189858/

  输入txt文件,输出pdf文件

  1.txt的内容为:

  1234567

  cmd:

  recipe-189858-1.py 1.txt

  生成的pdf文件,文件大小1213 bytes

  查看1.txt.pdf的文件格式,如下图 https://www.secpulse.com/archives/71359.html

  123456.png

  在和直接添加代码

  注:

  需要十六进制编辑,使用文本编辑会导致PDF文件出错

  对PDF文件添加上述代码后,交叉引用表中对象的偏移位置会出现偏差,需要重新计算,修正偏移位置

  使用Adobe Reader打开修改后的文件, *** B服务器成功抓到Net NTLM Hash,修改成功

  经实际测试,不修正交叉引用表中对象的偏移位置,不会影响PDF文件的正常访问

  所以脚本编写上只需要定位后,添加访问远程文件的代码即可

  值得注意的是PDF文件的读取和写入需要以二进制格式

  实现代码已开源,可参考:

  https://github.com/3gstudent/Worse-PDF

  成功利用需要满足以下条件:

  用户使用PDF阅读器打开,如果使用IE或是Chrome打开PDF文件,并不会执行

  对于Windows系统,通过Net NTLM Hash破解出明文有一定难度

  即使破解出了明文,利用的效果也有限(例如普通用户的Windows系统很少开启远程登录功能)

  虽然微软并未针对这个利用 *** 进行针对性的修复,但在之前已经提供了一个防御的 *** ,参考地址:

  https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV170014

  但只支持Win10和Server2016

  本文测试了利用PDF文件获取Net-NTLM hash的 *** ,分析原理,根据PDF的文件格式尝试编写脚本实现修改正常的PDF文件,开源代码,总结利用条件。

  最后,个人也认为Microsoft没有必要对此进行针对性的修复。

  渗透技巧——利用PDF文件获取Net-NTLM hash

相关文章

黑客社会工程学攻击档案袋(社会工程学被黑客用于)-黑客入侵电脑是什么原理

黑客社会工程学攻击档案袋(社会工程学被黑客用于)-黑客入侵电脑是什么原理

黑客社会工程学攻击档案袋(社会工程学被黑客用于)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络...

百度SEO网站优化

网站优化即SEO,是SearchEngineOptimization英文的缩写,也叫搜索引擎优化。在国外,SEO已经是比较成熟的行业,而在国内还尚处于起步和发展阶段。SEO网站优化是一种利用长期总结出...

怎么才能查到我老婆的微信聊天内容

. 立春这个节气代表着时间又过了一年。是一年之中的第一个节气。时光轮回。冷冷的冬季就要过去了,去晒晒太阳,去踏踏青都是很好的选择。2020适合立春发朋友圈句子 立春带字配图文案说说大全。友谊长存带...

男友生日买什么意外惊喜最打动(必备这6种生日礼物最打动男友)

送礼物实际上便是情侣相互之间打牌的全过程,是顺水推舟,也是表述自身的爱好来感柒另一方,十分非常值得反复推敲。大部分女生在接到礼物以后主要表现得很展现自我和浮夸,男人则主要表现得沉稳和低沉。 但从心灵...

关于电影终结者和黑客帝国(终结者与黑客帝国)

关于电影终结者和黑客帝国(终结者与黑客帝国)

十大科幻电影?? 十大科幻电影推荐有:《钢铁侠》、《黑客帝国》、《侏罗纪公园》、《猩球崛起:黎明之战》、《机械姬》、《人工智能》、《星际穿越》、《E.T.外星人》、《回到未来》、《盗梦空间》。《火星任...

黑客工具箱手机版qq,2019美国黑客攻击中国网络,黑客密码找回多少钱

psrc : MultipleTypeField = (None)装备不妥是指维护和进犯才能之间的距离,缺少硬件驱动加密、认证过错、也有的kiosk形式维护不妥、衔接恣意设备的才能。 DarkHote...