Netsh获取WIFI密码SSID空格问题

VSole2023-10-12 10:26:53

0x00 前言

这篇记录的是我在执行“获取所有连接过的Wi-Fi密码”命令时发现的一个问题,搜了半天没找到解决方法,虽然有其他可替代工具,但还是想自己研究下。

强迫症犯了,不解决难受!!!

0x01 代码理解

获取所有连接过的Wi-Fi密码命令如下,其作用是列举并显示所有Wi-Fi配置文件的名称和密码,下图为该命令的详细解释(来自AI解答),说的已经很清楚了。

for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear

0x02 问题简述

我们在执行这条命令时发现有一个之前连过的热点Wi-Fi只找到配置文件,但是并没有获取到密码,提示:系统上没有此类无线接口

“Administrator”的 iPhone

就这个Wi-Fi不行,猜测大概率是因为这个Wi-Fi的SSID名称中存在空格或大写双引号的问题,在Windows命令行下只要有空格都得放“双引号”里才行。

注:这里说的命令行有空格主要指的是执行命令中的路径和要提取的某些字符中存在空格等情况,而不是所有带空格命令,如:net user、qery user等。

不加双引号失败:

netsh wlan show profiles “Administrator”的 iPhone

加了双引号成功:

netsh wlan show profiles "“Administrator”的 iPhone"

0x03 简单测试

我们用双引号将%j引起来输出看下,可以看到加双引号后输出的SSID名称左边会多出个空格,所以我们在前边或后边即使用双引号将%j引起来都不行,如何解决呢?

for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo "%j" | findstr -i -v echo | netsh wlan show profiles "%j" key=clear

0x04 解决方案

多次测试后确定是Wi-Fi的SSID名称空格问题,知道了问题原因就好解决了。

我们只需要再加1个For先处理SSID名称左边的空格,然后再用双引号将第2个for的%s引起来即可。

最终测试的命令如下:

for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | for /f "tokens=*" %s in ("%j") do @echo %s

for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | for /f "tokens=*" %s in ("%j") do @echo %s | netsh wlan show profiles "%s" key=clear

如果我们要将这个命令集成到CobaltStrike插件使用,还得注意要对该命令中的双引号使用\反斜杠进行转义下,如:\"%s\",否则可能无法识别该命令。

for /f \"skip=9 tokens=1,2 delims=:\" %i in ('netsh wlan show profiles') do @echo %j | for /f \"tokens=*\" %s in (\"%j\") do @echo %s | netsh wlan show profiles \"%s\" key=clear

0x05 文末总结

“Administrator”的 iPhone 像这样命名的Wi-Fi还是很少,所以影响并不是很大,但如果是带有空格的Wi-Fi就不能直接用网上这条命令获取密码,这时可以用我们修改好的这条命令来获取密码,也可以用其他工具。

https://github.com/r3nhat/SharpWifiGrabber

无线局域网netsh
本作品采用《CC 协议》,转载必须注明作者和本文链接
目录 1. Nmap (Network Mapper) 网络映射器 2. Nessus 3. Nikto 4. Kismet 5. NetStumbler 6. Acunetix 7. Netsparker 网络火花 8. Intruder 9. Nmap 10. Metasploit
网络安全专家,不是你认为的那种搞破坏的 “黑客”。它在数据流量的帮助下被动识别网络,收集数据包并检测非信标和隐藏网络。Kismet 基本上是一个嗅探器和无线网络检测器,可与其他无线网卡配合使用并支持原始监控模式。Intruder 承担了漏洞管理中的大部分繁重工作,并提供了 9000 多项安全检查。Metasploit 面向渗透测试,网络安全专家可针对远程目标开发和执行漏洞利用代码。
网络安全专家,不是你认为的那种搞破坏的“黑客”。Nmap 基本上是一个网络安全映射器,能够发现网络上的服务和主机,从而创建网络映射。它在数据流量的帮助下被动识别网络,收集数据包并检测非信标和隐藏网络。Kismet 基本上是一个嗅探器和无线网络检测器,可与其他无线网卡配合使用并支持原始监控模式。Intruder 承担了漏洞管理中的大部分繁重工作,并提供了 9000 多项安全检查。Metasploit 面向渗透测试,网络安全专家可针对远程目标开发和执行漏洞利用代码。
如今,许多企业依赖这种道德黑客工具更有力地保护数据免受各种攻击。可以在短短24小时内扫描1000多个Web应用程序。自动检测URL重写规则和自定义404错误页面。可以检查服务器并检测过时版本或特定版本存在的问题。根据上下文确定处理结果的优先级。能够执行字典攻击。可以用于在网络内执行横向移动,以访问受限制的数据。
100 个网络基础知识普及,看完成半个网络高手!
100 个网络基础知识普及,看完成半个网络高手!
UDP版本将会在收到UDP包后回应含有垃圾字符的包。伪造两个chargen服务器之间的UDP包。入侵者寻找SMTP服务器是为了传递他们的SPAM。客户端向68端口广播请求配置,服务器向67端口广播回应请求。POP3服务有许多公认的弱点。关于用户名和密码交 换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误。这将会停止缓慢的连接。
在网络技术中,端口一般有两种含义: (1)硬件设备中的端口TCP/IP协议中的端口
VSole
网络安全专家