0x00 前言

      在阅读且实验完wilsonlee1师傅的文章利用netsh抓取连接文件服务器的NTLMv2 Hash后,我发现了文章中一些没有提及的点以及PY脚本的编写"BUG",因此打算自己重新做一套从0到1完整的总结。

      在这里我的标题是《监听445端口抓数据》,而原文是《利用netsh抓取连接文件服务器的NTLMv2 Hash》。w师傅在文章中主要讲述的针对目标是”文件服务器“,这是正确的。

      但有时候可能会让实践少的同行陷入一种拿到了文件服务器后才用这种方法的错觉。那样想会误导的,在笔者实战遇到小型局域网的时候。往往就是工作组之间互相分享,大家都是“文件服务器”所以我的标题改成了《监听445端口抓取数据》

适用场景:
      当我们控制内网一台服务器以后,通过监听它自己的445共享文件端口,可以获取没有认证SMB服务机器的凭证信息。如果对方机器和文件服务器445连接还保持着,那样是不会进行NTLM认证的。只有没认证过的机器(亦或是认证过期)访问文件服务器才会抓取到。

      借用w师傅的话就是获得了内网一个文件服务器权限,如何获得更多用户口令?

0x01 简介

在文中我会根据自己的理解介绍如下内容:

  • windows平台中自带无需安装第三方依赖库进行网络抓包的方法

  • 将数据包转换成pcap格式

  • 使用Wireshark对数据包进行分析

  • 修改原作者py提取出NTLMv2 Hash

  • Hashcat对NTLMv2 Hash破解

0x02 解决思路

      在SMB认证中我们了解到,当我们访问一个目标时会主动向对方发送自己的用户名和NTLM v2\v1 进行认证。我们只需要抓取445端口的相关认证信息即可,但是这里有一个问题。就是之前认证成功的用户再来访问我们的时候是不会再次认证的,所以我们获取不了。在第一时间只能获取没有登陆过本机SMB服务的认证信息,或者认证时间过程需要重新认证的这种!

0x03 windows平台自带网络抓包方法

win系统中自带的netsh中的trace功能能够实现不安装任何第三方依赖库,在命令行下进行抓包!

官方说明文档!

https://technet.microsoft.com/en-us/library/dd878517%28v=ws.10%29.aspx

适用情况:

  • 需要管理员权限

  • 支持Win7、Server2008R2及以后的系统,但不支持Server2008

1.开启记录功能

netsh trace start capture=yes persistent=yes traceFile="c:\\test\\snmp1.etl" overwrite=yes correlation=no protocol=tcp ipv4.address=192.168.20.1 keywords=ut:authentication

pass:切记"ipv4.address="改成本机IP,不然什么都抓取不到!!!

参数说明:

- capture=yes: 开启抓包功能
- persistent=yes: 系统重启不关闭抓包功能,只能通过Netsh trace stop关闭
- traceFile: 指定保存记录文件的路径
点击收藏 | 6 关注 | 3
登录 后跟帖