前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Netsh获取WIFI密码SSID空格问题

Netsh获取WIFI密码SSID空格问题

作者头像
潇湘信安
发布2023-10-19 15:11:12
发布2023-10-19 15:11:12
40900
代码可运行
举报
文章被收录于专栏:潇湘信安潇湘信安
运行总次数:0
代码可运行

声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

0x00 前言

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

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

0x01 代码理解

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

代码语言:javascript
代码运行次数:0
复制
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只找到配置文件,但是并没有获取到密码,提示:系统上没有此类无线接口。

代码语言:javascript
代码运行次数:0
复制
“Administrator”的 iPhone

就这个Wi-Fi不行,猜测大概率是因为这个Wi-Fi的SSID名称中存在空格或大写双引号的问题,在Windows命令行下只要有空格都得放“双引号”里才行。 注:这里说的命令行有空格主要指的是执行命令中的路径和要提取的某些字符中存在空格等情况,而不是所有带空格命令,如:net user、qery user等。

不加双引号失败:

代码语言:javascript
代码运行次数:0
复制
netsh wlan show profiles “Administrator”的 iPhone

加了双引号成功:

代码语言:javascript
代码运行次数:0
复制
netsh wlan show profiles "“Administrator”的 iPhone"

0x03 简单测试

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

代码语言:javascript
代码运行次数:0
复制
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引起来即可。

最终测试的命令如下:

代码语言:javascript
代码运行次数:0
复制
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
代码语言:javascript
代码运行次数:0
复制
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\",否则可能无法识别该命令。

代码语言:javascript
代码运行次数:0
复制
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就不能直接用网上这条命令获取密码,这时可以用我们修改好的这条命令来获取密码,也可以用其他工具。

代码语言:javascript
代码运行次数:0
复制
https://github.com/r3nhat/SharpWifiGrabber
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档